如何重启USB子系统?


13

我正在开发Arduino,有时正在使用的USB端口停止工作。然后,我需要将设备插入另一个USB端口。一旦所有USB端口都停止工作,我必须重新启动机器,这确实很烦人。

据我所记得,有一个命令可以单独重新启动USB子系统,但我不记得了。如何在不重新启动整个系统的情况下重新启动USB?

我正在使用macOS Sierra。

这与在MacBook Pro上重置USB端口的问题不同,因为我的USB端口被冻结时,我需要纯软件解决方案-这意味着它们将停止工作,直到完全重新启动系统。必须有一种方法可以单独重新启动USB子系统。


您正在使用什么型号的Mac?
IconDaemon

2
为什么这与Mac不相关?这与他的Mac上的USB端口有关,以及如何在Mac而不是Arduino上重新启动USB系统。另一方面,Ardiono社区可能会更有用,因为他们会更频繁地看到此问题。arduino.stackexchange.com
SPRBRN

从我的开头为“从问题的措辞方式...”开始的评论可以看出,为什么这与Mac无关。您需要明确说明问题所在,预期结果以及环境。记住,我们不是在看着你的肩膀。另外,这个最近回答的问题解决了您的问题 apple.stackexchange.com/questions/294944/… 因此,现在您的问题(基于评论)可能是重复的。
艾伦

这种声音听起来像是XY问题。造成此问题的可能原因是Arduino设备消耗过多功率,导致USB总线过热。将其连接到外部供电的USB集线器,然后将外部供电的USB集线器连接到Mac。
user3439894'1

Answers:


5

您可以使用USB Prober.app重置USB总线。它没有包含在XCode中,但是您可以从Apple Developer下载页面单独下载它。您将需要注册和登录。

  1. 搜索 iousbfamily
  2. 下载最新的IOUSBFamily日志发布文件(在发布本文时为IOUSBFamiliy Log Release for OS X 10.9.3
  3. 挂载.dmg并使用IOUSB-XXXXXX-log导航到目录。
  4. 请勿安装。 只需右键单击该软件包,然后单击“显示软件包内容”
  5. 解压Archive.pax.gz; USBProber.app文件将位于/Archive/DevTools/Hardware


重要:

刚启动该应用程序将重置您的USB总线。 请确保您卸载所有不需要的驱动器,并且可以正确地将它们卸下!


我无法使用此USB Prober重置USB。您能指出如何做吗?
haxpanel

只需启动USB探针程序将重置它。你做了什么,发生了什么?
艾伦(Allan)

2
我已根据您的回答进行了所有操作,但该应用程序未将其重置。
haxpanel

我清楚地记得有一个命令可以重启该死的USB废话。1条命令,在终端中。我只是不必在正常的一天重新启动它,这样我就忘了它....
haxpanel 17-10-10

实际上,这在这里不起作用。试图在最新的Sierra上安装“坏”的USB记忆棒。重新启动之前,无法识别更多的摇杆。坏棒后外围仍然可以使用,USBProber在启动时不进行任何重置。还有其他方法吗?
LаngLаngС

2

我可以使用此命令重置USB LAN适配器

$ USB\ Prober.app/Contents/Resources/reenumerate -v 0x00000bda,0x00008153
Verbose mode ON
Looking for vid: 0xbda, pid: 0x8153
Found "USB 10/100/1000 LAN" @ 0x14640000
Calling USBDeviceReEnumerate
ResetDevice returns 0x00000000

此处说明了如何获取Prober.app:如何重新启动USB子系统?


1
什么是Prober.app?这里到底发生了什么?USB在哪个目录?
IceFire '18

1
在Mojave上,使用USB Prober的此命令对我不起作用。我看到前两行,但此后什么都没有。
Patrick Chu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.