Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 94476

Summary: Alps Touchpad Stops Working in Kernel 2.6.12-rc5
Product: Gentoo Linux Reporter: Matt T. Proud <khanreaper>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED TEST-REQUEST    
Severity: major CC: gad.kadosh, steev
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Matt T. Proud 2005-05-30 01:54:45 UTC
I have a Dell Inspiron 8200, and in the past I have been fine just using the
standard ps2 means of accessing my pointer at /dev/psaux; but as of kernel
2.6.12-rc5, it appears that two drivers are attempting to access the same device
at once or doing something else. In any case, mouse movement and clicking are
never sent to anything that attempts to access /dev/psaux, which would thus far
include X.Org and GPM.

Here is why I think that two things are accessing the same device (dmesg snip):
input: PS/2 Mouse on isa0060/serio1
input: AlpsPS/2 ALPS GlidePoint on isa0060/serio1

This bug does seem to share some parallels with
(http://bugs.gentoo.org/show_bug.cgi?id=84657); but due to how this bug relates
to the movement of mouse and not clicking, I think it warrants a different report.

Interestingly, I instructed GPM to use the "synps2" driver instead of the "ps2"
or "imps2" driver which I have used for the past three years of owning this
laptop, and the the mouse would activate in the oddest of ways whenever I were
to type something. This makes me believe that this could be a manifestation of
(http://lkml.org/lkml/2005/5/17/13).

bash-2.05b# emerge info
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130,
glibc-2.3.4.20041102-r1, 2.6.12-rc5 i686)
=================================================================
System uname: 2.6.12-rc5 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.40GHz
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, May 28 2005, 22:08:36)]
dev-lang/python:     2.3.5
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=i686 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=i686 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LINGUAS="de en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X Xaw3d a52 aac aalib accessibility acl acpi adns aim alsa apm arts
audiofile avi bash-completion berkdb bitmap-fonts bluetooth bmp bonobo
bootsplash bzlib cairo calendar cdb cdparanoia cdr crypt cups curl dbus dga dio
directfb dvdvb dvd dvdr dvdread eds emacs emboss encode esd evo exif expat fam
fbcon ffmegflac flash foomaticdb fortran freetype ftp gcj gdbm ggi gif glut gmp
gnome gnutls gphoto2 gpm gps gstreamer gtk gtk2 hal howl iconv icq ieee1394
imagemagick imap imlib ipv6 jabber jack javascript jpeg kde ldap lesstif libedit
libg++ libwwwlm_sensors mad maildir mailwrapper mbox mcal mhash migmod mikmod
mime mmap mmx mng mono motif mozilla mozsvg mp3 mpeg mpi msession msn nas
ncurses nls nntp nptl offensive ogg oggvorbis openal opengl oscar oss pam pcmcia
pcre pda pdflib perl plotutils png portaudio posix ppds python qt quicktime
readline recode ruby samba scanner sdl session sharedext sharedmem shorten skey
slang sndfile sox speexspell sse ssl svg szip tcltk tcpd tetex theora threads
tidy tiff truetype truetype-fonts type1-fonts unicode usb v4l vcd vorbis wifi
wmf wxwindows xine xinerama xml xml2 xmms xosd xprint xrandr xscreensaver xsl xv
xvid yahoo zlib linguas_de linguas_en userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY


Reproducible: Always
Steps to Reproduce:
1. Install 2.6.12-rc5 on a system using an Alps/Synaptics touchpad.
2. Use /dev/psaux, and note the lack of output from the driver when moving or
clicking.
Actual Results:  
No results.

Expected Results:  
Mouse should behave.

External USB mice function just fine when accessing them via /dev/input/mice.
Furthermore, the internal touchpad cannot be accessed via /dev/input/mice

bash-2.05b# cat /proc/bus/input/devices
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
H: Handlers=kbd mouse0 event0
B: EV=120017
B: KEY=40000 4 2000000 3802078 f840d001 b2ffffdf ffefffff ffffffff fffffffe
B: REL=140
B: MSC=10
B: LED=7

I: Bus=0011 Vendor=0002 Product=0008 Version=0000
N: Name="PS/2 Mouse"
P: Phys=isa0060/serio1/input1
H: Handlers=mouse1 event1
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0002 Product=0008 Version=7321
N: Name="AlpsPS/2 ALPS GlidePoint"
P: Phys=isa0060/serio1/input0
H: Handlers=mouse2 event2
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003

I: Bus=0003 Vendor=046d Product=c501 Version=0910
N: Name="Logitech USB Receiver"
P: Phys=usb-0000:00:1d.0-1/input0
H: Handlers=mouse3 event3
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=103

ash-2.05b# cat /proc/bus/input/handlers
N: Number=0 Name=kbd
N: Number=1 Name=mousedev Minor=32
N: Number=2 Name=evdev Minor=64
Comment 1 Micheal Marineau (RETIRED) gentoo-dev 2005-05-30 10:07:56 UTC
So for using the touchpad, /dev/psaux works but buttons are dead and
/dev/input/mice does not work at all?  have you tried individual ones like
/dev/input/mouse0, /dev/input/mouse1, etc?
Comment 2 Matt T. Proud 2005-05-30 10:17:48 UTC
Correction: The mouse does not function at all, so it is not the case of that
other bug that I referenced in this report, in which only the buttons stopped
working.

Due to the way odd way that this Dell's bios was designed, it passes events from
the touchpad, if I remember correctly, only to /dev/psaux. With events from USB,
however, they get sent to /dev/input/mice and the bios has routed them in a
duplicate manner through /dev/psaux at times. I am sure that much of this
probably sounds a bit odd, but I can assure you that this method has worked very
well for the past few years.

Earlier, I did try to access /dev/input/mouse{0,1,2}, but that effort appeared
fruitless.

I should have also mentioned that I compiled in mouse support to the kernel not
as a module but in a monolithic fashion when I reported the bug. Last night,
after reporting this bug, I reconfigured my kernel and compiled in these drivers
as modules. Today, when I booted my machine and loaded psmouse, things actually
to be working a bit better, but I am personally unconvinced that simply loading
the driver as a module fixes the problem, just because of the longstanding good
behavior of the past.
Comment 3 Micheal Marineau (RETIRED) gentoo-dev 2005-05-30 20:48:32 UTC
When you try it as modules, is the touchpad being used as a generic "PS/2 Mouse"
or the ALPS GlidePoint?

I'm sure you could get everything as you have always used it if the kernel uses
the generic driver. This can be achieved by passing the kernel parameter
psmouse.proto=exps at boot time.  However, hopefully we can figgure out what the
ALPS is doing wrong as you are by far not the only person who will have issues
when 2.6.12 comes out.
Comment 4 Matt T. Proud 2005-06-01 22:53:03 UTC
If I load the driver as a module, I still get the same dmesg output as before,
though I do access the device through GPM and X.Org as a standard PS/2 device.
In short, the kernel still recognizes it as two types.

Is this "psmouse.proto=exps" something that one attempts to set with sysctl,
because if it is, sysctl reports this as an unknown type and nothing results
from its being set.
Comment 5 Micheal Marineau (RETIRED) gentoo-dev 2005-06-02 21:33:40 UTC
(In reply to comment #4)
> If I load the driver as a module, I still get the same dmesg output as before,
> though I do access the device through GPM and X.Org as a standard PS/2 device.
> In short, the kernel still recognizes it as two types.
For both the Alps driver and the generic PS2 driver, user space apps can use
PS/2 or IMPS/2 for the protocol type.

> 
> Is this "psmouse.proto=exps" something that one attempts to set with sysctl,
> because if it is, sysctl reports this as an unknown type and nothing results
> from its being set.
This is a boot option for the kernel, just append it to the other parameters you
have in your boot loader.

So, what sort of device is this anyway? Is it just a touchpad? or is it both a
touchpad and a stick? 


Comment 6 Micheal Marineau (RETIRED) gentoo-dev 2005-06-02 22:02:00 UTC
I have not been able to find any major issues with the Alps touch pad on my Dell
inspiron 8500 but just as a refrence, starting with the Alps driver in 2.6.12
seeing two mouse devices is normal if you have both a keyboard stick mouse and a
touchpad as my laptop does.

This is what my /proc/bus/input/devices looks like, almost identical to yours
minus the eventX handlers:
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
H: Handlers=kbd mouse0
B: EV=120017
B: KEY=40000 4 2000000 3802078 f840d001 b2ffffdf ffefffff ffffffff fffffffe
B: REL=140
B: MSC=10
B: LED=7

I: Bus=0011 Vendor=0002 Product=0008 Version=0000
N: Name="PS/2 Mouse"
P: Phys=isa0060/serio1/input1
H: Handlers=mouse1
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0002 Product=0008 Version=6337
N: Name="AlpsPS/2 ALPS GlidePoint"
P: Phys=isa0060/serio1/input0
H: Handlers=mouse2
B: EV=f
B: KEY=420 0 70000 0 0 0 0 0 0 0 0
B: REL=3
B: ABS=1000003


so here /dev/input/mouse1 is the stick, /dev/input/mouse2 is the touchpad.
/dev/input/mice will show both as it should.  I have no idea why the keboard has
/dev/input/mouse0, it doesn't do anything from what I can tell.

I don't know if that info helps any, but just so you know the two devices
showing up isn't a bad thing.

On your machine, can you get some output when you cat /dev/input/mouse1 or
/dev/input/mouse2?
Comment 7 Micheal Marineau (RETIRED) gentoo-dev 2005-06-09 13:46:11 UTC
I checked it myself, so the 8200 is indeed a dual poing (both touchpad and stick).  

Matt, could you please respond with what the various /dev/input/ mouse devices
will respond to? Thanks. (just using cat to check which will spew out garbage
will work)
Comment 8 gad.kadosh 2005-06-20 04:10:58 UTC
I also have a problem with my ALPS touchpad since gentoo-sources-2.6.12. 
Xorg doesn't load anymore. The error in xorg log is:

(EE) Touchpad no synaptics touchpad detected and no repeater device
(EE) Touchpad Unable to query/initialize Synaptics hardware.
(EE) PreInit failed for input device "Touchpad"

I'm using in xorg.conf the /dev/input/event1 device. It was working for as long
as I can remember.
In dmesg I still had the touchpad detected by the kernel as ALPS though.
Comment 9 Daniel Drake (RETIRED) gentoo-dev 2005-06-20 10:42:28 UTC
Please post /proc/bus/input/* , dmesg output, and try modifying your X config so
that it reads like the sample one on the synaptics website, and post your X config
Comment 10 gad.kadosh 2005-06-21 04:52:01 UTC
It appears 2.6.12 has changed the /dev/input/event* ordering or something, so
now my touchpad is event2 instead of event1. Changing that in xorg.conf fixed
the problem.
Comment 11 Daniel Drake (RETIRED) gentoo-dev 2005-06-21 07:14:27 UTC
I think if you use auto-dev as suggested on the synaptics website then you won't
see this problem in future
Comment 12 Matt T. Proud 2005-06-22 10:15:21 UTC
With regard to the statement, 
"""I think if you use auto-dev as suggested on the synaptics website then you 
won't 
see this problem in future[,]""" 
 
where is this document of which you speak? Could you provide a reference to it? 
 
 
 
Comment 13 Daniel Drake (RETIRED) gentoo-dev 2005-06-24 01:57:09 UTC
Synaptics homepage:
http://web.telia.com/~u89404340/touchpad/

The sample X config which suggests auto-dev:
http://web.telia.com/~u89404340/touchpad/xorg.conf
Comment 14 gad.kadosh 2005-06-24 02:33:30 UTC
The point is that I don't have psaux on my system (don't know why...) and I use
eventX for the touchpad. The problem was that prior to 2.6.12 the touchpad was
/dev/input/event1, and since 2.6.12 it became /dev/input/event2. Once I changed
the config to reflect that it works again. I suppose udev could be configured to
work that out better. 
Actually since 2.6.12 event1 became "PS/2 Mouse", which is not attached but
maybe it's the touchpad too. event2 is now: "AlpsPS/2 ALPS GlidePoint".
Comment 15 Daniel Drake (RETIRED) gentoo-dev 2005-06-24 03:11:24 UTC
Yes, psaux has been going/gone for a while (replaced with /dev/input/mice)

However I believe if you use auto-dev like suggested in the sample config, it
will automatically use the correct event node without you having to specify it.
I can't say for sure as I don't have this hardware myself.
Comment 16 Daniel Drake (RETIRED) gentoo-dev 2005-06-24 03:14:24 UTC
Here's some logs I found on some mailing list archives:

(II) Synaptics touchpad driver version 0.13.3
(--) Synaptics Mouse auto-dev sets device to /dev/input/event1
(**) Option "Device" "/dev/input/event1"
(**) Option "SHMConfig" "on"
(**) Option "LeftEdge" "1700"
(**) Option "RightEdge" "5300"
(**) Option "TopEdge" "1700"
(**) Option "BottomEdge" "4200"
(**) Option "FingerLow" "25"
(**) Option "FingerHigh" "30"
(**) Option "MaxTapTime" "180"
(**) Option "MaxTapMove" "220"
(**) Option "VertScrollDelta" "100"
(--) Synaptics Mouse synaptics touchpad found

The user had chosen /dev/psaux in the config but the driver automatically chose
to use /dev/input/event1 instead
Comment 17 gad.kadosh 2005-06-24 03:27:55 UTC
So your saying that I can set device to /dev/input/mice ? (I don't have psaux)
Comment 18 Daniel Drake (RETIRED) gentoo-dev 2005-06-24 03:46:12 UTC
You can set it to /dev/whateveryouwant
It won't be used at all if you use auto-dev.

It is only there for fallback reasons (the 2.4 driver doesn't support auto-dev,
so the manual Device setting is only used as a fallback)
Comment 19 gad.kadosh 2005-06-24 03:49:13 UTC
I will try to see if it works also if I don't set at all the Device line. Thanks
a lot ! (I think that's not generally related to this bug, right ?)
Comment 20 Daniel Drake (RETIRED) gentoo-dev 2005-06-24 04:08:46 UTC
Matt, are you still having problems even with 2.6.12 final?
Comment 21 Micheal Marineau (RETIRED) gentoo-dev 2005-06-24 10:15:48 UTC
As a side note there does indeed seem to be something screwing going on. On
vanilla 2.6.12 my laptop works perfectly, but using brix' ebuild for
suspend2-sources the stick and it's buttons stops working (the piece that shows
up as a generic PS/2 Mouse), the touchpad works perfectly in both cases.

I'll investigate this further soon to see if the problem is only with suspend2
or if it can be made to show up elsewhere.
Comment 22 Micheal Marineau (RETIRED) gentoo-dev 2005-07-08 14:48:04 UTC
Closing this bug since Matt never responded if this is still a problem in the
2.6.12 final release.