Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a Logitech Anywhere MX mouse (wireless), when I connect it to the computer it doesn't work.

The mouse works in other computers with Windows and with Fedora 17 and Fedora 19, but it doesn't work in two different computers with Ubuntu 12.04 and 12.10. Moreover these same computers work with another Microsoft wireless mouse.

So I think the combination of Logitech MX and Ubuntu doesn't play well.

The dmesg log entry looks like this:

[  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

Instead of the expected (taken from 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: I would say that at this point, solaar is the way to go. So I accepted a previous answer suggesting this.

share|improve this question
    
In looks like this is a workaround, it worked for me the couple of times I tried: askubuntu.com/a/196915/15943. A permanent solution is also appreciated. –  alfC Nov 17 '12 at 6:26
    
ok, I spoke too early, the trick above didn't work again. –  alfC Nov 17 '12 at 16:12
    
    
Let me clarify that this seems to be a problem with the kernel, because the same problem occurs in Fedora 18 (using kernel 3.7.2). Fortunately the marked solution also solves this problem in Fedora 18. –  alfC Jan 22 '13 at 6:57
    
This my solve the problem of Logitech devices: webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html . I didn't try yet. –  alfC Jul 14 '13 at 10:56

5 Answers 5

up vote 1 down vote accepted

Solaar worked for me in 12.04. In terminal type:

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

Once installed, open Solaar from the Dash / menu. Then pair the logitech devices by switching them off and on again. (You may first have to unplug & plug logitech receiver from USB.)

If you had the logitech devices paired to another computer before, you may first need to unpair the logitech devices from the other computer(s). After that reboot Ubuntu without logitech receiver in USB, start Solaar from Dash / menu, plug in logitech receiver, click 'add new devices' and switch new device on/off to be recognized. Repeat for each device.

Once paired the devices are recognized every time you start ubuntu (Solaar is automatically installed in 'startup applications').

Also check this link as source http://www.webupd8.org/2013/07/pair-unpair-logitech-unifying-devices.html or for more trouble shooting

share|improve this answer

I enhanced the script up top and then also added a udev rule to fire whenever the mouse was plugged in. I am using a Logitech Performance MX but the rule should be similar.

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

This tries up to 10 times to reload the driver before exiting.

I named the script /usr/bin/mousefix and did a chmod +x.

Here is the udev rule, a line that can be added to /etc/udev/rules.d/10-local.rules

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

Hope this helps somebody else. It seemed like an easier thing to do to have the script run whenever the usb connected.

share|improve this answer
1  
Worked with Logitech Anywhere MX, both at start up and connection of USB plug. I'll accept this answer because it gives a permanent solution. –  alfC Dec 14 '12 at 20:04
    
My mousefix script is failing to run without sudo ... I am getting the error "ERROR: Removing 'hid_logitech_dj': Operation not permitted". Any suggestions? –  Jesse Webb Jan 6 '13 at 12:27
    
@JesseWebb - try chmod a+x to give universal execution privileges. –  Jess Telford Mar 3 '13 at 21:55
    
Looked for a fix for my issues with the Logitech Unifying receiver for a week before I found this. Works great, THANKS! –  Nathan Loding Mar 19 '13 at 9:42
    
Thanks for the solution. This prevented me from throwing away what I thought was a defective mouse! –  Flimzy Apr 30 '13 at 4:39

You only need to update the system if you are using 12.04 or 12.10.

I have had several questions related to the Anywhere Mouse and the Touch Mouse M600

Is Logitech's Unifying receiver supported

Can I use the Logitech Touch Mouse M600?

I even participated in this launchpad bug: https://bugs.launchpad.net/linux/+bug/958174 where several solutions like:

sudo modprobe -r hid_logitech_dj
sudo modprobe hid_logitech_dj

were mentioned but at the end, updating the system fixed all issues with both mouses.

There is even a askubuntu answer about it here: Logitech M515 does not work after upgrade to 12.04

But for all 4 computers I tested this, the solution was to activate all repositories by default not activated (universe, multiverse, proposed, backport), do an update and upgrade. Reboot and the mouse should work out of the box perfectly.

If by chance doing this does not fix the problem, then doing a diagnostic to it will help, for example:

  1. After rebooting disconnect/connect the Logitech Receiver. Open a terminal and type dmesg to see the last lines that will mention the receiver. See if an error appeared.

  2. Type lsusb. You should see a line similar to the one below if everything was detected correctly:

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

  3. Turn on/off the mouse (The on/off switch in the mouse is below) and test.

This has been tested in USB 2.0 and 3.0 ports. To make sure (at least for most users) that this work, ALL repositories have to be activated. Like the following 3 images:

Here we see main, universe, restricted and multiverse activated. I also changed the server from my country to MAIN

enter image description here

Here I activated since they were off, the Canonical and 3rd party repositories.

enter image description here

Here wee see proposed and backports activated (Beside security and updates).

enter image description here

After all that I did a sudo apt-get update && sudo apt-get upgrade. Rebooted the PC and done.

The mouse should work every time while turned on, but if this fails, I see a couple or reasons why:

  • The Anywhere MX mouse actually drains the batteries faster than other mice I have tested. In my tests, Anywhere MX uses 2x more battery than the Touch Mouse M600 and at least 20x more than the Logitech V450. For example, using it everyday, can use the Anywhere MX for 1.5 months to 2 months. The Touch Mouse lasts around 4 to 5 months. The V450 lasts clearly a full year up to 16 months. So check the batteries. I suspect this is due to the Darkfield Technology.

  • The Anywhere MX mouse when turned on a green light will flash for about 3 seconds then turn off. This does not mean the mouse if off, it just means that the mouse batteries are good. If the lights were red then you need to change them. In either case, the light will turn on with green or red then turn off to preserve the batteries.

  • The switch to turn on/off the mouse below can be switch any amount of times when using Ubuntu, but it is better to turn the mouse off when not using it. This way it will last longer. For example when sleeping, going to work, etc..

  • Certain BIOS options might have an impact on the mouse. Check your motherboard's BIOS for USB options. Play with them just in case the mouse does not work.

  • Change the USB port where the receiver is connected. Some ports (Like the front ports) are known to really suck at having high power devices on them.

share|improve this answer
    
It looks like backports is the key. I didn't activate proposed because I had problems to many times and I had universe and multiverse from the beggining). Now it works out of the box. –  alfC Nov 30 '12 at 20:32
    
Well, updating the system (no-proposed still) worked once, just by chance. I had to fall back to the modprobe trick, which seemed to work also only once, then I tried Wendel solution and it worked. –  alfC Nov 30 '12 at 21:06
    
@alfC - Thanks for the feedback friend. –  Luis Alvarado Nov 30 '12 at 23:45
    
I finally installed proposed repository and update/upgrade as a last resort; it doesn't work still. One detail to mention is that in this computer all the usb ports are 3.0. –  alfC Dec 2 '12 at 4:30
    
Don't worry about the USB 3.0 ports. Just tested the ones in my computer and the mouse still works. I am going to update my answer but it would be awesome if we could talk in chat. I will invite you to a chat and try to solve it there to avoid having a thousand comments here. –  Luis Alvarado Dec 2 '12 at 15:04

There is a workaround, using this script (copy this into a .sh script, chmod +x this file and run as 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

Or download mousefix.sh which is a link on this page here:

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

This fix works by removing and re-adding (rmmod + modprobe) hid_logitech_dj which is the module responsible for the unifying receiver. It does this in a while loop once a second until it is finally recognized.

There is apparently a Linux Kernel bug around using this receiver on an XHCI (USB 3) port and newer versions of the Linux Kernel. It probably works fine on USB2 ports. (?)

Here is the lengthy thread about this issue, where the developers and a lot of other people have been working to sort out this issue.

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

Props to Jelle Foks for figuring this out. Had been driving me insane for ages.

As I leave my receiver in all the time, I run this script at boot, and resume-from-sleep for an "automatic" fix and it has been working great the last little bit.

Let me know if this works.

share|improve this answer

K, thanks a lot "Dennis Kubes" for your Script, but didn't work for me. I had to adjust it to get it to work:

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

Hope this will help somebody.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.