March 28, 2014
Reset USB 3.0 Device from the Linux Shell
If you are getting errors like:
cdc_acm 3-11:1.2: acm_submit_read_urb - usb_submit_urb failed: -12
or
xhci_hcd 0000:00:14.0: ERROR no room on ep ring
or
tty_port_close_start: tty->count = 1 port count = 0.
then most probably xhci (USB3) module is causing this problem. Generally you can fix this problem (at least temporarily) by removing and re-inserting the USB connector. However, it would be much better to do it from the command line. It is possible by doing:
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
and then
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind
Note that “0000:00:14.0” is the id of the malfunctioning USB device that can be different in your case. You can easily find this by inspecting your log (use dmesg
).