linux 复位USB 的方法.

3690阅读 0评论2019-12-16 iibull
分类:其他平台

背景:
做一个M4项目, USB VCP连接ubuntu. M4 固件里边有几次App的相互调用引导, 最终变成了USB VCP不能再Host那边识别(lsusb都找不到). 通过拔插USB连接线, 会被识别到, 这说明因为主机端没有重新枚举设备造成的, 如何让主机端重新枚举呢?

方法一:
找到对应的USB总线.
lspci | grep USB
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
说明:
OHCI – USB 1.1
EHCI – USB 2.0
xHCI – USB 3.0

ls  /sys/bus/pci/drivers/xhci_hcd/
0000:00:14.0  bind  new_id  remove_id  uevent  unbind
这里
  • bind – enable the Root Hub
  • unbind – disable the Root Hub
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind  卸载hub
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind  使能hub
竟然发现 M4的设备被识别了. 好神奇.
上一篇:RVIZ中的fixed frame选项以及“For frame [XX]: Fixed Frame [map] does not exist”
下一篇:Decawave Beta PDoA kit