应该是 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
|