web-dev-qa-db-fra.com

La souris Bluetooth est en retard (faible taux de poll ...) en 18.04

J'ai une souris Bluetooth Yoga Lenovo, connectée à mon XPS13 (Ubuntu 18.04).

La souris est en retard.

J'essaie evhz (d'ici https://gitlab.com/iankelling/evhz ). Avec cette souris, j'ai environ 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

J'ai "0" ici:

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

Mon pavé tactile ou une autre souris affiche environ 125 Hz, ce qui me convient.

J'ai trouvé quelques forum/howto expliquant comment changer "mousepoll" de USBHID. mais je reçois toujours 0 dans/sys/module/usbhid/parameters/mousepoll et toujours 22Hz. De plus, j'ai une souris Bluetooth .... je ne sais pas si USBHID peut influencer ici?

au fait, si je fais "rmmod usbhid", je perds immédiatement mon clavier USB, ma souris USB, mais le clavier d'ordinateur portable, le pavé tactile et ma souris bluetooth laggy fonctionnent toujours (et toujours laggy) ... Je suppose que cela signifie que la souris est non géré par usbhid ....

J'ai également trouvé ceci:

$ 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

Des idées ?

3
Whynot

J'ai eu le même problème avec un Logitech MX Master 3

Suivre ces étapes a fonctionné pour moi:

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

Suite au commentaire de wysiwyg31, j'ai fait ce qui suit:

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

xx:xx.... est l'adresse bluetooth du PC et yy:yy... est l'adresse Bluetooth de la souris.

Dans le fichier, j'ai ajouté la section à la fin:

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

puis, j'ai redémarré le service bluetooth avec: systemctl restart bluetooth

Utiliser https://github.com/ian-kelling/evhz pour vérifier le taux (mais il était immédiatement perceptible lorsque le correctif a fonctionné et que 22Hz est devenu 125Hz).

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

affiche désormais "8" au lieu du "0" précédent

3
Annatar

Cela semble être un problème lié aux nouvelles versions du noyau.

Il existe des suggestions pour modifier les paramètres de latence de l'appareil connecté via hcitool comme solution de contournement, mais cela ne fonctionne que temporairement et doit être répété pour chaque reconnexion.

Une méthode qui a beaucoup mieux fonctionné pour moi consiste à modifier définitivement la latence dans un fichier de configuration du noyau en procédant comme suit:

  1. Déconnectez/dissociez l'appareil problématique.
  2. Courir echo 6 > /sys/kernel/debug/bluetooth/hci0/conn_min_interval
  3. Connectez/coupez à nouveau l'appareil. Un redémarrage n'est probablement pas nécessaire.

La source de cette méthode peut être trouvée ici .

2
critop

désolé de la réponse tardive. Si vous êtes intéressé, rapport de bogue et solution de contournement disponible ici:

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

0
Whynot