如何使Logitech Anywhere MX在Ubuntu 12.X中工作?


14

我有一个Logitech Anywhere MX鼠标(无线),当我将其连接到计算机时,它无法工作。

该鼠标可在装有Windows以及Fedora 17和Fedora 19的其他计算机上使用,但在装有Ubuntu 12.04和12.10的两台不同计算机上无法使用。而且,这些相同的计算机可以与另一个Microsoft无线鼠标一起使用。

因此,我认为Logitech MX和Ubuntu的组合不能很好地发挥作用。

dmesg日志条目看起来是这样的:

[  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

而不是预期的(取自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

更新:我要说的solaar是现在要走的路。因此,我接受了先前的建议。


看起来这是一种解决方法,它在我尝试过几次时对我有用askubuntu.com/a/196915/15943。永久解决方案也被赞赏。
alfC 2012年

好的,我讲得太早了,上面的技巧不再起作用。
alfC 2012年


让我澄清一下,这似乎是内核的问题,因为在Fedora 18中(使用内核3.7.2)也会发生相同的问题。幸运的是标记解决方案还解决了Fedora 18这个问题
alfC

这可以解决Logitech设备的问题:webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html。我还没试
alfC

Answers:


5

Solaar在12.04为我工作。在终端类型中:

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

安装完成后,从Dash菜单中打开Solaar,然后单击左上角的。单击右下角的,然后按照说明进行操作。

如果您之前已将Logitech设备与另一台计算机配对,则可能首先需要将Logitech设备与另一台计算机取消配对。重新启动没有USB逻辑接收器的Ubuntu后,从Dash /菜单启动Solaar,插入逻辑接收器,单击“添加新设备”,然后打开/关闭新设备以进行识别。对每个设备重复上述步骤。

一旦配对,设备将在您每次启动ubuntu时被识别(Solaar将自动安装在“启动应用程序”中)。

另外,请将此链接作为源http://www.webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html进行检查,或者进行更多故障排除


答案很老,但是:16.04 solaar中已经在主存储库中,因此可以直接安装它!
Lapshin Dmitry

14

我先增强了脚本,然后还添加了udev规则,以便在插入鼠标时立即触发。我使用的是Logitech Performance MX,但规则应相似。

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

退出前最多尝试10次以重新加载驱动程序。

我给脚本命名/usr/bin/mousefix并做了一个chmod +x

这是udev规则,可以将其添加到 /etc/udev/rules.d/10-local.rules

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

希望这对其他人有帮助。每次连接USB时都运行脚本似乎很容易。


1
在启动和连接USB插头时与Logitech Anywhere MX一起使用。我会接受这个答案,因为它提供了一个永久的解决方案。
alfC 2012年

我的mousefix脚本无法运行,没有sudo...我收到错误消息“错误:删除'hid_logitech_dj':不允许操作”。有什么建议么?
杰西·韦伯

@JesseWebb-尝试chmod a+x赋予通用执行权限。
杰西·特尔福德

在发现此问题之前一周,我一直在寻找与Logitech Unifying接收器有关的问题的修复程序。很棒,谢谢!
内森·罗丁

感谢您的解决方案。这阻止了我扔掉我认为是有缺陷的鼠标!
Flimzy

5

仅在使用12.04或12.10时才需要更新系统。

我有几个与Anywhere Mouse和Touch Mouse M600有关的问题

是否支持Logitech的Unifying接收器?

我可以使用Logitech触摸鼠标M600吗?

我什至参加了这个启动板错误:https : //bugs.launchpad.net/linux/+bug/958174,其中有几种解决方案,例如:

sudo modprobe -r hid_logitech_dj
sudo modprobe hid_logitech_dj

提到了这些问题,但最后,更新系统修复了两只鼠标的所有问题。

甚至还有一个关于此问题的askubuntu答案:升级到12.04后,Logitech M515不起作用

但是对于我测试过的所有4台计算机,解决方案都是默认情况下激活未激活的所有存储库(Universe,Multiverse,建议的,反向移植),进行更新和升级。重新启动,鼠标应该开箱即用。

如果偶然这样做不能解决问题,则对其进行诊断将有所帮助,例如:

  1. 重新启动后,断开/连接Logitech Receiver。打开终端,然后键入dmesg以查看将提及接收器的最后几行。查看是否出现错误。

  2. 输入lsusb。如果正确检测到所有内容,则应该看到类似于以下内容的一行:

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

  3. 打开/关闭鼠标(鼠标的打开/关闭开关在下面)并进行测试。

已在USB 2.0和3.0端口中进行了测试。为了确保(至少对于大多数用户而言)这项工作有效,必须激活所有存储库。像以下3张图片:

在这里,我们看到mainUniversestrictmultiverse被激活。我还将服务器从我的国家更改为MAIN

在此处输入图片说明

自从他们离开之后,就在这里激活了Canonical和第三方存储库。

在此处输入图片说明

在这里,我们看到了提议的反向移植已激活(除了安全性和更新)。

在此处输入图片说明

毕竟我做了一个sudo apt-get update && sudo apt-get upgrade。重新启动PC并完成。

每次打开鼠标时,鼠标都应该工作,但是如果失败,我会看到一些原因或原因:

  • 实际上,Anywhere MX鼠标的耗电速度比我测试过的其他鼠标快。在我的测试中,Anywhere MX的电池消耗比Touch Mouse M600多2倍,并且至少比Logitech V450多20倍。例如,每天使用它,可以在1.5个月至2个月内使用Anywhere MX。触摸鼠标可持续约4到5个月。V450显然可以全年使用长达16个月。因此,请检查电池。我怀疑这是由于暗场技术造成的。

  • 绿灯打开后,Anywhere MX鼠标将闪烁约3秒钟,然后关闭。这并不表示鼠标已关闭,仅表示鼠标电池良好。如果指示灯为红色,则需要对其进行更改。无论哪种情况,指示灯都会以绿色或红色点亮,然后熄灭以保存电池。

  • 下面的打开/关闭鼠标的开关可以在使用Ubuntu时任意切换,但是最好在不使用鼠标时将其关闭。这样,它将持续更长的时间。例如睡觉,上班等。

  • 某些BIOS选项可能会对鼠标产生影响。检查主板的BIOS中是否有USB选项。以防万一鼠标不起作用,请与他们一起玩。

  • 更改连接接收器的USB端口。某些端口(如前端口)在其上配备大功率设备确实很烂。


看起来backports是关键。我没有激活,proposed因为我有很多问题了,universe而且multiverse从开始就遇到了麻烦。现在,它开箱即用。
alfC 2012年

好吧,一次偶然的机会,更新系统(仍然没有提议)只能工作一次。我不得不退回到modprobe技巧上,该技巧似乎也只能起作用一次,然后我尝试了Wendel解决方案,它才起作用。
alfC 2012年

最后,我终于安装了proposed存储库并进行了更新/升级。它仍然无法正常工作。要提及的一个细节是,在这台计算机上,所有USB端口均为3.0。
alfC 2012年

不用担心USB 3.0端口。刚在我的计算机上测试过这些鼠标,鼠标仍然可以工作。我将更新我的答案,但如果我们可以聊天聊天,那将是很棒的。我将邀请您进行聊天,并尝试在此处进行解决,以避免在此处留下一千条评论。
Luis Alvarado

4

有一种解决方法,使用此脚本(将其复制到.sh脚本中,chmod + x此文件并以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

或在此处下载此页面上的链接的mousefix.sh:

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

此修补程序通过删除并重新添加(rmmod + modprobe)hid_logitech_dj来工作,该模块是负责统一接收器的模块。它每秒进行一次while循环,直到最终将其识别出来。

在XHCI(USB 3)端口和较新版本的Linux Kernel上使用此接收器时,显然存在Linux Kernel错误。它可能在USB2端口上工作正常。(?)

这是关于此问题的冗长话题,开发人员和许多其他人员一直在努力解决此问题。

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

杰勒·福克斯(Jelle Foks)提出的建议。多年来一直让我发疯。

当我一直离开接收器时,我会在启动时运行此脚本,然后从睡眠状态恢复以进行“自动”修复,并且最后一点都运行良好。

让我知道这个是否奏效。


0

K,非常感谢您的“ Dennis Kubes”脚本,但对我没用。我必须对其进行调整以使其正常工作:

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

希望这会帮助到别人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.