Reinicializar desabilitar e habilitar portas usb

1

Ubuntu Server 15.10

Problemas com 2 receptores USB com o mesmo número de série. Meu serviço mistura-os. Mas se eu remover os plugues usb na reinicialização e, em seguida, anexá-los na ordem específica, ele funcionará bem.

Posso na inicialização desativar todas as portas usb (porta 1 - 8). Em seguida, em um atraso ativar apenas a porta 2 e posterior 4.

    
por roady 30.12.2015 / 11:57

1 resposta

2

Não posso garantir que isso funcionará, mas experimente.

Primeiro, mostre todos os dispositivos USB:

sudo lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
    |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 7: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 8: Dev 5, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 8: Dev 5, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M

Você pode desativar a porta USB desejada no hub raiz.

Desativar uma porta no hub raiz significa que posso desativar minha webcam (uvcvideo) assim (barramento 3, porta 8):

echo '3-8' |sudo tee /sys/bus/usb/drivers/usb/unbind

Eu também posso reativá-lo:

 echo '3-8' |sudo tee /sys/bus/usb/drivers/usb/bind

Faça isso com cuidado , pois a inserção de números errados pode desativar o teclado. O ideal é que você ainda possa digitar se o USB estiver desligado (por exemplo, em um laptop, você tem um teclado embutido)

Como você está dizendo que está usando um servidor, você pode configurar o SSH na máquina para poder digitar se o teclado ficar desativado durante a tentativa.

Um reboot provavelmente pode resolver um teclado desativado também.

Quanto a desativá-lo imediatamente após a inicialização, coloque esses comandos em um script (adapte-se à sua própria situação):

sleep 20 #try if this is needed, needs an increase etc
echo '3-8' |sudo tee /sys/bus/usb/drivers/usb/unbind # detach device 1
echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/unbind # detach device 2
sleep 5
echo '3-8' |sudo tee /sys/bus/usb/drivers/usb/bind # attach device 1
sleep 5
echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/bind # attach device 2
    
por Smile4ever 30.12.2015 / 13:58

Tags