5 votes

Perte de connexion de la souris sans fil lorsque l'ordinateur portable est sur batterie

J'ai récemment acheté une souris sans fil HP, mais j'ai quelques problèmes.

Le curseur devient fréquemment non-réactif aux mouvements de la souris. J'ai remarqué que cela se produit uniquement sur mon ordinateur portable lorsque celui-ci fonctionne sur batterie et que la souris n'est pas déplacée pendant 20 à 30 secondes, je dois alors toucher le touchpad de l'ordinateur portable pour que la souris se reconnecte.

Il semble donc que la gestion de l'alimentation interfère, mais je ne suis pas vraiment sûr de comment résoudre ce problème.

Édition : Une information importante que j'ai complètement oublié de mentionner est que je n'avais pas ce problème avec ma précédente souris sans fil Sweex MI420.

$ dmesg |grep -i souris:

[ 1.279240] mousedev: PS/2 mouse device common for all mice
[ 2.205885] input: HP HP Wireless Laser Comfort Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input5
[ 2.206071] generic-usb 0003:03F0:8501.0001: input,hiddev0,hidraw0: USB HID v1.11 Mouse [HP HP Wireless Laser Comfort Mouse] on usb-0000:00:1a.0-1.2/input0

$ ls /sys/bus/usb/devices:

1-0:1.0
1-1
1-1.1
1-1:1.0
1-1.1:1.0
1-1.1:1.1
1-1.2
1-1.2:1.0
2-0:1.0
2-1
2-1:1.0
usb1
usb2

4voto

Bartosz Radaczyński Points 7160

J'ai résolu le problème en modifiant un paramètre dans /etc/laptop-mode/conf.d/usb-autosuspend.conf

D'après un commentaire dans le fichier de configuration, certains périphériques USB ne prennent pas en charge correctement l'autosuspension.

Il y a une option dans la configuration AUTOSUSPEND_USBID_BLACKLIST pour ajouter une liste d'identifiants de périphériques USB pour les périphériques fautifs, j'ai ajouté l'identifiant de la souris et maintenant cela fonctionne sans problème.

#
# Fichier de configuration pour le module usb-autosuspend de Laptop Mode Tools.
#
# Pour plus d'informations, consultez la page de manuel laptop-mode.conf(8).
#

###############################################################################
# Paramètres d'autosuspension USB
# ------------------------
#
# Si vous activez ce paramètre, les outils du mode portable activeront automatiquement la
# fonction d'autosuspension USB pour tous les périphériques.
#
# REMARQUE : Certains périphériques USB prétendent prendre en charge l'autosuspension, mais l'implémentent de
# manière défectueuse. Cela peut signifier des pertes de frappes sur les claviers, ou des souris optiques à LED
# s'éteignant complètement. Si vous avez un périphérique qui se comporte mal, ajoutez son identifiant USB
# à la liste noire ci-dessous et plaignez-vous à votre fournisseur de matériel.
################################################################################

# Activer le mode debug pour ce module
# Définissez à 1 si vous voulez déboguer ce module
DEBUG=0

# Activer la fonction d'autosuspension USB ?
# Définissez à 0 pour désactiver
CONTROL_USB_AUTOSUSPEND="auto"

# La liste des identifiants USB qui ne doivent pas utiliser l'autosuspension. Utilisez lsusb pour connaître les
# identifiants de vos périphériques USB.
# Exemple : AUTOSUSPEND_USBID_BLACKLIST="046d:c025 0123:abcd"
AUTOSUSPEND_USBID_BLACKLIST="03f0:8501"

# La liste des types de pilotes USB qui ne doivent pas utiliser l'autosuspension. Le type de pilote est donné par
# "DRIVER=..." dans le fichier uevent d'un périphérique USB.
# Exemple : AUTOSUSPEND_USBID_BLACKLIST="usbhid usb-storage"
AUTOSUSPEND_USBTYPE_BLACKLIST=""

# Déclencher la mise en veille automatique du périphérique USB dans des circonstances conditionnelles
BATT_SUSPEND_USB=1
LM_AC_SUSPEND_USB=0
NOLM_AC_SUSPEND_USB=0

# Délai d'autosuspension USB en secondes
# Nombre de secondes après lesquelles les périphériques USB devraient se mettre en veille
AUTOSUSPEND_TIMEOUT=2

2voto

Paul Beckingham Points 7460

Peut-être avez-vous besoin de modifier les valeurs de puissance de vos appareils USB

Trois domaines à considérer :

  1. Désactiver complètement la gestion de l'alimentation USB
  2. Désactiver le contrôle de suspension USB sur une base de périphérique individuel
  3. Désactiver la suspension USB (Natty)

Désactiver complètement la gestion de l'alimentation USB

On devrait d'abord confirmer s'il s'agit réellement d'un problème de gestion de l'alimentation.

Vérifiez à nouveau s'il n'y a pas d'options de gestion de l'alimentation USB dans votre BIOS.

Démarrer votre ordinateur avec acpi=off comme option de démarrage de Grub. Si la souris se comporte correctement, il est très probable qu'il s'agisse d'un problème de gestion de l'alimentation. Si elle continue à se comporter de manière erratique, signalez un bogue à Launchpad.

Deux façons possibles de désactiver toute la gestion de l'alimentation USB.

  1. Option de démarrage de Grub usbcore.autosuspend=-1
  2. Installer laptop-mode-tools depuis le Centre de logiciels et modifier /etc/laptop-mode/conf.d/usb-autosuspend.conf:

il y a diverses valeurs à modifier :

CONTROL_USB_AUTOSUSPEND="auto" --> CONTROL_USB_AUTOSUSPEND="0"
AUTOSUSPEND_USBID_BLACKLIST=""
AUTOSUSPEND_USBTYPE_BLACKLIST=""

Désactiver la gestion de l'alimentation USB sur une base de périphérique

Regardez dans /sys/bus/usb/devices

entrer la description de l'image ici

Vous devriez voir vos concentrateurs USB au format "x-x", c'est-à-dire pour mon ordinateur portable j'ai deux "1-1" et "2-1"

Essayez en changeant le contrôle de l'alimentation de "auto" à "on"

par exemple. source

power/control

Ce fichier contient l'un des deux mots : "on" ou "auto". Vous pouvez écrire ces mots dans le fichier pour changer le paramètre du périphérique.

"on" signifie que le périphérique doit être réactivé et la mise en veille automatique n'est pas autorisée. (Bien sûr, les suspensions du système sont toujours autorisées.)

"auto" est l'état normal où le noyau est autorisé à mettre en veille et réveiller automatiquement le périphérique.

N.B. jusqu'au noyau 2.6.38 il y avait une valeur similaire appelée "power/level" - celle-ci a été obsolète/supprimée en faveur de power/control

donc pour changer le contrôle de l'alimentation en "on"

sudo su
echo on > /sys/bus/usb/devices/1-1/power/control
echo on > /sys/bus/usb/devices/2-1/power/control

Ensuite, débranchez la batterie.

J'ai également lu qu'il est peut-être nécessaire d'utiliser cette technique directement sur les périphériques USB eux-mêmes - dans mon cas "usb1" et "usb2"

sudo su
echo on > /sys/bus/usb/devices/usb1/power/control
echo on > /sys/bus/usb/devices/usb2/power/control

Si cela fonctionne, essayez de forcer le niveau de puissance à être "on" au démarrage en modifiant votre fichier rc.local c'est-à-dire ajoutez les lignes suivantes avant le "exit 0" dans le fichier

[ -w /sys/bus/usb/devices/1-1/power/control ] && echo on > /sys/bus/usb/devices/1-1/power/control
[ -w /sys/bus/usb/devices/2-1/power/control ] && echo on > /sys/bus/usb/devices/2-1/power/control

ou éventuellement :

[ -w /sys/bus/usb/devices/usb1/power/control ] && echo on > /sys/bus/usb/devices/usb1/power/control
[ -w /sys/bus/usb/devices/usb2/power/control ] && echo on > /sys/bus/usb/devices/usb2/power/control

Désactiver la suspension USB (Natty)

Il vaut également la peine d'expérimenter avec "power/autosuspend_delay_ms"

Le fait de définir une valeur de "-1" signifie que le périphérique USB ne doit jamais se mettre en veille c'est-à-dire

sudo su
echo -1 > /sys/bus/usb/devices/usb1/power/autosuspend_delay_ms
echo -1 > /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms

ou

sudo su
echo -1 > /sys/bus/1-1/devices/usb1/power/autosuspend_delay_ms
echo -1 > /sys/bus/2-1/devices/usb2/power/autosuspend_delay_ms

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X