大家好,我的问题如下:

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

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

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

Mar 30 03:28:14 KnowYouLinux kernel: usb 1-6.2: new full speed USB device using ehci_hcd and address 49

Mar 30 03:28:29 KnowYouLinux kernel: usb 1-6.2: device descriptor read/64, error -110

Mar 30 03:28:44 KnowYouLinux kernel: hub 1-6:1.0: unable to enumerate USB device on port 2

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

|

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

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

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

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

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

static int old_scheme_first = 0;

改为

static int old_scheme_first = 1;

#define SET_ADDRESS_TRIES  2

改为

#define SET_ADDRESS_TRIES  4

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

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

  1. linux驱动设备信息失败怎么办,Linux设备驱动程序(LDD)中snull的编译问题 《转》

    对LDD中snull程序,编译的时候会有许多问题,鉴于网上还没有合适的解决办法,做此总结,整理知识.本文在debian6.0上运行通过,内核版本为2.6.32. 学习LDD中网络驱动程序部分,理解sn ...

  2. linux 建立http连接失败,【linux】http请求建立连接的时候为啥是tcp三次握手,而不是二次或者四次?...

    面试被问到这样的问题,求大神指教? 回答 我简单点说吧. 无论多少次握手都不能满足传输的绝对可靠. TCP的核心思想:保证数据可靠传输 其次:保证传输效率. 那么,就可以开始回答了: 为什么要握手(为 ...

  3. Vmware提示:host usb device connections disabled-(vmware 主机已禁用 usb 设备连接)

    Vmware提示:host usb device connections disabled-(vmware 主机已禁用 usb 设备连接) VMware Workstation,提示提示Host US ...

  4. 计算机存在其他连接设备错误,USB设备连接电脑失败怎么办

    <USB设备连接电脑失败怎么办>由会员分享,可在线阅读,更多相关<USB设备连接电脑失败怎么办(8页珍藏版)>请在人人文库网上搜索. 1.USB设备连接电脑失败怎么办有时当US ...

  5. linux 怎么查看usb设备端口号,嵌入式Linux USB设备检测端口和地址

    我发展我的板USB应用.它有两个USB端口.当我插上USB驱动器在他们每个人我得到控制台以下消息:嵌入式Linux USB设备检测端口和地址 端口1: usb 1-1: new high speed ...

  6. 计算机存在其他连接设备错误,USB设备连接电脑失败的解决方法

    对于从来没有使用过USB外接设备的朋友来说,即使正确安装了驱动程序也有可能出现系统无法检测USB硬盘的情况,这主要是由于主板默认的CMOS端口是关闭的,如果没有将其设置为开启状态,那么Windows自 ...

  7. usb计算机连接无法连接电脑,电脑中的USB接口无法使用怎么办?USB设备连接电脑没有反应如何解决...

    ‍ 我们知道很多设备需要通过USB接口来与电脑连接.如果出现了USB接口无法使用的情况,我们应该如何解决呢?对于这样的问题,可能有各种不同的情况,如禁用USB接口.USB驱动等原因都有可能会导致USB ...

  8. iphone手机拷贝照片到电脑端,经常出现设备连接失败,传输中断问题,办法来了

    iphone手机拷贝照片到电脑端,经常出现设备连接失败,传输中断问题: 今天从iphone7上拷贝3000+照片到电脑上,中途总是出现传输中断,设备连接不上问题,一度开始怀疑,是不是买了个假货,特别是 ...

  9. linux查看usb设备文件,技术|在 Linux 系统里识别 USB 设备名字的 4 种方法

    对于初学者来说,在 Linux 系统里你必须掌握的技术之一就是识别出插入系统里的各种设备.这也许是你的系统硬盘.外部的存储设备或者是可移动设备,比如 USB 设备或 SD 闪存卡等. 现如今,使用 U ...

最新文章

  1. linux是数据库软件么,什么是适用于Linux的良好数据库ERD工具?
  2. UOJ#244-[UER#7]短路【贪心】
  3. 【Leetocde | 24 】152. 乘积最大子序列
  4. SparkStreaming简介 - 与第一个Spark实时计算程序,使用netcat来写数据 - wordcount
  5. 无人车火了 百度是如何做到的?
  6. PX4编译文件 Makefile 剖析
  7. php手册学习怎样,PHP新手之如何学习PHP的讲解
  8. java 自定义注解 生成json_Jackson 通过自定义注解来控制json key的格式
  9. 可以记录阅读进度的 pdf 电脑阅读器
  10. ASP.NET MVC3 RenderPartial 传入空Model时出现字典类型错误
  11. 他们连忙跟了上去ZuL1VsLa5X67XOI
  12. 在ENVI5.3 下基于GLT/IGM文件的几何校正具体过程
  13. 三角函数和角与差角公式的图形解释
  14. 游戏,CG音乐音效配音
  15. torch.max(action_value, 1)[1].data.numpy()[0] 是什么意思
  16. VB 四言古诗词赏析 制作
  17. 不要掉进PHP数组合并的坑。(初学者须知道)
  18. 【JZOJ 4598】准备食物
  19. 《C语言》4小时不挂科【猴博士爱讲课】(学习笔记)
  20. Ryu 安装过程中的问题

热门文章

  1. mysql atm存款系统_使用Java实现数据库编程--第六章Java_银行ATM存取款机系统_小结...
  2. 什么是房地产CRM?十个方面提高业绩(下)
  3. Study Group Learning: ImprovingRetinal Vessel Segmentation Trained with Noisy Labels学习笔记(有代码)-仅自用
  4. SpringBoot2.0整合SpringCache和Redis(lettuce)攻略
  5. FatFs目录访问接口中文版
  6. 清远市城市品牌及五大百亿农业产业区域公用品牌亮相
  7. uni-App聊天功能的源码
  8. Adobe Air ANE之Admob开发需要的依赖库
  9. fr4走线宽度_如何调整PCB中走线宽度的大小
  10. 流下没技术的眼泪之gazebo actor collision解决过程