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理解不了
页: 1 [2] 3
查看完整版本: 请教usb_probe函数