Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Every now and then there might come a need to reset a USB device, is there a way to perform the reset in software without unplugging the device itself and then pluggin it back in?

More specifically I have a webcam which gets confused when playing too much with the settings in guvcapture and then needs a reset to get back on track.

share|improve this question

You could try Benjamin Close's resetusb program to reset all devices — there are no binaries available, but compiling it is rather easy. Save the source code as resetusb.c, then run:

gcc -lusb resetusb.c -o resetusb

You can now run the tool as resetusb. Alternatively, @unhammer points to Alan Stern's single-device version (plus some hints on how to use it).

Some people have also had luck just removing and modprobe-ing the relevant modules:

modprobe -vr ehci_hcd
modprobe -v ehci_hcd

(you could of course script this)

Some distributions may also have their own tools to restart the USB subsystem; Mandrake apparently has /etc/init.d/usb.

share|improve this answer… has a similar program for resetting a single usb device – unhammer Dec 31 '13 at 14:34
$ sudo modprobe -vr ehci_hcd results in modprobe: FATAL: Module ehci_hcd is builtin. on kubuntu trusty. – naught101 Jun 28 '14 at 3:42
On my laptop with debian 8, ehci_hcd gives errors. However, rmmod ehci_pci && sleep 2 && modprobe ehci_pci works perfectly. – Bharat G Oct 12 '15 at 14:16
The modprobe trick did the job on CentOS 4 :-( , saved my day ! – Open SEO Jun 9 at 13:09

You can restart the hardware abstraction layer: sudo /etc/init.d/hal restart

share|improve this answer
i think HAL is replaced by something else in the newest version of ubuntu.. so its depend of distrib.. – bAN Aug 17 '10 at 20:29
I seriously doubt it would have worked anyway. HAL wasn't a low-level abstraction layer like the Windows component of the same name. – sourcejedi Dec 10 '12 at 12:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.