I filed the original bug with FreeDesktop (https://bugs.freedesktop.org/show_bug.cgi?id=96756) and it appears notwithstanding the work done on BYD driver (https://github.com/torvalds/linux/commits/master/drivers/input/mouse/byd.c), the touchpad is not recognized as a touchpad. The affected system is Dell Precision 7510, which means that likely the entire line (7x10, 5510 and XPS 9x50) are affected. Please let me know what info you may need. # EVEMU 1.3 # Kernel: 4.6.3-300.fc24.x86_64 # DMI: dmi:bvnDellInc.:bvr1.05.04:bd05/27/2016:svnDellInc.:pnPrecision7510:pvr:rvnDellInc.:rn0M91XC:rvrA00:cvnDellInc.:ct9:cvr: # Input device name: "ImPS/2 BYD TouchPad" # Input device ID: bus 0x11 vendor 0x02 product 0x05 version 0000 # Supported events: # Event type 0 (EV_SYN) # Event code 0 (SYN_REPORT) # Event code 1 (SYN_CONFIG) # Event code 2 (SYN_MT_REPORT) # Event code 3 (SYN_DROPPED) # Event code 4 ((null)) # Event code 5 ((null)) # Event code 6 ((null)) # Event code 7 ((null)) # Event code 8 ((null)) # Event code 9 ((null)) # Event code 10 ((null)) # Event code 11 ((null)) # Event code 12 ((null)) # Event code 13 ((null)) # Event code 14 ((null)) # Event type 1 (EV_KEY) # Event code 272 (BTN_LEFT) # Event code 273 (BTN_RIGHT) # Event code 274 (BTN_MIDDLE) # Event type 2 (EV_REL) # Event code 0 (REL_X) # Event code 1 (REL_Y) # Event code 8 (REL_WHEEL) # Properties: # Property type 0 (INPUT_PROP_POINTER) N: ImPS/2 BYD TouchPad I: 0011 0002 0005 0000 P: 01 00 00 00 00 00 00 00 B: 00 0b 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 07 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 02 03 01 00 00 00 00 00 00 B: 03 00 00 00 00 00 00 00 00 B: 04 00 00 00 00 00 00 00 00 B: 05 00 00 00 00 00 00 00 00 B: 11 00 00 00 00 00 00 00 00 B: 12 00 00 00 00 00 00 00 00 B: 14 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00
Hi, Can you clarify your issue please? * Is your touchpad a BYD model, or something else being incorrectly recognized as one? (I thought most Dells used ALPS?). Given that it's called it "BYD TouchPad", it seems the BYD driver is loaded. * If it is a BYD touchpad, is the problem that the kernel isn't recognizing it, or that synaptics isn't? * Are you using a mainline Linux kernel or something else? (there are some other BYD drivers floating around in various kernel trees, e.g. Purism). * Can you give some extra info please? In particular, the output of the following would be helpful: - xinput list - dmesg | grep -i byd
This is very likely a dupe of 120781. Mice are being incorrectly detected as BYD touchpad, init subsequently fails so the fallback PS/2 driver is used, but the name and vendor don't get overwritten (hence the "ImPS/2 BYD TouchPad" string). See for details: https://bugzilla.kernel.org/show_bug.cgi?id=120781 There's a patch up in linux-input currently under review. best, -Richard On 07/01/2016 12:36 AM, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=121281 > > Chris Diamand <chris@diamand.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |chris@diamand.org > > --- Comment #1 from Chris Diamand <chris@diamand.org> --- > Hi, > > Can you clarify your issue please? > > * Is your touchpad a BYD model, or something else being incorrectly > recognized > as one? (I thought most Dells used ALPS?). Given that it's called it "BYD > TouchPad", it seems the BYD driver is loaded. > > * If it is a BYD touchpad, is the problem that the kernel isn't recognizing > it, > or that synaptics isn't? > > * Are you using a mainline Linux kernel or something else? (there are some > other BYD drivers floating around in various kernel trees, e.g. Purism). > > * Can you give some extra info please? In particular, the output of the > following would be helpful: > - xinput list > - dmesg | grep -i byd >
To clarify: I have Dell Precision 7510 with a duplex touchpad (touchpad & buttons + pointing stick in keyboard & another set of buttons): http://i.dell.com/sites/imagecontent/products/PublishingImages/precision-m7510-workstation/laptop-precision-7000-7510-pol-mag-pdp_module-04.jpg It is detected as ImPS/2 BYD TouchPad. I don't have any other pointing devices connected to the laptop. $ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ImPS/2 BYD TouchPad id=13 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Video Bus id=8 [slave keyboard (3)] ↳ Power Button id=9 [slave keyboard (3)] ↳ Sleep Button id=10 [slave keyboard (3)] ↳ Integrated_Webcam_HD id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] ↳ Dell WMI hotkeys id=14 [slave keyboard (3)] ↳ DELL Wireless hotkeys id=15 [slave keyboard (3)] $ dmesg | grep -i byd [ 2.768942] input: ImPS/2 BYD TouchPad as /devices/platform/i8042/serio1/input/input6 Thanks!
1) > Is your touchpad a BYD model, or something else being incorrectly recognized as one? (I thought most Dells used ALPS?) I can't say for certain. DMI gives the following: Handle 0x002C, DMI type 21, 7 bytes Built-in Pointing Device Type: Touch Pad Interface: Bus Mouse Buttons: 2 2) > If it is a BYD touchpad, is the problem that the kernel isn't recognizing it, or that synaptics isn't? The kernel recognizes the touchpad as BYD. What it is for real I can't say. Synaptics, however, doesn't recognize it as a touchpad. 3) > Are you using a mainline Linux kernel or something else? (there are some other BYD drivers floating around in various kernel trees, e.g. Purism). I'm using standard 4.6.3-300.f24 from Fedora 24. No custom drivers.
> 2) > If it is a BYD touchpad, is the problem that the kernel isn't > recognizing > it, or that synaptics isn't? > The kernel recognizes the touchpad as BYD. What it is for real I can't say. > Synaptics, however, doesn't recognize it as a touchpad. I have similar laptop as bug submitter (Dell Precision 7710) and the same issue. I think the laptop must actually have a BYD touchpad. I installed the patch recommended by Richard with a better touchpad detection algorithm, and the device is still detected as BYD. Running 4.6.3-gentoo. dmesg -i | grep byd [ 2.689636] input: ImPS/2 BYD TouchPad as /devices/platform/i8042/serio1/input/input8
No, as far as I can see on Dell's web-site Precision 7710 (and others) use ALPS touchpads. It is probably the newer version which our alps driver does not support yet (there are patches pending). Given that the BYD detection is quite unreliable and number of devices using BYD is not that big maybe we should resort to using DMI data to limit number of boxes we try BYD protocol on?
I have a Dell Latitude E7470 (same generation as the Precision 7510) which is also being detected as a "ImPS/2 BYD TouchPad" with kernel 4.6. I installed Dell's drivers under Windows and it shows up in the device manager as Alps.
The patch posted ( http://www.spinics.net/lists/linux-input/msg45539.html ) should change the behavior of the psmouse module such that 'ImPS/2 BYD TouchPad' string in `dmesg` and `xinput -list` will never appear. That combination only occurred because the 'detect' method succeeded (which populates the 'BYD TouchPad' string), while 'init' failed (resulting in the generic 'ImPS/2' rather than 'BYDPS/2' string being populated). The new logic only uses a single 'detect' method which includes the initialization logic as well. Can you verify you're running the patched kernel? best, -Richard On 07/06/2016 01:52 PM, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=121281 > > Nick <porternw@gmail.com> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |porternw@gmail.com > > --- Comment #5 from Nick <porternw@gmail.com> --- >> 2) > If it is a BYD touchpad, is the problem that the kernel isn't >> recognizing >> it, or that synaptics isn't? >> The kernel recognizes the touchpad as BYD. What it is for real I can't say. >> Synaptics, however, doesn't recognize it as a touchpad. > I have similar laptop as bug submitter (Dell Precision 7710) and the same > issue. I think the laptop must actually have a BYD touchpad. I installed the > patch recommended by Richard with a better touchpad detection algorithm, and > the device is still detected as BYD. Running 4.6.3-gentoo. > > dmesg -i | grep byd > [ 2.689636] input: ImPS/2 BYD TouchPad as > /devices/platform/i8042/serio1/input/input8 >
I just tried your patch and it causes the touchpad to be detected as "ImPS/2 Generic Wheel Mouse" I don't think this fully fixes the bug though. The touchpad should be detected as two separate devices, "AlpsPS/2 ALPS DualPoint TouchPad" and "AlpsPS/2 ALPS DualPoint Stick" See this for more information: http://en.community.dell.com/techcenter/os-applications/f/4613/t/19982526 Dmitry Torokhov mentioned that there are some Alpha touchpad patches pending. Can someone point me to them? Thanks.
OK, I am duping this to the original issue with BYD match being too eager and claiming more devices than it should. For proper support for Dell E7470 touchpads see this thread: http://thread.gmane.org/gmane.linux.kernel.input/50117 and let the author know if it works/does not work for you. *** This bug has been marked as a duplicate of bug 120781 ***
The issue is still present in Kernel 4.7. On a Dell 7370 we have this: [@ubuntu ~]$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ImPS/2 BYD TouchPad id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)] ↳ DELL Wireless hotkeys id=13 [slave keyboard (3)] Also: I: Bus=0011 Vendor=0002 Product=0005 Version=0000 N: Name="ImPS/2 BYD TouchPad" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input6 U: Uniq= H: Handlers=mouse0 event6 B: PROP=1 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=103 The synaptics driver isn't loaded.
I'm not sure why this is marked as RESOLVED duplicate. The duplicate doesn't seem to have anything to do with this bug. It seems the opposite of this bug ("mouse is detected as touchpad"). This bug is that our touchpad is detected as mouse. I have a new system exactly the same model as the original reporter: Dell Precision 7710. I have no controls available to me for the touchpad. xinput lists only a PS2 mouse: [scribe@localhost scribe]$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ImPS/2 Generic Wheel Mouse id=13 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Video Bus id=8 [slave keyboard (3)] ↳ Power Button id=9 [slave keyboard (3)] ↳ Sleep Button id=10 [slave keyboard (3)] ↳ Integrated_Webcam_HD id=11 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] ↳ Dell WMI hotkeys id=14 [slave keyboard (3)] ↳ DELL Wireless hotkeys id=15 [slave keyboard (3)] The only relevant entry from /proc/bus/input/devices: I: Bus=0011 Vendor=0002 Product=0005 Version=0000 N: Name="ImPS/2 Generic Wheel Mouse" P: Phys=isa0060/serio1/input0 S: Sysfs=/devices/platform/i8042/serio1/input/input6 U: Uniq= H: Handlers=mouse0 event5 B: PROP=1 B: EV=7 B: KEY=70000 0 0 0 0 B: REL=103 Please re-open this bug.
Apologies, previous comment should say: Dell Precision 7510 (not 7710).
It is resolved as duplicate because, as far as I know, your device does not have BYD touchpad, thus detecting it as BYD is incorrect. You can open a new bug for the lack of proper touchpad detection. It would be helpful to know how WIndows identifies the device. It could be ALPS or Synaptics, and Synaptics can we either PS/2 or I2C/RMI4.