Bug#15618: marked as done (/dev/psaux does not init mouse)
Your message dated Mon, 21 Aug 2006 17:55:23 -0400
with message-id <20060821215522.GA6480@doctormoo.dyndns.org>
and subject line PS/2 Mouse driver has changed substantially
has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Debian bug tracking system administrator
(administrator, Debian Bugs database)
--- Begin Message ---
In /usr/src/linux/drivers/char/psaux.c, the driver for the PS/2 mouse
pointing device port, the following code appears:
/* Uncomment the following line if your mouse needs initialization. */
/* #define INITIALIZE_DEVICE */
The initialization code that is enabled by uncommenting this #ifdef
is required on my system. There ought to be a way to enable it
without editing source code and recompiling the kernel. Ideally, it
should be able to figure out whether it is needed automagically.
Not knowing much about mice, I can't say how that might be done,
or whether it might be safe to leave initialization enabled all the
Without the initialization code, I get the following unfortunate behavior:
the mouse almost works. I am able to steer it around the screen, and
click on things. But *very* frequently, the mouse jumps to the left edge
of the screen, or the bottom of the screen, or to the lower left corner.
The behavior is identical under X or under gpm on the text screen. The
jumps are so frequent that it is very difficult to get the cursor into an
xterm to type at it, and nearly impossible to click a button widget. If
I leave the mouse completely alone the cursor will sit whereever I left it,
but any mouse motion or button activity can cause it to jump left/down.
A little debug program that reads bytes directly from /dev/psaux reveals
that the mouse is using a slightly incorrect encoding. The mouse motion
in each axis is encoded in 9 bits - the sign bit packed into the first byte,
plus 8 bits in the second or third byte. The problem is that the mouse is
setting the sign bit occasionally for zero or positive motions, resulting in
a motion of -256 units or thereabouts. It doesn't take many of these to
get the cursor all the way to the lower left corner of the screen.
The mouse-test program (in the gpm source distribution, not in any
binary distribution, see bug ref 5551) nevertheless successfully identifies
the mouse as a PS/2 mouse. The 3-byte mouse messages are not
obviously corrupted in any other way.
The system in question is a nameless clone motherboard based on the
Intel 430TX chipset (for Socket 7 devices) with a Pentium 200/MMX CPU.
The 430TX chipset includes an on-chip PS/2 mouse port, so possibly all
systems based on this chipset would have the problem. (Interestingly,
the BIOS on this motherboard does not provide a way to disable the
PS/2 mouse port, so it is always enabled and taking up IRQ 12.)
The behavior was reproduced on two different PS/2 mice. One is a
Logitech MouseMan, MousePort Version, MPN=CQ38, FCC ID=DZLM04,
about a year old. The other is a Mouse Systems PS/2 Mouse,
Part No = 404097-002, FCC ID = FSUGMZE7, brand new.
Other hardware present:
Diamond Stealth 2500 video card
3Com EtherXL 3C900 PCI combo ethernet adapter (IRQ 10)
Western Digital 36400 IDE hard disk drive on primary IDE channel (IRQ 15)
Toshiba XM-6102B IDE CD-ROM on secondary IDE channel (IRQ 14)
I am using Debian 1.3.1, kernel version 2.0.30, and libc 5.4.33.
--- End Message ---
--- Begin Message ---
The code referred to in this bug is no longer present in modern versions of the
Linux kernel. I'm going to assume that the bug is fixed.
If, in Linux 2.6, you are still having problems with an uninitialized mouse behaving
badly, please file a new bug against the "linux-2.6" package. Thanks.
Nathanael Nerode <email@example.com>
[Insert famous quote here]
--- End Message ---