top | item 37502070

(no title)

tcas | 2 years ago

USB has a built in protocol level reset that should achieve the same thing. The only change is 5V power is not cut. It's basically the same as doing an OS reboot from the peripheral's perspective.

If the USB device still doesn't respond then it means that they have some buggy firmware that requires a hard reboot to work.

Example for a USB reset in linux: https://marc.info/?l=linux-usb&m=121459435621262&w=2

discuss

order

TheRealPomax|2 years ago

You need to cut the power for certain USB devices to actually reset their in-device memory though (like an iLok dongle). Just "disconnecting and reconnecting" via software without a power cycle won't do anything for those. And that's not a bug, in dongles that's literally an anti-piracy feature.

dheera|2 years ago

I've tried that, my RealSense camera and several other USB devices I've used require physically unplugging and plugging after every reboot or it refuses to work.

That Linux USB reset does not work.

gertlex|2 years ago

I've got experience with this... `reboot` won't work, as it doesn't cut power, but if you can do `rtcwake -m off -s 30`, the power to the USB ports gets cut in between the computer being off and booting back up again.

(I even replace `reboot` with a script warning of this gotcha :) )

Caveat: this is with a typical x86 motherboard. Not all SBCs have RTCs needed to use rtcwake (e.g. RPi doesn't I think?)

gorkish|2 years ago

Some devices (mostly security devices) trigger things based on the physical connection state, cycle count, etc. and it's useful to have a means to test these.

I've never seen a device so far that has a physical switch to make sure it's really been unplugged, but I'd imagine someone could find a use case.

XorNot|2 years ago

That doesn't solve the problem that I still need to do it though. I've got this problem right now with my Blue microphone: it hates being rebooted without being power-cycled for some reason.