Como fazer o Logitech Anywhere MX funcionar no Ubuntu 12.X?


14

Eu tenho um mouse Logitech Anywhere MX (sem fio), quando o conecto ao computador, ele não funciona.

O mouse funciona em outros computadores com Windows e com o Fedora 17 e Fedora 19, mas não funciona em dois computadores diferentes com o Ubuntu 12.04 e 12.10. Além disso, esses mesmos computadores funcionam com outro mouse sem fio da Microsoft.

Então, acho que a combinação do Logitech MX e do Ubuntu não funciona bem.

A dmesgentrada do log é assim:

[  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

Em vez do esperado (retirado do 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

ATUALIZAÇÃO: Eu diria que, neste momento, solaaré o caminho a percorrer. Então aceitei uma resposta anterior sugerindo isso.


Parece que isso é uma solução alternativa, funcionou para mim as duas vezes que tentei: askubuntu.com/a/196915/15943 . Uma solução permanente também é apreciada.
ALFC

ok, falei cedo demais, o truque acima não funcionou novamente.
AlfC


Deixe-me esclarecer que isso parece ser um problema com o kernel, porque o mesmo problema ocorre no Fedora 18 (usando o kernel 3.7.2). Felizmente a solução marcado também resolve este problema no Fedora 18.
ALFC

Isso pode resolver o problema dos dispositivos da Logitech: webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html . Ainda não tentei.
ALFC

Respostas:


5

Solaar trabalhou para mim em 12.04. No tipo de terminal:

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

Uma vez instalado, abra o Solaar no menu Dash e clique no canto superior esquerdo. Clique no canto inferior direito e siga as instruções.

Se você já tinha os dispositivos da logitech emparelhados com outro computador antes, talvez seja necessário desemparelhar os dispositivos da logitech dos outros computadores. Depois disso, reinicie o Ubuntu sem o receptor da Logitech em USB, inicie o Solaar no Dash / menu, conecte o receptor da Logitech, clique em 'adicionar novos dispositivos' e ligue / desligue o novo dispositivo para ser reconhecido. Repita para cada dispositivo.

Uma vez emparelhados, os dispositivos são reconhecidos toda vez que você inicia o ubuntu (o Solaar é instalado automaticamente em 'aplicativos de inicialização').

Verifique também este link como fonte http://www.webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html ou para obter mais soluções para problemas


A resposta é bem antiga, mas: no 16.04 solaarjá está no repositório principal, é possível instalá-lo diretamente!
Lapshin Dmitry

14

Aprimorei o script na parte superior e também adicionei uma regra do udev para disparar sempre que o mouse era conectado. Estou usando um Logitech Performance MX, mas a regra deve ser semelhante.

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

Isso tenta até 10 vezes para recarregar o driver antes de sair.

Eu nomeei o script /usr/bin/mousefixe fiz a chmod +x.

Aqui está a regra do udev, uma linha que pode ser adicionada ao /etc/udev/rules.d/10-local.rules

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

Espero que isso ajude outra pessoa. Parecia uma coisa mais fácil de fazer para que o script fosse executado sempre que o usb estivesse conectado.


1
Trabalhou com o Logitech Anywhere MX, tanto na inicialização quanto na conexão do plugue USB. Aceito essa resposta porque ela fornece uma solução permanente.
ALFC

Meu mousefixscript está falhando ao executar sem sudo... Estou recebendo o erro "ERRO: Removendo 'hid_logitech_dj': operação não permitida". Alguma sugestão?
Jesse Webb

@JesseWebb - tente chmod a+xdar privilégios de execução universal.
Jess Telford

Procurei uma correção para meus problemas com o receptor Logitech Unifying por uma semana antes de encontrá-lo. Funciona muito bem, OBRIGADO!
precisa

Obrigado pela solução. Isso me impediu de jogar fora o que eu pensava ser um mouse defeituoso!
Flimzy

5

Você só precisa atualizar o sistema se estiver usando 12.04 ou 12.10.

Eu tive várias perguntas relacionadas ao mouse em qualquer lugar e ao Touch Mouse M600

O receptor Unifying da Logitech é suportado?

Posso usar o Logitech Touch Mouse M600?

Até participei desse bug da barra de ativação: https://bugs.launchpad.net/linux/+bug/958174, onde várias soluções, como:

sudo modprobe -r hid_logitech_dj
sudo modprobe hid_logitech_dj

foram mencionados, mas no final, a atualização do sistema corrigia todos os problemas com os dois mouses.

Existe até uma resposta do askubuntu aqui: Logitech M515 não funciona após a atualização para a versão 12.04

Mas, para todos os quatro computadores que testei, a solução era ativar todos os repositórios por padrão não ativados (universo, multiverso, proposto, backport), fazer uma atualização e atualização. Reinicie e o mouse deve funcionar perfeitamente fora da caixa.

Se por acaso fazer isso não resolver o problema, fazer um diagnóstico ajudará, por exemplo:

  1. Após a reinicialização, desconecte / conecte o Logitech Receiver. Abra um terminal e digite dmesgpara ver as últimas linhas que mencionarão o receptor. Veja se um erro apareceu.

  2. Digite lsusb. Você deve ver uma linha semelhante à abaixo se tudo foi detectado corretamente:

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

  3. Ligue / desligue o mouse (a chave liga / desliga do mouse está abaixo) e teste.

Isso foi testado nas portas USB 2.0 e 3.0. Para garantir (pelo menos para a maioria dos usuários) que este trabalho, TODOS os repositórios precisam ser ativados. Como as 3 seguintes imagens:

Aqui vemos o principal , universo , restrito e multiverso ativado. Também mudei o servidor do meu país para MAIN

insira a descrição da imagem aqui

Aqui eu ativei desde que eles foram desligados, os repositórios Canonical e de terceiros.

insira a descrição da imagem aqui

Aqui, vemos a proposta e os backports ativados (além de segurança e atualizações).

insira a descrição da imagem aqui

Depois de tudo o que eu fiz a sudo apt-get update && sudo apt-get upgrade. Reinicie o PC e pronto.

O mouse deve funcionar sempre que estiver ligado, mas se isso falhar, vejo algumas razões:

  • O mouse Anywhere MX, na verdade, descarrega as baterias mais rapidamente do que outros ratos que testei. Nos meus testes, o Anywhere MX usa 2x mais bateria que o Touch Mouse M600 e pelo menos 20x mais que o Logitech V450. Por exemplo, usá-lo todos os dias, pode usar o Anywhere MX por 1,5 meses a 2 meses. O Touch Mouse dura cerca de 4 a 5 meses. O V450 dura claramente um ano inteiro até 16 meses. Então verifique as baterias. Suspeito que isso se deva à Tecnologia Darkfield.

  • O mouse do Anywhere MX, quando ligado à luz verde, pisca por cerca de 3 segundos e depois se apaga. Isso não significa que o mouse esteja desligado, apenas significa que as pilhas estão boas. Se as luzes estavam vermelhas, é necessário alterá-las. Em ambos os casos, a luz acenderá em verde ou vermelho e depois apagará para preservar as baterias.

  • O botão para ligar / desligar o mouse abaixo pode ser alternado várias vezes ao usar o Ubuntu, mas é melhor desligar o mouse quando não estiver em uso. Desta forma, vai durar mais tempo. Por exemplo, quando dorme, vai trabalhar, etc.

  • Certas opções de BIOS podem ter um impacto no mouse. Verifique o BIOS da sua placa-mãe para opções de USB. Brinque com eles caso o mouse não funcione.

  • Mude a porta USB onde o receptor está conectado. Sabe-se que algumas portas (como as portas frontais) são realmente péssimas por possuir dispositivos de alta potência.


Parece que backportsé a chave. Não ativei proposedporque já tive problemas muitas vezes universee multiversedesde o início). Agora ele funciona imediatamente.
ALFC

Bem, a atualização do sistema (ainda sem proposta) funcionou uma vez, apenas por acaso. Eu tive que voltar ao truque modprobe, que parecia funcionar apenas uma vez, então tentei a solução Wendel e funcionou.
ALFC

Finalmente instalei o proposedrepositório e atualizei / atualizei como último recurso; ainda não funciona. Um detalhe a ser mencionado é que neste computador todas as portas usb são 3.0.
alfC 2/12/12

Não se preocupe com as portas USB 3.0. Acabei de testar os do meu computador e o mouse ainda funciona. Vou atualizar minha resposta, mas seria incrível se pudéssemos conversar no chat. Vou convidar você para um bate-papo e tentar resolvê-lo lá para evitar milhares de comentários aqui.
Luis Alvarado

4

Existe uma solução alternativa, usando este script (copie isso para um script .sh, chmod + x este arquivo e execute como 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 faça o download do mousefix.sh, que é um link nesta página aqui:

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

Essa correção funciona removendo e adicionando novamente (rmmod + modprobe) hid_logitech_dj, que é o módulo responsável pelo receptor unificador. Faz isso em um loop while uma vez por segundo até finalmente ser reconhecido.

Aparentemente, existe um bug do Kernel do Linux ao usar este receptor em uma porta XHCI (USB 3) e em versões mais recentes do Kernel do Linux. Provavelmente funciona bem em portas USB2. (?)

Aqui está o longo tópico sobre esse problema, no qual os desenvolvedores e muitas outras pessoas têm trabalhado para resolver esse problema.

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

Adereços para Jelle Foks por descobrir isso. Tinha me deixado louco por séculos.

Como deixo meu receptor o tempo todo, executo esse script na inicialização e retomo o sono para uma correção "automática" e ele tem funcionado muito bem nos últimos instantes.

Deixe-me saber se isso funciona.


0

K, muito obrigado "Dennis Kubes" pelo seu script, mas não funcionou para mim. Eu tive que ajustá-lo para fazê-lo funcionar:

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

Espero que isso ajude alguém.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.