0

I've got an issue with some hardware in a test lab that, when the device being tested has an issue, it seems to "crash" the USB controller, causing the port to not show devices connected...however it gets worse. If the Server the device is attached to is rebooted, then it hangs during POST because Dell's lifecycle controller tries to enumerate the USB ports, and they don't respond.

I've tried a number of things, such as:

  • using powertop to try changing the port status (does nothing)
  • echo 0 > /sys/bus/usb/devices/usb1/bConfigurationValue, which is supposed to issue a reset.
  • changing /sys/bus/usb/devices/usb1/power/wakeup to enabled and disabled, no change
  • rummaging around in docs on ipmitool to see if there was a way to do it.
  • using modprobe -r usbhid to remove the usbhid kernel module, then reinstall

I've also tried

root@least-nest:/sys/bus/pci/drivers/ehci-pci# echo -n '0000:00:14.0' > unbind root@least-nest:/sys/bus/pci/drivers/ehci-pci# echo -n '0000:00:14.0' > bind

but got a message saying

-bash: echo: write error: No such device

None of these changes anything. It seems that it's nearly impossible to actually "reset" or power down a USB root hub/port. The only solution that seems to allow the server to reboot successfully is to use racadm to first disable the internal USB ports, then reboot the machine, bypassing the USB enumeration during POST.

Since rebooting is a drastic measure, is there any other way to basically "refresh" or "reload" the USB controllers built into the motherboard? I'm working in parallel to see if there's something with the device attached that could be looked at as well (powering it down remotely, etc) but the focus at the moment is to see if we can get around rebooting the machine first.

I should mention the OS of choice is Ubuntu 18.04 on R630 dells.

Thanks!

Evan R.
  • 161
  • 7
  • 1
    Something like this [switchable USB hub](https://www.yepkit.com/products/ykush) might do what you want, assuming that it can still be controlled when the other device freezes. Another similar option would be to build your own version of this using relays that is controlled from a different USB controller so that it can still be used when this one freezes. – Moshe Katz Aug 05 '22 at 00:36
  • @MosheKatz Thanks. We do have switchable hubs attached, I think there are two likely issues at hand. the device being tested has an issue, which in turn messes up the USB system somewhere. Leaving the device attached and rebooting doesn't seem to be enough, however not sure if power cycling both ends is enough either. an intermediate hub might work as it would move the USB failure outside of the chassis (we could use the pdu to switch it on and off). I'll check on this. Thanks! – Evan R. Aug 05 '22 at 16:07

0 Answers0