I have a built-in USB device that is not responding to setup address. It tries to set the device up continuously and fails continuously: wasting battery, CPU, disk space, etc.
Is there a way to kill the USB port or otherwise stop the kernel from trying to configure it?
I've tried rebooting, using uhubctl (not known as a smart hub), playing with port's power/autosuspend_delay_ms (gets input/output error), playing with the port's power/control (already auto), playing with the hub's power/level (invalid argument). Of course, I cannot try another cable--it is an embedded device.
And I would prefer to not disable the hub entirely, but I'd be willing to try it. I can virtually remove the PCI card via Linux, but that takes out stuff I actually need (the high speed USB hub).
I'm going to guess that the device is actually a laptop fingerprint reader that I've never used or been able to use, but I remember being around.
[ 7283.684834] usb usb1-port7: attempt power cycle
[ 7284.312659] usb 1-7: new full-speed USB device number 41 using xhci_hcd
[ 7284.312858] usb 1-7: Device not responding to setup address.
[ 7284.516966] usb 1-7: Device not responding to setup address.
[ 7284.724647] usb 1-7: device not accepting address 41, error -71
[ 7284.838653] usb 1-7: new full-speed USB device number 42 using xhci_hcd
[ 7284.838852] usb 1-7: Device not responding to setup address.
[ 7285.044852] usb 1-7: Device not responding to setup address.
[ 7285.252760] usb 1-7: device not accepting address 42, error -71
[ 7285.252861] usb usb1-port7: unable to enumerate USB device
[ 7285.366647] usb 1-7: new full-speed USB device number 43 using xhci_hcd
[ 7285.480810] usb 1-7: device descriptor read/64, error -71
[ 7285.702811] usb 1-7: device descriptor read/64, error -71
[ 7285.918653] usb 1-7: new full-speed USB device number 44 using xhci_hcd
[ 7286.032729] usb 1-7: device descriptor read/64, error -71
[ 7286.254780] usb 1-7: device descriptor read/64, error -71
[ 7286.356717] usb usb1-port7: attempt power cycle
Repeat forever
Running lsusb of course does not report the device. However, the upstream hub is:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
authorized
in any device within the/sys/bus/usb/devices
tree disables it. when it's a hub it disables (and powers off) all its ports. writing back 1 re enables it and rescans devices on it. uhubctl here detects only one hub (internal, intel8087:8000
) where I can disable a single port. I didn't find either how to disable a single port on hubs not shown in uhubctl.