12

I'm developing onto Arduino and sometimes the USB port that is being used stops working. Then I need to plug the device into another USB port. Once all the USB ports stop working I have to restart the machine which is really annoying.

As far as I remember there is a command which is able to restart the USB subsystem individually but I can't remember. How can I restart USBs without restarting the entire system?

I'm using macOS Sierra.

This is different to the question Resetting the USB port on a MacBook Pro as I need software-only solution as my USB ports get frozen - which means they stop working until full system restart. There must be a way of restarting the USB subsystem individually.

  • What model(s) of Mac are you using? – IconDaemon Aug 23 '17 at 10:28
  • 2
    Why is this not Mac related? It's about USB ports on his Mac, and how to restart the USB system on the Mac, not on Arduino. On the other hand, the Ardiono community might be more helpfull as they will see this problem more often. arduino.stackexchange.com – SPRBRN Aug 23 '17 at 10:40
  • From my comment that starts off "From the way your question is worded..." tells why it appears this isn't Mac related. You need to articulate what your issue is, what you expect the result to be and what your environment is. Remember, we're not there to look over your shoulder. Also, this question recently answered addresses your question apple.stackexchange.com/questions/294944/… so now your question (based on the comments) is potentially a dupe. – Allan Aug 23 '17 at 13:11
  • This sort of sounds like an XY problem. A possible reason for the issue is the Arduino device is drawing too much power and overheating the USB Bus. Connect it to an externally powered USB Hub and connect the externally powered USB Hub to the Mac. – user3439894 Jan 11 '18 at 16:50
5

You can reset the USB Bus with the USB Prober.app. It's not included with XCode, but you can download it separately from the Apple Developer Download page. You will need to signup and login.

  1. search for iousbfamily
  2. Download the latest IOUSBFamily Log Release file (at the time of this post it was IOUSBFamiliy Log Release for OS X 10.9.3)
  3. Mount the .dmg and navigate to the directory with IOUSB-XXXXXX-log.
  4. DO NOT install. Just right click the package and "Show Package Contents"
  5. Unzip the Archive.pax.gz; the file USBProber.app will be in /Archive/DevTools/Hardware


Important:

Just launching the app will reset your USB bus. Make sure you you unmount any drives you don't want unceremoniously and improperly removed!

  • I'm not able to reset the USB with this USB Prober. Can you point out how to do so? – haxpanel Oct 10 '17 at 20:55
  • Just launching USB prober will reset it. What did you do and what happened? – Allan Oct 10 '17 at 21:00
  • 1
    I did everything according to your answer but the app doesn't reset it. – haxpanel Oct 10 '17 at 21:03
  • I clearly remember there was a command to restart the goddamn USB nonsense. 1 piece of command, in the terminal. I just don't have to restart it on a normal day so that I've forgot it.... – haxpanel Oct 10 '17 at 21:17
  • Indeed this does not work here. Tried to mount a 'bad' usb stick on latest Sierra. No further sticks are recognised until restart. External periphery still works after bad stick, USBProber does nothing resetting on launch. Any other way? – LаngLаngС Jan 24 '18 at 12:21
2

I was able to reset my USB LAN adapter with this command

$ 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

How to get the Prober.app is explained here: How to restart USB subsystem?

  • 1
    What is Prober.app? What exactly does happen here? What directory is USB? – IceFire Jul 31 '18 at 7:19
  • On Mojave, this command using USB Prober doesn't work for me. I see the first two lines, but nothing after that. – Patrick Chu Jun 14 at 14:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .