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:
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.
Terminal.app, and paste the following line into it:
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
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.