[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: logitech mouse [was: Lost Trust]



Erik Steffl <steffl@bigfoot.com> wrote:
> Eric Wong wrote:
> > Erik Steffl <steffl@bigfoot.com> wrote:
> > 
> >>  if the driver is available somewhere it is probably fairly easy to
> >
> >>make it work with debian kernel. sometime it's not that easy to get
> >the >HW working, e.g. when I got the SATA HD I had to spend time on
> >lkml, >apply patches (well, use ac kernel with manually applied
> >libata5 >patches) etc. lot of fun. and now e.g. extra button on
> >logitech mouse >doesn't work (worked fine with 2.4.x but 2.6.x is too
> >smart (more like >smart-ass)).
> > 
> > 
> > Which Logitech mouse?  I'm assuming it's PS/2 since USB mice work
> > more or less the same (evdev is recommended for USB).  I co-wrote
> > the 2.6 Logitech PS/2++ driver and also maintain a Debian package[1]
> > for the logitech_applet which controls USB functions.
> 
>    what's the status of the logitech driver? on my system the side 
> button doesn't work (xev thinks it's button 2). Any comments (should
> it work? known problem?)

First off, sorry for the late reply, I've been loaded with work.

It works great for me, but there have been many complaints lodged
against the 2.6 PS/2 input model in general (but not specifically
related to Logitech mice). Dmitry may be restructuring it a bit, but
basically all that needs to be done (IMHO) is to add device-ids for auto
detection as needed, and wait for Logitech to change or add new stuff to
the PS/2++ protocol.

In your case, it may be because the mouse isn't autodetecting correctly
since the device id isn't in logips2pp_list[] (the original code didn't
even have any comments for model names).

The below patch causes it to print the model number of your mouse, and
lets you add it as necessary to the device list (assuming it's not
already there).

--- orig/drivers/input/mouse/logips2pp.c
+++ mod/drivers/input/mouse/logips2pp.c
@@ -186,6 +186,8 @@
 
 	psmouse->type = PSMOUSE_PS2;
 
+	printk(KERN_INFO "logips2pp model number: %i\n", psmouse->model);
+	
 	for (i = 0; logips2pp_list[i].model; i++){
 		if (logips2pp_list[i].model == psmouse->model){
 			psmouse->type = PSMOUSE_PS2PP;

My patch is against 2.6.6 since I restructured it in 2.6.6 to make it
much more maintainable. The below files are straight out if 2.6.6 and
should easily work in 2.6.5 if you find them necessary:

http://des.petta-tech.bogomips.org/~eric/logips2pp.c [already patched]
http://des.petta-tech.bogomips.org/~eric/logips2pp.h

If you find that your model number is already in logips2pp_list[] and
the features are correctly enabled, then we may have a bigger problem :/

I've been told reloading the psmouse module and/or reattaching the mouse
can get it to detect correctly, too, but I haven't been able to look
into that much.

>    it's ps/2 logitech cordless mouseman wheel, this is on debian 
> unstable, kernel  2.6.5, X settings: Option "Protocol" "ImPS/2",
> Option "Device" "/dev/psaux", here's what kernel says when I modprobe
> psmouse:

You may also want to try Zephaniah E. Hull's excellent evdev driver
(already in the Debian X 4.3.0 package).

	Option "Protocol" "evdev"
	Option "Dev Name" <dev name>

where <dev name> is the contents of the N: Name= field in
/proc/bus/input/devices.  Alternately, if you have multiple devices with
the same Name, you can use:

	Option "Dev Phys" <dev phys>

instead (or along side "Dev Name")  <dev phys> is obtained the same way
as name.

> May 31 17:03:26 jojda kernel: input: ImPS/2 Logitech Wheel Mouse on 
> isa0060/serio1
> 
>    it used to work with kernel 2.4.x

The 2.4 kernel didn't do much (or anything) with PS/2 mouse protocols,
userspace handled it all.

-- 
Eric Wong                normalperson@yhbt.net
Petta Technology, Inc      eric@petta-tech.com



Reply to: