Esta duda se puede solucionar de diversas formas, pero te compartimos la respuesta más completa en nuestra opinión.
Solución:
Si bien, como dijo el OP, algunos concentradores USB tienen un protocolo adicional que permite apagar un solo puerto, resolviendo así fácilmente el problema con el uso de uhubctl, la mayoría de los concentradores USB, incluidos los internos, no tienen ese control.
Lo que todavía es posible en Linux es pedirle al kernel que deshabilite el uso de un dispositivo USB escribiendo 0 en el authorized
archivo de control de este dispositivo en el /sys/bus/usb/devices
árbol. Para un dispositivo que se comporta normalmente, esto resolvería el problema, pero no para un dispositivo que se desconecta y vuelve a conectar todo el tiempo.
Aún así, cuando cualquier concentrador USB se deshabilita, se deshabilitará y apagará todos sus puertos. Por lo tanto, deshabilitar el concentrador USB donde está conectado el dispositivo deshabilitará y apagará efectivamente el dispositivo defectuoso. Si la pérdida de cualquier otro dispositivo conectado a este concentrador es aceptable, entonces ese es un método posible.
escribiendo de vuelta 1
hacia authorized
El archivo volverá a habilitar el dispositivo y, en el caso de un concentrador, volverá a encender sus puertos, lo que volverá a encender cualquier dispositivo conectado.
Ejemplo:
# cat /sys/bus/usb/devices/2-1/product
USB2.0 Hub
# echo 0 > /sys/bus/usb/devices/2-1/authorized
# dmesg|tail -1
[226616.900051] usb 2-1.3: USB disconnect, device number 30
usb 2-1.3
era un teclado y sus LED se apagan.
# echo 1 > /sys/bus/usb/devices/2-1/authorized
# dmesg|fgrep 2-1|tail -10
[227055.203089] hub 2-1:1.0: USB hub found
[227055.204441] hub 2-1:1.0: 4 ports detected
[227055.213891] usb 2-1: authorized to connect
[227055.405342] usb 2-1.3: new low-speed USB device number 41 using xhci_hcd
[227055.511969] usb 2-1.3: New USB device found, idVendor=413c, idProduct=2113, bcdDevice= 1.08
[227055.511975] usb 2-1.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[227055.511978] usb 2-1.3: Product: Dell KB216 Wired Keyboard
[227055.520754] input: Dell KB216 Wired Keyboard as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1.3/2-1.3:1.0/0003:413C:2113.001A/input/input136
[227055.583032] input: Dell KB216 Wired Keyboard System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1.3/2-1.3:1.1/0003:413C:2113.001B/input/input137
[227055.641748] input: Dell KB216 Wired Keyboard Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1.3/2-1.3:1.1/0003:413C:2113.001B/input/input138
Si te animas, eres capaz de dejar un tutorial acerca de qué te ha parecido esta crónica.