# Logitech MX Installation

## mizery de aria

I couldn't find any information on this forum in regards to installing/configuring Logitech MX mice.  In particular I need assistance with installing my Logitech MX 500.  I'm sure there's resources on the Internet somewhere and I will take the time to do my research, but I will provide documentation or references/links on this forum as well for those others who are interested in having the information available from here.

Keywords: Logitech MX 900, Logitech MX 500, Logitech MX 500, Logitech MX 310, Logitech MX 300

(I'm sure the installation/configuration for these mice are similar if not the same)

Now on to my research...  If you happen to be able to assist in providing information in regards to this subject, feel free to do so.

Not exactly related directly to Logitech, but if you end up having a cursor that appears as a 2x2 centimeter (cm) square, then read http://www.linuxquestions.org/questions/showthread.php?s=&threadid=10590

An almost working solution to get the MX 500 buttons to function -> http://www.linuxquestions.org/questions/archive/18/2003/11/1/112566

More button configuring -> http://www.linuxquestions.org/questions/archive/18/2003/08/3/82487

Lastly -> http://www.linuxquestions.org/questions/archive/18/2003/08/4/36469

I can't find much other information on this surprisingly.  Most of the results on Google aren't English.

--

My particular issue is that I have a laptop (w/touchpad) and my Logitech MX 500 isn't detected.  When I boot up with the USB mouse plugged in, the touchpad doesn't work properly in X.  When I boot up with the USB mouse unplugged, the touchpad works fine.  Then after booting when I plug in the USB, it's still not detected and the touchpad still works fine.  The cause is most likely because a lack of configuring my kernel/system for the Logitech MX 500.  I have no clue where to start though.  I have some ideas, but since I'm a complete newbie, I am not sure what the procedure to follow would be.  I should go outside (yeah right...) and snag a book on Linux...or order one online..which would require me to open a door once the UPS/Fedex person arrives, which would cause me to be exposed to sunlight...eek!  Btw, I'm using the 2.6.0 kernel.  If it makes a difference, I have a HP Pavilion ze4145

I initially couldn't find any threads on this forum, but after thorough searching here are some that may be related.  I have yet to review them beyond skimming them.

Gentoo Forum Links:

MX700 -> https://forums.gentoo.org/viewtopic.php?t=119041

Cordless Duo -> https://forums.gentoo.org/viewtopic.php?t=117622

Scroll wheel -> https://forums.gentoo.org/viewtopic.php?t=96283

Smooth move -> https://forums.gentoo.org/viewtopic.php?t=105631

Unusual scroll -> https://forums.gentoo.org/viewtopic.php?t=110642

Wheel works -> https://forums.gentoo.org/viewtopic.php?t=102809

Kernel config -> https://forums.gentoo.org/viewtopic.php?t=102893&highlight=logitech

Mouse jerk -> https://forums.gentoo.org/viewtopic.php?t=100147

----------

## NeddySeagoon

mizery,

Your kernel is probaly OK since the USB mouse works at all.

You need two working mouse sections in your XF86Config file.

The second mouse section needs 

```
Option "SendCoreEvents"

```

set and it needs to be called by name in the ServerLayour section like this.

 *Quote:*   

> 
> 
>     InputDevice "Mouse1" "CorePointer"
> 
>     InputDevice "Keyboard1" "CoreKeyboard"
> ...

 

:

----------

## mizery de aria

Actually, the USB mouse doesn't work.  The touchpad works.  It's just that if I boot up the laptop while the USB mouse is plugged in, the touchpad scrolling isn't accurate.  Other than gathering resources/links/info as seen in the first post, I have yet to start working on this issue, which I'll be doing now and returning with my status/results.

For now, consider this a documentory, or a work in progress, detailing my attempt at configuring my Logitech MX 500, but perhaps also a valuable resource to others who want all the information available in one place for ease of finding

If someone could provide a working/functional /etc/X11/XF86Config-4 file for any version Logitech MX mouse, that would be great.

--

For starters: ( https://forums.gentoo.org/viewtopic.php?t=100147 )

 *fizz wrote:*   

> if your running with a USB mouse, make sure you compile in support for OHCI, EHCI, and UHCI otherwise you will have issues.

 

Device Drivers -> USB Support

I had EHCI and UHCI included.  OHCI was not included, but I just included it.  So now I have all three included in my kernel.  Recompiling now

--

Rebooted with the USB mouse plugged in and it is detected.  Next step, to make sure all buttons are detected, for the MX 500 anyway

--

MX 500 Buttons:

left: button 1

middle (scroll button function): button 2

middle (scroll wheel function): nonfunctional

right: button 3

button above wheel: button 2

button below wheel: nonfunctional

button 2 below wheel: button 1

top side: button 3

bottom side: button 2

The lines above in bold need reconfiguring yet.  I'll figure it out, unless someone does so before me.

----------

## NeddySeagoon

mizery de aria,

 *Quote:*   

> I had EHCI and UHCI included. OHCI was not included, but I just included it. So now I have all three included in my kernel. Recompiling now

 

You can have EHCI (for USB2.0) and one of the other compiled in otherwise your USB1.1 will break. If you want to build them all you have to do it as modules.

Is your touchpad USB or PS/2?

Check in /dev/input for mouse0 with the USB mouse plugged in.

You will need   *Quote:*   

> CONFIG_USB_HID=m
> 
> CONFIG_USB_HIDINPUT=y
> 
> CONFIG_USB_HIDDEV=y
> ...

  available to your kernel but not *Quote:*   

>  # CONFIG_USB_KBD is not set
> 
> # CONFIG_USB_MOUSE is not set

  They are incompatible.

You will also need *Quote:*   

> CONFIG_INPUT_MOUSEDEV=m
> 
> CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600
> 
> CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200

  but set your own screen resolution.

In XF86Config you need a section like *Quote:*   

> 
> 
> # **********************************************************************
> 
> # USB Mouse InputDevice section
> ...

 

----------

## mizery de aria

 *NeddySeagoon wrote:*   

> Is your touchpad USB or PS/2?

 

I don't think it's either.  My computer is a laptop.  The touchpad is embedded into the system.

 *NeddySeagoon wrote:*   

> Check in /dev/input for mouse0 with the USB mouse plugged in.

 

mice, mouse0, and mouse1 exist

----------

## NeddySeagoon

mizery de aria,

Even though you have a laptop system, the designers are lazy and cost consious. They will not invent a whole new interface for a touch pad when ther are several that your PC has anyway that will do.

Since you have both mouse0 and mouse1, I would expect one to be the touchpad and the other to be the USB mouse. If so, your kernel is in good shape.

Test the above by doing 

```
cat /dev/input/mouse0
```

 and playing with both inupt device, then repeating for 

```
cat /dev/input/mouse1
```

I have a feeling that /dev/input/mice gets you all in mouse events from all of your USB pointers but I only have one, so can't test.

If that works then its on to XF86Config, as I suggested in my last post.

----------

## mizery de aria

Here's what I have in my /etc/X11/XF86Config:

 *Quote:*   

> Section "InputDevice"
> 
>     Identifier	"Mouse1"
> 
>     Driver	"mouse"
> ...

 

Originally, for Mouse1 I had:

 *Quote:*   

>     Option	"Device"      "/dev/mouse"

 

but I used "cat /dev/mouse" and moved the touchpad and the usb mouse and they both returned data through /dev/mouse, so I configured Mouse1 to be /dev/input/mouse0 only, which is my touchpad.

After saving the changes as seen above (in XF86Config) and restarting X, the touchpad (/dev/input/mouse0) functions properly, whilch the usb mouse (/dev/input/mouse1) doesn't manipulate the cursor in X.  Although, I just tested "cat /dev/input/mouse1) and using the USB mouse does return data, so it is functioning, but it doesn't manipulate the cursor.  Any ideas what I need to do to allow it to control the cursor in X?

I just found in /etc/X11/XF86Config:

 *Quote:*   

> # **********************************************************************
> 
> # ServerLayout sections.
> 
> # **********************************************************************
> ...

 

I'm adding after "Mouse1":

 *Quote:*   

>     InputDevice "Mouse2" "SendCoreEvents"

 

Nope.  That didn't work.

I'm changing

 *Quote:*   

>     InputDevice "Mouse2" "SendCoreEvents"

 

to

 *Quote:*   

>     InputDevice "Mouse2" "CorePointer"

 

That didn't work either.

Question: *Quote:*   

> On another note.  I use Gnome, and when the Gnome login screen appears, it takes approximately 15 seconds before I can control the cursor on the screen, even if I login immediately.  I'm not sure what the reason is.  Any ideas?  When I first installed it, I was able to control the cursor immediately upon loading X.

 

Answer: *Quote:*   

> In my /etc/X11/XF86Config: I had configured my touchpad to use protocol "Auto" in which it probably had to capture examples of data  to analyze/probe them, determining the protocol automatically, and thus couldn't produce output on the first bits of data, thus the problem.  Solution was to specify a protocol, such as "PS/2" and then it works instantly without any delay.

 

Problem:

 *Quote:*   

> Anyway, the touchpad functions, but the USB doesn't.  I can remove the 2nd mouse device entry in the XF86Config and revert the Mouse1 entry to use /dev/mouse rather than /dev/mouse0 to capture both mice, but I'd like to be able to configure both separately so that I can take advantage of all 8 buttons on my Logitech MX 500

 

Solution:

 *Quote:*   

> I have gotten both mice to work, but I haven't configured XF86Config to take advantage over all buttons on my mouse.  Once I figure it out, I'll post exact details as to how to do so.  For the time being the following may help you get a start like I have.
> 
> What I've learned:
> 
>  *Quote:*   cat /dev/mouse: This captures data from my touchpad and my usb mouse
> ...

 

----------

