web-dev-qa-db-ja.com

18.04のBluetoothマウスの反応が遅い(投票率が低い...)

レノボヨガBluetoothマウスをXPS13に接続しています(ubuntu 18.04)。

ネズミが遅れています。

私はevhzを試します(ここから https://gitlab.com/iankelling/evhz )。このマウスで、私は約22Hzを持っています

Lenovo YOGA Mouse Mouse: Latest    22Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    21Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    22Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    21Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    22Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    21Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    22Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    22Hz, Average    21Hz
Lenovo YOGA Mouse Mouse: Latest    22Hz, Average    21Hz

ここに「0」があります:

$ cat /sys/module/usbhid/parameters/mousepoll
0

私のタッチパッドまたは他のマウスは、私にとっては大丈夫な125Hzを示します。

USBHIDの「マウスポール」を変更する方法を説明するいくつかのフォーラム/ハウツーを見つけました。しかし、/ sys/module/usbhid/parameters/mousepollにはまだ0が表示されますが、それでも22Hzです。さらに、私はBluetoothマウスを持っています... USBHIDがここに影響を与えることができるかどうかわかりませんか?

ちなみに、 "rmmod usbhid"を実行すると、すぐにUSBキーボード、USBマウスを緩めますが、ラップトップキーボード、タッチパッド、および遅延したBluetoothマウスは引き続き機能します(それでも遅延します)... usbhidによって管理されていない...

私もこれを見つけました:

$ systemctl status bluetooth.service
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-04-11 17:13:11 CEST; 17min ago
     Docs: man:bluetoothd(8)
 Main PID: 1507 (bluetoothd)
   Status: "Running"
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bluetooth.service
           └─1507 /usr/lib/bluetooth/bluetoothd

avril 11 17:13:36 celestin bluetoothd[1507]: bt_uhid_send: Invalid argument (22)
avril 11 17:13:36 celestin bluetoothd[1507]: bt_uhid_send: Invalid argument (22)
avril 11 17:13:36 celestin bluetoothd[1507]: bt_uhid_send: Invalid argument (22)
avril 11 17:13:36 celestin bluetoothd[1507]: bt_uhid_send: Invalid argument (22)
avril 11 17:13:36 celestin bluetoothd[1507]: bt_uhid_send: Invalid argument (22)
avril 11 17:13:36 celestin bluetoothd[1507]: bt_uhid_send: Invalid argument (22)
avril 11 17:13:45 celestin bluetoothd[1507]: Endpoint unregistered: sender=:1.119 path=/MediaEndpoint/A2DPSource
avril 11 17:13:45 celestin bluetoothd[1507]: Endpoint unregistered: sender=:1.119 path=/MediaEndpoint/A2DPSink
avril 11 17:13:50 celestin bluetoothd[1507]: Endpoint registered: sender=:1.138 path=/MediaEndpoint/A2DPSource
avril 11 17:13:50 celestin bluetoothd[1507]: Endpoint registered: sender=:1.138 path=/MediaEndpoint/A2DPSink

何か案は ?

3
Whynot

Logicool MXマスター3でも同じ問題が発生しました

次の手順に従うとうまくいきました:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1824559/comments/1

Wysiwyg31のコメントに続いて、次のことを行いました。

$ Sudo nano /var/lib/bluetooth/xx\:xx\:xx\:xx\:xx\:xx/yy\:yy\:yy\:yy\:yy\:yy/info

どこ xx:xx....はPCのBluetoothアドレスであり、yy:yy...はマウスのBluetoothアドレスです。

ファイルの最後にセクションを追加しました。

[ConnectionParameters]
MinInterval=6
MaxInterval=7
Latency=0
Timeout=216

次に、次のコマンドでbluetoothサービスを再起動しました:systemctl restart bluetooth

https://github.com/ian-kelling/evhz を使用してレートを確認します(ただし、修正が機能し、22Hzが125Hzになるとすぐに気付きました)。

$ cat /sys/module/usbhid/parameters/mousepoll
8

以前の「0」ではなく「8」を表示するようになりました

3
Annatar

これは、新しいバージョンのカーネルに関連する問題のようです。

回避策としてhcitoolを介して接続されたデバイスの待ち時間パラメーターを変更することを提案しますが、これは一時的にのみ機能し、再接続するたびに繰り返す必要があります。

私にとって非常に効果的な方法は、次の手順に従ってカーネル構成ファイルのレイテンシを永続的に変更することです。

  1. 問題のあるデバイスを切断する/ペアリングを解除します。
  2. echo 6 > /sys/kernel/debug/bluetooth/hci0/conn_min_intervalを実行します
  3. デバイスを再度接続/ペアリングします。ほとんどの場合、再起動は必要ありません。

このメソッドのソースは here にあります。

2
critop

回答が遅れ申し訳ございません。興味がある場合は、バグレポートと回避策をこちらから入手できます。

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1824559

0
Whynot