web-dev-qa-db-ja.com

再起動してUSBポートを無効にして有効にします

Ubuntu Server 15.10

同じシリアル番号を持つ2つのUSBレシーバーで問題が発生します。私のサービスはそれらを混同します。しかし、再起動時にUSBプラグを取り外してから特定の順序で接続すると、正常に機能します。

ブート時にすべてのusbポート(ポート1-8)を無効にできますか。その後、遅れてポート2以降のみを有効にします4。

1
roady

これが機能することは保証できませんが、試してみてください。

まず、すべてのUSBデバイスを表示します。

Sudo lsusb -t
 /:バス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
 | __ポート1:Dev 2、0の場合、Class = Human Interface Device、Driver = usbhid、1.5M 
 | __ Port 2:Dev 3、0の場合、Class =ヒューマンインターフェイスデバイス、Driver = usbhid、1.5M 
 | __ポート2:開発3、1、クラス=ヒューマンインターフェイスデバイス、Driver = usbhid、1.5M 
 | __ポート7:Dev 4 、0の場合、Class = Wireless、Driver = btusb、12M 
 | __ Port 7:Dev 4、If 1、Class = Wireless、Driver = btusb、12M 
 | __ Port 8:Dev 5 、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 
/:バス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 

その後、ルートハブで必要なUSBポートを無効にできます。

ルートハブのポートを無効にすると、次のようにウェブカメラ(uvcvideo)を無効にできます(バス3、ポート8):

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

再度有効にすることもできます。

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

注意でこれを行います。間違った数字を入力するとキーボードが無効になる可能性があります。理想的には、USBがオフになっている場合でも(たとえば、キーボードを内蔵しているラップトップで)入力できることを確認してください。

サーバーを使用していると言っているように、SSHをマシンにセットアップして、これを試行中にキーボードが無効になった場合に入力できるようにすることができます。

再起動すると、おそらく無効になっているキーボードも解決できます。

起動直後にオンザフライで無効にするには、次のコマンドをスクリプトに入れます(自分の状況に合わせて調整します)。

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
2
Smile4ever