Bug 98947 - hwinfo detects alps touchpad and stick as same device
Summary: hwinfo detects alps touchpad and stick as same device
Status: RESOLVED FIXED
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Preview 3
Hardware: i386 SUSE Other
: P5 - None : Normal
Target Milestone: ---
Assignee: Steffen Winterfeldt
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-27 14:24 UTC by Matthias Hopf
Modified: 2007-06-22 15:22 UTC (History)
1 user (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
getsysinfo output (114.42 KB, application/x-gzip)
2005-08-10 18:41 UTC, Matthias Hopf
Details
/proc/bus/input/devices (784 bytes, text/plain)
2005-08-10 18:41 UTC, Matthias Hopf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Hopf 2005-07-27 14:24:08 UTC
hwinfo --mouse on this Dell D410 returns two mice, the touchpad and the stick,
with the same vendor and device id. This results in two alps mice being
configured, which results in the stick and later attached USB mice not working
at all:

19: PS/2 00.0: 10500 PS/2 Mouse
  [Created at input.140]
  Unique ID: AH6Q.fU1aO9YHBB4
  Hardware Class: mouse
  Model: "PS/2 Mouse"
  Vendor: int 0x0212 
  Device: int 0x0002 "PS/2 Mouse"
  Compatible to: int 0x0210 0x0003
  Device File: /dev/input/mice (/dev/input/mouse0)
  Device Number: char 13:63 (char 13:32)
  Driver Info #0:
    Buttons: 3
    Wheels: 0
    XFree86 Protocol: explorerps/2
    GPM Protocol: exps2
  Config Status: cfg=new, avail=yes, need=no, active=unknown

20: PS/2 00.0: 10500 PS/2 Mouse
  [Created at input.140]
  Unique ID: AH6Q.fU1aO9YHBB4
  Hardware Class: mouse
  Model: "AlpsPS/2 ALPS GlidePoint"
  Vendor: int 0x0212 
  Device: int 0x0002 "AlpsPS/2 ALPS GlidePoint"
  Compatible to: int 0x0210 0x0003
  Device File: /dev/input/mice (/dev/input/mouse1)
  Device Number: char 13:63 (char 13:33)
  Driver Info #0:
    Buttons: 3
    Wheels: 0
    XFree86 Protocol: explorerps/2
    GPM Protocol: exps2
  Config Status: cfg=new, avail=yes, need=no, active=unknown
Comment 1 Steffen Winterfeldt 2005-07-28 09:18:46 UTC
It reports exactly what's in /proc/bus/input/devices. 
Comment 2 Vojtech Pavlik 2005-07-28 19:46:24 UTC
And it's also correct. They're driven by the same chip, hence they
have the same IDs (the version part differs, though). If something
relies on the fact that there can't be two devices with the same ID,
it's utterly wrong - think USB mice and keyboards.

Also, the glidepoint should get a 'synaptics' driver assigned, not
a regular 'explorerps/2' driver, which, too, seems to be a bug.
Comment 3 Steffen Winterfeldt 2005-07-29 08:48:35 UTC
Matthias, please run 'getsysinfo' and attach the result. 
Comment 4 Matthias Hopf 2005-08-10 18:40:06 UTC
@Vojtech:
This is only partly correct. Both devices are connected to the same chip, but
only the touchpad speaks the protocol of the synaptics driver. The stick can
only be addressed by a regular 'mouse' driver.

Personally, I don't care about the solution, but the way it is now is suboptimal
and a regression.

getsysinfo follows.

There is also a minimal difference between the two devices. Both share vendor
and product id, but name, version, EV, KEY, ABS differ.
Comment 5 Matthias Hopf 2005-08-10 18:41:15 UTC
Created attachment 45601 [details]
getsysinfo output
Comment 6 Matthias Hopf 2005-08-10 18:41:44 UTC
Created attachment 45602 [details]
/proc/bus/input/devices
Comment 7 Vojtech Pavlik 2005-08-24 14:36:06 UTC
The decision which device is a touchpad shouldn't be done based on the
name or IDs, those can change as new devices appear. It should be based
on the KEY and ABS bitmaps - a touchpad will always include ABS_X, ABS_Y,
ABS_PRESSURE and BTN_TOOL_FINGER. 
Comment 8 Steffen Winterfeldt 2005-08-24 14:41:20 UTC
I still don't see what I can do here. Marcus, is there anything to change 
in hwinfo? 
Comment 9 Marcus Schaefer 2005-08-24 14:57:28 UTC
The problem here is that I cannot distinguish between a synaptics/alps 
touchpad and a "normal" mouse. To be able to setup a device as synaptics 
touchpad using the synaptics driver a profile is assigned. This profile 
is bound to the vendor and device ID reported by libhd.  
 
Well the experts say that kind of mapping is wrong. Ok if this is the case 
libhd should provide a unique flag which enables me to assign a profile. 
This is currently not possible 
Comment 10 Steffen Winterfeldt 2005-08-25 15:35:15 UTC
Ok, checking the 4 flags mentioned in comment 7 now. 
Comment 11 Matthias Hopf 2005-09-01 14:18:35 UTC
Just verified, works very well in Beta4 now :)

Thanks!