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

qwang |浏览234次
检举|收藏|2022/09/07 11:38
全部回答(1)
  • 应该是 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

    回答于 2022/09/08 10:50
0人关注该问题
 加载中...