在usb驱动开发中遇到了一个问题;使用的是ISP1561 usb HOST CONTROLLER,根据ehci1.0规范,对于usb Control Transfer和 BULK Transfer使用Asynchronous Schedule方式,但通过代码跟踪发现, 在linux的 usb/host/ehci-q.c中的qh_link_async()中通过 cmd |= CMD_ASE | CMD_RUN; writel (cmd, &ehci->regs->command); 使能Asynchronous Schedule后感觉Asynchronous Schedule并没有起作用,不知道...
by linux_develop_2 - 驱动开发 - 2009-12-05 13:05:46 阅读(2642) 回复(0)
http://blog.csdn.net/lm_tom/archive/2007/09/09/1778031.aspx understanding linux usb ehci device driver(1) [email=lm_tom@163.com]lm_tom@163.com[/email] 大概一年多前,曾经在linux下调试过VIA的一款ehci host controller,当时受项目进度以及知识积累所限,未能深入理解ehci以及linux下的软件层面实现. 随着个人usb技术的不断积累, 近期在工作之余, 写了一些对ehci以及linux下实现的理解. 选择ehci作为一个...
http://blog.csdn.net/lm_tom/archive/2007/09/22/1795931.aspx understanding linux usb ehci device driver(2) [email=lm_tom@163.com]lm_tom@163.com[/email] 2. linux ehci device driver(ehci hcd) 2.1. linux usb subsystem arch overview(host) 2.2. ehci_hcd 2.3. ehci 实现的接口 2.3.1. ehci_pci_setup() (hc_driver->reset) 2.3.2. ehci_run() (hc_driver->start) 2.3.3. ehci_stop() (hc_driver->stop) 2.3.4. e...
在访问usb的时候,提示如下错误打印信息,麻烦帮我看下,谢谢! [ 74.820000] ehci ehci: fatal command 010028 (park)=0 ithresh=1 Async period=256 HALT [ 74.820000] ehci ehci: fatal status 49088 Async Halt FLR [ 74.820000] ehci ehci: fatal error [ 74.820000] ehci ehci: reset command 01002a (park)=0 ithresh=1 Async period=256 Reset HALT [ 74.820000] ehci ehci: HC died; cleaning up [ 74.830000...
将usb数据线插上找不到硬件 查找出错原因: shell>cat /var/log/dmesg.log |grep usb shell>lsmod shell>lspci -v | grep usb 发现如下的提示 device descriptor read/64, error new high speed usb device using ehci_hcd and address 解决办法: 1、卸载ehci_hcd 模块,命令 rmmod ehci_hcd 2、加载uhci_hcd 模块,命令 modprobe uhci_hcd 然后,插上U盘试试,若U盘不自动出来,用命令fdisk -l 看看是否出现相关的设备 还不行...
最近碰到麻烦,当我把ehci选上的话,我的产品就出现问题,去掉之后就没有问题了。 听别人说ehci在Kernel2.4上有问题,不知道问题到底出在哪里?谢谢帮忙!!谢谢
最近碰到麻烦,当我把ehci选上的话,我的产品就出现问题,去掉之后就没有问题了。 听别人说ehci在Kernel2.4上有问题,不知道问题到底出在哪里?谢谢帮忙!!谢谢
http://dev.firnow.com/course/6_system/linux/Linuxjs/200883/134587.html
何谓OHCI、UHCI、ehci
www.firnow.com 时间&nbs...
各位好,本人正在做一个项目,是在一个16位OS中实现usb2.0驱动,用linux2.4的代码改写。因为是16位OS,内核代码段限制在64K,加入usb驱动后超出限制,因此我是在用户态写的usb驱动,没有采用中断方式,采用的查询方式判断ehci是否完成传输。 现在遇到这么个问题,前面dev、hub初始化成功,找到新插入port的dev。在set_address时,异步方式发送control urb。在向ehci命令寄存器写“CMD_ASE | CMD_RUN”后,循环查询ehci状态寄存器U...