at91rm9200的usb主机端不能正确识别接入设备的问题
我的9200的开发板上的usb接口,接u盘或者usb转串口线,系统都能认出并正确设置设备驱动,可是接一个usb modem就不能正常认出该设备了。报错信息如下:
~ # hub.c: USB new device connect on bus1/2, assigned device number 5
usb.c: invalid descriptor length of 0
usb.c: unable to get device 5 configuration (error=-22)
hub.c: USB new device connect on bus1/2, assigned device number 6
usb.c: invalid descriptor length of 0
usb.c: unable to get device 6 configuration (error=-22)
不过偶尔也能认出来。偶尔认出来的时候,提示descriptor length=18以及设备PID和VID。
另外,这个usb modem在windows pc上,操作系统是能认出来的。证明设备应该是没有问题的。
感觉是开发板和usb modem不能正常通信,有没有哪位哥们遇到过类似问题的啊,还请大侠们帮忙啊,是不是需要改开发板上的usb host驱动。谢谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
需要modem的usb设备驱动
谢谢楼上回答,不过没有设备驱动,如果正常的话应该也是能认出来的啊
没有人遇过类似的问题么
是的,modem属于serial这类的,但是可能你的modem不是很标准,出错的时候是在setup的时候出错,应该是confige的时候,你把描述符打印出来就知道了,不行就自己写一个modem的usb driver
设备驱动对不对我还没考虑呢,现在是怀疑usb host的驱动问题,因为host没有认出这个modem来。
你的设备驱动是官方提供的么?
你在板子USB Host上连个U盘先看Host正不正常
usb host 出错的可能性很小,毕竟你的mass storage驱动是正常的,它使用的是bulk传输,我看见你出错的地方是在setup的时候出错的,也就是要开始配对,从modem返回的descriptor找到相应的class,然后再跟设备驱动联系起来,很可能modem不标准,还有一个可能就是电压问题,有可能电压不足5v,所以有时候认不出来
还是把USB设配配置以后读出来的各项描述符打印一下看看
看上去像配置描述服的长度字段是0,这个是非法值
[ 本帖最后由 Roemer 于 2009-3-14 07:42 编辑 ]
你用的linux 版本是多少》我最近也在开发linux 9200的usb驱动好多u盘都不能挂载,内核配置是不是有问题