Linux: Reset High Speed USB Device Using ehci_hcd Error and Solution
If you are experiencing errors with a high-speed USB device on a Linux system and are seeing messages related to the ehci_hcd driver, you may need to reset the device.
One way to reset a USB device is to use the lsusb command to identify the device and then use the ehci_hcd driver to reset it. Here are the steps to do this:
- Run the command
lsusbto list all the USB devices connected to the system. Look for the device that you want to reset and note the Bus and Device number. - Use the command
echo "0" > /sys/bus/pci/drivers/ehci_hcd/<bus-number>-<device-number>/authorizedto reset the device. Replace<bus-number>and<device-number>with the numbers you noted in step 1.
echo "0" > /sys/bus/pci/drivers/ehci_hcd/001-002/authorized- Once the device has been reset, use the command
echo "1" > /sys/bus/pci/drivers/ehci_hcd/<bus-number>-<device-number>/authorizedto authorize the device again. - You can also use the command
ehci_hcdto reset the USB device by using the commandehci_hcd -r <bus-number> <device-number>. - Finally, you can use the command
ehci_hcd -e <bus-number> <device-number>to enable the device again.
Another way to reset USB device is to unplug and plug the device back in, also you can use udevadm command to reset USB device, for example:
udevadm trigger --action=add /sys/bus/usb/devices/<bus-number>:<device-number>It's also important to remember that this method should be used as a last resort, as it can cause data loss or corruption if not used correctly.
