web-dev-qa-db-fra.com

Comment faire en sorte que Logitech Anywhere MX fonctionne dans Ubuntu 12.X?

J'ai une souris Logitech Anywhere MX (sans fil). Lorsque je la connecte à l'ordinateur, cela ne fonctionne pas.

La souris fonctionne sur d'autres ordinateurs avec Windows et avec Fedora 17 et Fedora 19, mais ne fonctionne pas sur deux ordinateurs différents avec Ubuntu 12.04 et 12.10. De plus, ces mêmes ordinateurs fonctionnent avec une autre souris sans fil Microsoft.

Je pense donc que la combinaison de Logitech MX et Ubuntu ne fonctionne pas bien.

L'entrée de journal dmesg se présente comme suit:

[  578.845838] usb 3-2: Product: USB Receiver
[  578.845841] usb 3-2: Manufacturer: Logitech
[  578.851625] logitech-djreceiver 0003:046D:C52B.0009: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-2/input2
[  578.851899] logitech-djreceiver 0003:046D:C52B.0009: logi_dj_probe:logi_dj_recv_query_paired_devices error:-32
[  578.854518] logitech-djreceiver: probe of 0003:046D:C52B.0009 failed with error -32

Au lieu de l'attendu (pris de Fedora):

[154344.634520] usb 2-1.2: Manufacturer: Logitech
[154344.647935] logitech-djreceiver 0003:046D:C52B.000D:
hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on
usb-0000:00:1d.0-1.2/input2
[154344.653788] input: Logitech Unifying Device. Wireless PID:1017 as
/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/0003:046D:C52B.000D/input/input21
[154344.654192] logitech-djdevice 0003:046D:C52B.000E: input,hidraw1:
USB HID v1.11 Mouse [Logitech Unifying Device. Wireless PID:1017] on
usb-0000:00:1d.0-1.2:1

UPDATE: Je dirais qu'à ce stade, solaar est la voie à suivre. J'ai donc accepté une réponse précédente suggérant ceci.

14
alfC

Solaar a travaillé pour moi en 12.04. En type de terminal:

Sudo add-apt-repository ppa:daniel.pavel/solaar  
Sudo apt-get update  
Sudo apt-get install solaar  

Une fois installé, ouvrez Solaar dans le menu Dash et cliquez sur dans le coin supérieur gauche. Cliquez sur dans le coin inférieur droit et suivez les instructions.

Si les périphériques logitech ont déjà été couplés à un autre ordinateur, vous devrez peut-être d'abord dissocier les périphériques logitech des autres ordinateurs. Après avoir redémarré Ubuntu sans le récepteur logitech en USB, démarrez Solaar depuis Dash/menu, branchez le récepteur logitech, cliquez sur "ajouter de nouveaux périphériques" et activez/désactivez le nouveau périphérique. Répétez pour chaque appareil.

Une fois jumelés, les appareils sont reconnus à chaque fois que vous démarrez Ubuntu (Solaar est automatiquement installé dans les "applications de démarrage").

Vérifiez également ce lien en tant que source http://www.webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html ou pour plus de résolution des problèmes

5
ubunoop

J'ai amélioré le script en haut, puis ajouté une règle udev à déclencher chaque fois que la souris était branchée. J'utilise un Logitech Performance MX mais la règle devrait être similaire.

#!/bin/bash

# loop up to 10 times trying to fix the mouse insertion
for i in {1..10}
do

  # exit the script if there was no mouse error
  if [ `dmesg | grep "logitech-djreceiver" | tail -1 | grep -c "failed with error -32"` -eq 0 ]; then
    echo "No logitech receiver error...exiting" ;
    exit 0 ;
  else
    # try to reload the mouse driver
    echo `date`" Error detected, trying reload of logitech hid driver" ;
    rmmod hid_logitech_dj ;
    modprobe hid_logitech_dj ;
    sleep 1 ;
  fi

done

Cela tente jusqu'à 10 fois de recharger le pilote avant de quitter.

J'ai nommé le script /usr/bin/mousefix et fait un chmod +x.

Voici la règle udev, une ligne pouvant être ajoutée à /etc/udev/rules.d/10-local.rules

SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{manufacturer}=="Logitech", ATTRS{product}=="USB Receiver", ACTION=="add", RUN+="/usr/bin/mousefix"

J'espère que cela aide quelqu'un d'autre. Il semblait plus facile de lancer le script à chaque connexion USB.

14
Dennis Kubes

Vous devez uniquement mettre à jour le système si vous utilisez 12.04 ou 12.10.

J'ai eu plusieurs questions concernant la souris Anywhere et la souris Touch M600

Le récepteur Unifying de Logitech est-il pris en charge?

Puis-je utiliser la souris Logitech Touch Mouse M600?

J'ai même participé à ce bogue du tableau de bord: https://bugs.launchpad.net/linux/+bug/958174 où plusieurs solutions telles que:

Sudo modprobe -r hid_logitech_dj
Sudo modprobe hid_logitech_dj

ont été mentionnés, mais à la fin, la mise à jour du système a corrigé tous les problèmes avec les deux souris.

Il existe même une réponse à ce sujet ici: Logitech M515 ne fonctionne pas après la mise à niveau vers 12.04

Mais pour les 4 ordinateurs que j'ai testés, la solution consistait à activer par défaut tous les référentiels non activés (univers, multivers, proposé, backport), à effectuer une mise à jour et une mise à niveau. Redémarrez et la souris devrait fonctionner parfaitement.

Si, par hasard, cela ne résout pas le problème, il vous sera plus utile d'effectuer un diagnostic, par exemple:

  1. Après le redémarrage, déconnectez/connectez le récepteur Logitech. Ouvrez un terminal et tapez dmesg pour voir les dernières lignes qui mentionneront le destinataire. Voir si une erreur est apparue.

  2. Tapez lsusb. Vous devriez voir une ligne semblable à celle ci-dessous si tout a été détecté correctement:

    Bus 002 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver

  3. Allumez/éteignez la souris (l’interrupteur marche/arrêt dans la souris est en bas) et testez.

Cela a été testé dans les ports USB 2.0 et 3.0. Pour vous assurer (du moins pour la plupart des utilisateurs) que cela fonctionne, TOUS les référentiels doivent être activés. Comme les 3 images suivantes:

Nous voyons ici l'univers principal , , restreint et multivers activé. J'ai également changé le serveur de mon pays en MAIN

enter image description here

Ici, j’ai activé, car ils étaient éteints, les référentiels Canonical et tiers.

enter image description here

Nous voyons ici les backports et activés (à côté de la sécurité et des mises à jour).

enter image description here

Après tout ce que j'ai fait un Sudo apt-get update && Sudo apt-get upgrade. Redémarrage du PC et terminé.

La souris devrait fonctionner à chaque fois qu'elle est allumée, mais si cela échoue, je vois quelques raisons pour lesquelles:

  • La souris Anywhere MX draine les piles plus rapidement que d’autres souris que j’ai testées. Dans mes tests, Anywhere MX utilise deux fois plus de batterie que la Touch Mouse M600 et au moins 20 fois plus que la Logitech V450. Par exemple, si vous l'utilisez tous les jours, vous pouvez utiliser le Anywhere MX pendant un mois et demi. La souris tactile dure environ 4 à 5 mois. Le V450 dure clairement une année complète jusqu'à 16 mois. Alors vérifiez les piles. Je soupçonne que cela est dû à la technologie Darkfield.

  • Lorsque la souris Anywhere MX est allumée, un voyant vert clignote pendant environ 3 secondes, puis s'éteint. Cela ne signifie pas que la souris est éteinte, cela signifie simplement que les piles de la souris sont bonnes. Si les voyants étaient rouges, vous devez les changer. Dans les deux cas, le voyant s'allume en vert ou en rouge, puis s'éteint pour préserver les piles.

  • Le commutateur pour allumer/éteindre la souris ci-dessous peut être utilisé autant de fois que vous le souhaitez lors de l'utilisation d'Ubuntu, mais il est préférable de l'éteindre si vous ne l'utilisez pas. De cette façon, cela durera plus longtemps. Par exemple, quand vous dormez, allez au travail, etc.

  • Certaines options du BIOS peuvent avoir un impact sur la souris. Vérifiez le BIOS de votre carte mère pour les options USB. Jouez avec eux au cas où la souris ne fonctionnerait pas.

  • Changer le port USB où le récepteur est connecté. Certains ports (comme les ports frontaux) sont réputés pour nuire à la présence de périphériques très puissants.

5
Luis Alvarado

Il existe une solution de contournement consistant à utiliser ce script (copiez-le dans un script .sh, chmod + x ce fichier et exécutez-le en tant que root:

#!/bin/bash
while :; do dmesg|grep logitech-djreceiver|tail -1|grep -q -c "failed with error -32" || exit; 
echo -n `date`" Driver Reload" ; 
rmmod hid_logitech_dj ; 
modprobe hid_logitech_dj ; 
dmesg|grep logitech-djreceiver|tail -1 ; sleep 1; done

Ou téléchargez le fichier mousefix.sh qui est un lien sur cette page ici:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1039143/comments/55

Ce correctif fonctionne en supprimant et en rajoutant (rmmod + modprobe) hid_logitech_dj, qui est le module responsable du récepteur unificateur. Il le fait dans une boucle while une fois par seconde jusqu'à ce qu'il soit enfin reconnu.

Il existe apparemment un bogue dans le noyau Linux lié à l’utilisation de ce récepteur sur un port XHCI (USB 3) et des versions plus récentes du noyau Linux. Cela fonctionne probablement très bien sur les ports USB2. (?)

Voici le long fil de discussion sur ce problème, où les développeurs et beaucoup d'autres personnes ont travaillé à résoudre ce problème.

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

Des accessoires à Jelle Foks pour comprendre cela. M'avait rendu fou depuis des lustres.

Comme je laisse tout le temps mon récepteur, j’exécute ce script au démarrage, puis le reprend à partir du sommeil pour un correctif "automatique" et il a très bien fonctionné depuis un moment.

Laissez-moi savoir si cela fonctionne.

4
Wendell

K, merci beaucoup "Dennis Kubes" pour votre script, mais n'a pas fonctionné pour moi. J'ai dû l'ajuster pour que cela fonctionne:

#!/bin/bash

# loop up to 10 times trying to fix the mouse insertion
    Sudo modprobe -r hid_logitech_dj && Sudo modprobe hid_logitech_dj ;

for i in {1..10}
do

  # exit the script if there was no mouse error
  if [ `dmesg | tail -1 |  grep "logitech-djreceiver: probe of" | grep -c "error -32"` -eq 0 ]; then
    echo "No logitech receiver error...exiting" ;
    exit 0 ;
  else
    # try to reload the mouse driver
    echo `date`" Error detected, trying reload of logitech hid driver" ;
    Sudo modprobe -r hid_logitech_dj && Sudo modprobe hid_logitech_dj ;
    sleep 1 ;
  fi

done

J'espère que cela aidera quelqu'un.

0
suther