失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux usb设备连接失败怎么办 Linux中使用扩展USB Hub的问题

linux usb设备连接失败怎么办 Linux中使用扩展USB Hub的问题

时间:2023-05-14 04:24:42

相关推荐

linux usb设备连接失败怎么办 Linux中使用扩展USB Hub的问题

大家好,我的问题如下:

我有一个嵌入式设备为Linux系统,将主板上的一个USB口连接一个USBHub扩展出多个USB口连接到多个不同的设备。由我的程序控制设备进行一些自动化工作。当其中的某个设备出现异常问题时,程序会自动的对USB口上挂接的设备进行断电和上电的复位操作,相当于拔插了一次设备,以此来恢复设备的工作。通过大规模测试,发现如下问题:

1、当对某一个USB口上的设备进行断电上电的复位操作时,有时会影响该USBHub上的其它USB口设备,造成其它USB口设备短暂性的没有数据输出;

2、在某些异常情况下,会连续不断的对某个USB口上的设备进行断电上电的复位操作,知道设备正常为止,但这种频繁的复位操作往往造成USB设备不能正常挂载,造成设备丢失。错误信息如下:

Mar3003:28:14KnowYouLinuxkernel:usb1-6.2:newfullspeedUSBdeviceusingehci_hcdandaddress49

Mar3003:28:29KnowYouLinuxkernel:usb1-6.2:devicedescriptorread/64,error-110

Mar3003:28:44KnowYouLinuxkernel:hub1-6:1.0:unabletoenumerateUSBdeviceonport2

哪位大侠能否解释一下上述现象的原因,驱动问题?跟autosuspend有关?还是其它。

|

1、当对某一个USB口上的设备进行断电上电的复位操作时,有时会影响该USBHub上的其它USB口设备,造成其它USB口设备短暂性的没有数据输出;

//感觉是电源问题,测试下板子和usb的整体供电,或者换个大些电流的电源,这是我的常规做法,

如果是生产类似的现场还要特别数据线尽量做短些,严格考虑抗干扰问题,因为usb是高速通讯,细节要考虑

2、在某些异常情况下,会连续不断的对某个USB口上的设备进行断电上电的复位操作,知道设备正常为止,但这种频繁的复位操作往往造成USB设备不能正常挂载,造成设备丢失。错误信息如下:

//看看linux/drivers/usb/core/hub.c的源码:

staticintold_scheme_first=0;

改为

staticintold_scheme_first=1;

#defineSET_ADDRESS_TRIES2

改为

#defineSET_ADDRESS_TRIES4

主要是usb设备兼容性问题,国外有篇文章专门做说明和介绍的

如果觉得《linux usb设备连接失败怎么办 Linux中使用扩展USB Hub的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。