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
    Commented Aug 23, 2017 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
    Commented Aug 23, 2017 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
    Commented Aug 23, 2017 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. Commented Jan 11, 2018 at 16:50

2 Answers 2


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


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
    Commented Oct 10, 2017 at 20:55
  • Just launching USB prober will reset it. What did you do and what happened?
    – Allan
    Commented Oct 10, 2017 at 21:00
  • 2
    I did everything according to your answer but the app doesn't reset it.
    – haxpanel
    Commented Oct 10, 2017 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
    Commented Oct 10, 2017 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? Commented Jan 24, 2018 at 12:21

To reset a USB device, first download the USB Prober.app as explained in this other answer.

Next, you need to figure out the so-called Vendor and Product IDs of the USB device that you want to reset. You can do that with USB Prober, but it may be easier by using the System Profiler app from your Application / Utilities folder: Select USB within the Hardware topic in the left pane, then look for your USB device in the top right pane, select it, and you'll see its Product and Vendor IDs shown below, like this:

System Profiler screenshot

The IDs start are hex codes that start with 0x and have 4 more digits/letters. Make a note of them, with the Vendor ID first.

Inside USB Prober, there's a tool called reenumerate that you have to invoke from Terminal.app (find that in your Application / Utilities folder).

Move or copy the downloaded USB Prober.app to your Utilities folder.

Open Terminal.app, and paste the following line into it:

/Applications/Utilities/USB\ Prober.app/Contents/Resources/reenumerate

Then click into the Terminal window and type the space key, then type the two USB device IDs, Vendor ID first, separated with a comma. If your IDs were 0x174c and 0x55aa, then the line now should read:

...$ /Applications/Utilities/USB\ Prober.app/Contents/Resources/reenumerate -v 0x174c,0x55aa

Press return and you should get output similar to this:

Verbose mode ON
Looking for vid: 0x174c, pid: 0x55aa
Found "ASM105x" @ 0x14200000
Calling USBDeviceReEnumerate
USBDeviceReEnumerate returns 0x00000000

If you don't get more than the first line, it means that you entered the wrong IDs. If you get the full output, the device should have reset - for a disk device this means that it'll disconnect and reconnect as if you had unplugged the cable briefly.

If you invoke the reenumerate command without any arguments, you'll get usage information with more options you could try.

  • 1
    What is Prober.app? What exactly does happen here? What directory is USB?
    – IceFire
    Commented Jul 31, 2018 at 7:19
  • 1
    On Mojave, this command using USB Prober doesn't work for me. I see the first two lines, but nothing after that. Commented Jun 14, 2019 at 14:47
  • 1
    Sadly this isn't working for the particular device I'm trying to control - probably because it's actually a Thunderbolt hub. ;] I get this output: ``` ~ ❯❯❯ /Applications/USB\ Prober.app/Contents/Resources/reenumerate -v 0x2109,0x0812 Verbose mode ON Looking for vid: 0x2109, pid: 0x812 Found "USB3.0 Hub " @ 0x00500000 Not able to Open() the IOUSBDevice. A kernel driver is probably controlling it. ``` I don't suppose you know how to deal with that by any chance?
    – HerbCSO
    Commented Mar 4, 2021 at 13:45
  • This is working on Sonoma 14.2.1 with an M1 and an "Ivanky" hub from Amazon that's got a flaky Realtek LAN on waking up from sleep. Thanks!
    – Jim
    Commented Jan 11 at 22:14
  • On macOS 10.15.6, I extracted USB Prober.app from "IOUSBFamily Log Release for OS X 10.9.4". However, I saw zsh: killed on running USB\ Prober.app/Contents/Resources/reenumerate in Terminal. I double clicked USB Prober.app in Finder, and saw "... cannot be opened because the developer cannot be verified". My guess is that the security certificate(s?) from the IOUSBFamily download have expired dates.
    – Ashley
    Commented Apr 14 at 11:45

You must log in to answer this question.

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