Comment faire fonctionner Logitech Anywhere MX dans Ubuntu 12.X?

14

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

La souris fonctionne sur d'autres ordinateurs avec Windows et Fedora 17 et Fedora 19, mais elle 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' dmesgentrée de journal ressemble à ceci:

[  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 (tiré 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

MISE À JOUR: Je dirais qu'à ce stade, solaarc'est la voie à suivre. J'ai donc accepté une réponse précédente suggérant cela.

alfC
la source
En apparence, c'est une solution de contournement, cela a fonctionné pour moi les quelques fois où j'ai essayé: askubuntu.com/a/196915/15943 . Une solution permanente est également appréciée.
alfC
ok, j'ai parlé trop tôt, l'astuce ci-dessus n'a plus fonctionné.
alfC
Permettez-moi de préciser que cela semble être un problème avec le noyau, car le même problème se produit dans Fedora 18 (en utilisant le noyau 3.7.2). Heureusement, la solution marquée résout également ce problème dans Fedora 18.
alfC
Cela peut résoudre le problème des appareils Logitech: webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html . Je n'ai pas encore essayé.
alfC

Réponses:

5

Solaar a travaillé pour moi en 12.04. Dans le 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 vous avez déjà associé les périphériques logitech à 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 récepteur logitech en USB, démarrez Solaar à partir du tableau de bord / menu, branchez le récepteur logitech, cliquez sur 'ajouter de nouveaux périphériques' et allumez / éteignez un nouveau périphérique pour qu'il soit reconnu. Répétez l'opération pour chaque appareil.

Une fois couplés, les appareils sont reconnus à chaque démarrage d'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 dépannage

ubunoop
la source
La réponse est assez ancienne, mais: en 16.04 solaarest déjà dans le référentiel principal, donc on peut l'installer directement!
Lapshin Dmitry
14

J'ai amélioré le script en haut, puis j'ai également ajouté une règle udev pour 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/mousefixet fait un chmod +x.

Voici la règle udev, une ligne qui peut ê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 faire exécuter le script chaque fois que l'USB se connectait.

Dennis Kubes
la source
1
Fonctionne avec Logitech Anywhere MX, à la fois au démarrage et à la connexion de la prise USB. J'accepte cette réponse car elle donne une solution permanente.
alfC
Mon mousefixscript ne s'exécute pas sans sudo... J'obtiens l'erreur "ERREUR: Suppression de" hid_logitech_dj ": opération non autorisée". Aucune suggestion?
Jesse Webb
@JesseWebb - essayez chmod a+xde donner des privilèges d'exécution universels.
Jess Telford
J'ai cherché un correctif pour mes problèmes avec le récepteur Logitech Unifying pendant une semaine avant de le trouver. Fonctionne très bien, MERCI!
Nathan Loding
Merci pour la solution. Cela m'a empêché de jeter ce que je pensais être une souris défectueuse!
Flimzy
5

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 Touch Mouse M600

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

Puis-je utiliser la Logitech Touch Mouse M600?

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

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 résolu tous les problèmes avec les deux souris.

Il y a 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 était d'activer tous les référentiels par défaut non activés (univers, multivers, proposé, backport), de faire une mise à jour et une mise à niveau. Redémarrez et la souris devrait fonctionner parfaitement hors de la boîte.

Si par hasard cela ne résout pas le problème, alors faire un diagnostic aidera, par exemple:

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

  2. Tapez lsusb. Vous devriez voir une ligne similaire à 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 de la souris est ci-dessous) et testez.

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

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

entrez la description de l'image ici

Ici, j'ai activé depuis qu'ils étaient éteints, les référentiels canoniques et tiers.

entrez la description de l'image ici

Ici, nous voyons les propositions et les backports activés (à côté de la sécurité et des mises à jour).

entrez la description de l'image ici

Après tout ça, j'ai fait un sudo apt-get update && sudo apt-get upgrade. Redémarré le PC et terminé.

La souris devrait fonctionner à chaque fois lorsqu'elle est allumée, mais si cela échoue, je vois quelques raisons ou pourquoi:

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

  • La souris Anywhere MX lorsqu'elle 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 lumières étaient rouges, vous devez les changer. Dans les deux cas, la lumière s'allumera en vert ou en rouge, puis s'éteindra pour préserver les piles.

  • L'interrupteur pour allumer / éteindre la souris ci-dessous peut être activé à n'importe quel moment lorsque vous utilisez Ubuntu, mais il est préférable d'éteindre la souris lorsque vous ne l'utilisez pas. De cette façon, cela durera plus longtemps. Par exemple lorsque 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 juste au cas où la souris ne fonctionnerait pas.

  • Modifiez le port USB auquel le récepteur est connecté. Certains ports (comme les ports avant) sont connus pour avoir vraiment du mal à avoir des appareils à haute puissance.

Luis Alvarado
la source
On dirait que backportsc'est la clé. Je n'ai pas activé proposedparce que j'ai eu des problèmes à plusieurs reprises et je l'ai eu universeet multiversedepuis le début). Maintenant, cela fonctionne hors de la boîte.
alfC
Eh bien, la mise à jour du système (toujours pas proposée) a fonctionné une fois, juste par hasard. J'ai dû me rabattre sur l'astuce modprobe, qui semblait fonctionner également une seule fois, puis j'ai essayé la solution Wendel et cela a fonctionné.
alfC
J'ai finalement installé le proposedréférentiel et mis à jour / mise à niveau en dernier recours; ça ne marche pas encore. Un détail à mentionner est que dans cet ordinateur, tous les ports USB sont 3.0.
alfC
Ne vous inquiétez pas des ports USB 3.0. Je viens de tester ceux de mon ordinateur et la souris fonctionne toujours. Je vais mettre à jour ma réponse mais ce serait génial si nous pouvions parler dans le chat. Je vais vous inviter à un chat et essayer de le résoudre là-bas pour éviter d'avoir mille commentaires ici.
Luis Alvarado
4

Il existe une solution de contournement, en utilisant 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 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 finalement reconnu.

Il y a apparemment un bogue du noyau Linux autour de 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é pour résoudre ce problème.

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

Accessoires à Jelle Foks pour avoir compris cela. Ça me rendait fou depuis des lustres.

Comme je laisse mon récepteur tout le temps, j'exécute ce script au démarrage, et je reprends depuis le sommeil pour un correctif "automatique" et cela a très bien fonctionné la dernière fois.

Laissez-moi savoir si cela fonctionne.

Wendell
la source
0

K, merci beaucoup "Dennis Kubes" pour votre script, mais ça n'a pas marché pour moi. J'ai dû l'ajuster pour le faire fonctionner:

#!/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.

suther
la source