打印
[技术问答]

NUC972 USB Host反复插拔时有概率无法识别设备

[复制链接]
182|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
七毛钱|  楼主 | 2022-11-1 15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
NUC972 USB Host反复插拔时有概率无法识别设备

使用特权

评论回复
沙发
海滨消消| | 2022-11-1 17:00 | 只看该作者
应该是 de-bounce 问题,NUC970/NUC980 USB host 有个 bug,当 Host 在做 port reset 的时候,如果刚好 device disconnect,有机率造成 port status卡死,之后插拔也无法恢复。尤其是极缓慢的插拔,容易复现。
解决方案是将 port de-bounce 时间拉到比较长,建议 500ms ~ 1000ms
修改   drivers/usb/core/hub.c
原始设定 (debounce 100ms)
#define HUB_DEBOUNCE_TIMEOUT    2000
#define HUB_DEBOUNCE_STEP         25
#define HUB_DEBOUNCE_STABLE      100
改为 (debounce 500ms)
#define HUB_DEBOUNCE_TIMEOUT    3000
#define HUB_DEBOUNCE_STEP        100
#define HUB_DEBOUNCE_STABLE      500
或者
改为 (debounce 1000ms)
#define HUB_DEBOUNCE_TIMEOUT    5000
#define HUB_DEBOUNCE_STEP        100
#define HUB_DEBOUNCE_STABLE     1000

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

325

主题

2271

帖子

4

粉丝