Bluetoothマウスは、他のマウスが接続されていないときに数秒間アイドル状態を維持した後、スリープモードに切り替わります。

Bluetoothマウスは、他のマウスが接続されていないときに数秒間アイドル状態を維持した後、スリープモードに切り替わります。

Microsoft 3600 Bluetoothマウスを購入しましたが、Linuxでは正常に動作しませんでしたが、他のオペレーティングシステムでは正常に動作します。

数秒(たとえば、3〜4秒)でマウスの動きを止めると、マウスが「スリープ」状態になり、マウスを再び動かすと、次の数秒間ポインタが移動しません。これにより、デバイスを完全に使用できなくなります。

/etc/bluetooth/input.conf私はこれについてたくさん検索し、タイムアウトを変更するか(デフォルトではファイルがない)udevルールを生成するための多くの答えを見つけました。やってみましたが、問題はまだ続きます。

Journalctlを見ると、マウスがスリープ状態になり、マウスを動かそうとすると次のメッセージが表示されます。

jul 03 19:41:46 nathan kernel: usb 1-6: new high-speed USB device number 24 using xhci_hcd
jul 03 19:41:46 nathan kernel: usb 1-6: Device not responding to setup address.
jul 03 19:41:47 nathan kernel: usb 1-6: Device not responding to setup address.
jul 03 19:41:47 nathan kernel: usb 1-6: device not accepting address 24, error -71
jul 03 19:41:47 nathan kernel: usb usb1-port6: unable to enumerate USB device

また、奇妙な動作を発見しました。 USBゲームマウスをUSBに接続すると、Bluetoothマウスはスリープモードではなく、正常に動作します。ところで、USBマウスを取り外すと、Bluetoothマウスに問題が再び発生します。

Manjaroは現在Linux 5.7.0を実行していますが、テストしたすべてのカーネルバージョン(5.4.x、5.5.x、5.6.x)でOpenSuseと同じ問題が発生しました。

答え1

このマウスを購入してから約3年が経ちましたが、今日ようやく修正しました。何らかの理由で自動的に停止するUSB​​デバイスに関するものです。

  1. # lsusb -vtUSBデバイスIDを取得します。

    λ ~> sudo lsusb -vt
    /:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    /:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 5: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
        ID 0cf3:e500 Qualcomm Atheros Communications 
    |__ Port 5: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
        ID 0cf3:e500 Qualcomm Atheros Communications 
    
  2. /etc/udev/rules.d/50-usb_power_save.rulesまだファイルがない場合は、ファイルを作成してください。

  3. このファイルの末尾に追加します。 (idVendorおよびidProductをファイルに置き換えてください。上記の例を参照してください。)

    ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0cf3", 
    ATTR{idProduct}=="e500", ATTR{power/autosuspend}="-1"
    
  4. 再起動

しかし、今日は良い日です。

関連情報