[vox-tech] FYI: Trick to get around 2.6.8 kernel "mousedev" bug for Wacom use on Thinkpad T20

Bill Kendrick nbs at sonic.net
Sat Oct 8 15:12:20 PDT 2005


So I was _once again_ trying to get Melissa's working on her IBM Thinkpad T20,
which is currently running Debian Testing ('etch'), with 2.6.8 (-2-686) Kernel
and XFree86-4 (haven't upgraded to X.org, yet).

In the past, I had disabled the "mousedev" kernel module, as it used to
take control of the Wacom pad, causing useful features (like pressure) to
not be available.  (Just added "mousdev" to "/etc/hotplug/blacklist".)

However, I've since discovered that without "mousedev" (and "psmouse")
modules loaded, I cannot use the built-in mouse control (the little stick
thing in the middle of the keyboard).  "/dev/psaux", "/dev/input/mouse[0-4]"
and "/dev/input/mice" just aren't there.  (I'm using devfs, input, evdev.)

Googling around, I discovered that "mousedev" has since been trained to
_not_ take control of Wacom tablets, allowing the "wacom" module to get
full control.  Huzzah!

Wait!  It doesn't work!  When I restart KDM & X, or reboot, I get the
KDM login and can move the mouse pointer with the built-in pointer on the
Thinkpad, but when I use the stylus on the Wacom, the mouse starts flipping
out at the top right of the screen!

If I unload (rmmod) "mousedev", the Wacom stylus works.  Of coruse, the
built-in mouse does not.  Grr!

Googling some more, I then discovered that there's a bug in the
"mousedev" module in the 2.6.8 Kernel (the latest easily-available in
Debian/Testing at the moment... I don't feel like a Kernel recompile ;^) ):

  http://redhatforums.org/ftopic3092.html

    "support for wacom in mousedev.c is broken. when using the stylus in X 
    the pointer seem to be stuck in the upper right corner. 
    this bug is fixed in 2.6.9 [...]"

Well, good to know I'm not the only one having problems, and it's not
anything to do with my configuration.  I'll sit and wait.

In the MEANTIME, I decided that if Melissa can live with one or the other
input device, I may as well set that up.  Unfortunately, XF86Config-4 was
set up to use "/dev/psaux" (the built-in mouse, using "mousedev" and "psmouse"
kernel drivers) as a "CorePointer", so if we disable "mousedev" and try to
restart X, it will refuse.  "No mouse?  No X for you!"

Well, I'm sneaky, so I created a NEW device in X's config, called
"Dummy Mouse".  It's almost identical to the "/dev/psaux" one, except
it simply points to "/dev/null".  Man, I love Un*x!

Set up "Dummy Mouse" as a 'CorePointer', and give the PS2 mouse an
"AlwaysCore" option in my ServerLayout (instead of setting up as
'CorePointer'), and voila!  I can load (modprobe) and unload (rmmod) the
"mousedev" kernel module as needed, and X will restart happily!

:^)

-- 
-bill!
bill at newbreedsoftware.com
http://www.newbreedsoftware.com/


More information about the vox-tech mailing list