【Linux Mint】USBの抜き差しをコマンドで
無線のマウスを使っているのですが、サスペンド復帰時に毎回動かなくなるんですよね。
その度にUSBに刺してあるレシーバーを抜き差ししているのですが、これがめんどい!
メーカー名や型番などの記載もない安物マウス(これです↓)なので、原因も探りづらいし、、
ということで、コマンドにて抜き差しが出来ないか調べてみることに。
調べた結果
→コマンドで USB をリセットしてみる : レンタルサーバー・自宅サーバー設定・構築のヒント
→linuxでのusbの抜き差しをコマンドで実施する : えむけいプラン(公式)
普通にできそうな感じ。
やってみた結果
lsusb コマンドで現在のUSBのデバイスリストが表示。
$ lsusb
Bus 002 Device 002: ID 056e:8007 Elecom Co., Ltd USB3.0 Card Reader
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 014: ID 0581:0105 Racal Data Group
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 04bb:014a I-O Data Device, Inc. HDCL-UT
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Linux Foundation ~ って書いてあるやつが多分使っていないUSBポート。
Elecom Co., Ltd USB3.0 Card Reader がmicrosdを読み込むためのカードリーダー。
Data Device, Inc. HDCL-UT がHDD。
Dell Computer Corp. Model L100 Keyboard がキーボード。
となると、Racal Data Group がマウスってことになります。
lsusb -t コマンドでツリーリスト表示に。
$ lsusb -t
/: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 2: Dev 14, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
|__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
|__ Port 6: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Bus 006 Device 014 がマウスなので、
Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
Port 2: Dev 14, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
が重要。
次にマウスを unbind する。
Bus 06 で port 2 なので、6-2になるらしい。
port の下にさらに port がくっついている場合もあるので、詳しく知りたい方はこちらを参考にされたし。
→コマンドで USB をリセットしてみる : レンタルサーバー・自宅サーバー設定・構築のヒント
$ echo -n "6-2" > /sys/bus/usb/drivers/usb/unbind
bash: /sys/bus/usb/drivers/usb/unbind: 許可がありません
「許可がありません」と怒られる。
リダイレクト処理が一般ユーザー権限で行われているのが原因らしいです。
→sudoでリダイレクトするとエラーが出た時の解決法 : LFI
上記サイトから tee コマンドを使って回避。
$ echo -n "6-2" | sudo tee /sys/bus/usb/drivers/usb/unbind
これでマウスが動かなくなったのを確認出来ました。
bind で再接続。
$ echo -n "6-2" | sudo tee /sys/bus/usb/drivers/usb/bind
マウスが動くことを確認。
これでUSBの抜き差しから開放されました!
ディスカッション
コメント一覧
まだ、コメントがありません