bbxyliyang
发表于 2012-05-28 17:57
回复 9# xxw19840406
由于我是今年毕业,以前也没做过驱动,进公司第一个项目就是usb,找了好多资料看了,现在还是一头雾水,请问usb驱动应该怎么学?都两个月过去了,还没什么进展?在没进展的走人了……
xxw19840406
发表于 2012-05-28 18:36
-19是ENODEV 我对USB驱动这块也不是特熟
没有具体做过什么工作 你还得自己看看具体是哪个地方返回的这个了
确认下设备有没有问题这个驱动不太可能有问题的
bbxyliyang
发表于 2012-05-29 17:01
回复 12# xxw19840406
当我插入usb外设时,系统提示有检测到外设了,但是无法正常挂载usb外设。下面是插入usb外设时,系统的打印:
usb 1-1: new high speed USB device using musb_hdrc and address 5
usb 1-1: device descriptor read/64, error -19
usb 1-1: device not accepting address 5, error -19
hub 1-0:1.0: unable to enumerate USB device on port 1
请教我该从那下手?谢谢
xxw19840406
发表于 2012-05-29 17:48
从Log来看是读取描述性失败
查查硬件看吧,供电正不正常,稳不稳定
还有就是USB设备有没有问题换一个设备插入看看
bbxyliyang
发表于 2012-05-30 10:56
回复 14# xxw19840406
外设是没问题的,是一个有源hub。
bbxyliyang
发表于 2012-05-30 19:04
回复 14# xxw19840406
那个-19是这个函数返回,r = usb_control_msg(udev, usb_rcvaddr0pipe(),
USB_REQ_GET_DESCRIPTOR, USB_DIR_IN,
USB_DT_DEVICE << 8, 0,
buf, GET_DESCRIPTOR_BUFSIZE,
(i?initial_descriptor_timeout:100)); 我该这么跟踪?谢谢……
hongjiujing
发表于 2012-05-30 19:18
回复 10# bbxyliyang
你的设备或者板子,上面的USB hub供电有问题吗?先检查下HUB的供电,按道理说,应该没有问题的。HUB的初始化属于协议层做的。
hongjiujing
发表于 2012-05-30 19:21
回复 16# bbxyliyang
usb_control_msg(udev, usb_rcvaddr0pipe(),
USB_REQ_GET_DESCRIPTOR, USB_DIR_IN,
USB_DT_DEVICE << 8, 0,
buf, GET_DESCRIPTOR_BUFSIZE,
(i?initial_descriptor_timeout:100));
这是一个控制传输,获取USB设备的描述符,HOST发Setup包给Device,Device没有回应,说明物理层通信有问题。当然了,你的USB控制器驱动有没有验证过是OK的?
如果USB控制器工作正常,查看USB设备的硬件布线和供电。
如果有时间,可以看看USB那些事儿或者USB协议。
bbxyliyang
发表于 2012-05-30 19:49
回复 18# hongjiujing
返回-19,意思是Device没有回应,这是硬件问题吗?
bbxyliyang
发表于 2012-05-30 19:52
回复 18# hongjiujing
usb那些事,我也在看,看过后还是一头雾水,我是刚做驱动,好多不会……对usb理解不了