Date: Fri, 31 Aug 2018 14:07:49 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 231058] no support for active PS/2 multiplexing results in erratic behaviour of Synaptics touchpad on HP 8560w Message-ID: <bug-231058-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D231058 Bug ID: 231058 Summary: no support for active PS/2 multiplexing results in erratic behaviour of Synaptics touchpad on HP 8560w Product: Base System Version: 11.2-RELEASE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: mifigiel@gmail.com Created attachment 196747 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D196747&action= =3Dedit relevant syslog entries I've got a HP EliteBook 8560w which is equipped with a Synaptics touchpad a= nd a trackpoint. The trackpoint doesn't work at all (movements are repoted as bu= tton events or not at all), neither is the touchpad's middle button reported. This is one of the devices which respond to the special query, which is use= d to identify it, with a middle byte of 0x46 instead of 0x47. The same hardware = is properly recognized and works on Linux (Ubuntu 18.04). Linux accepts only 0= x47 (I checked the source). I've seen in psm.c that FreeBSD accepts the 0x46 id= but uses conservative defaults for settings, because the devices report garbage. I think the root cause of the 0x46 id is that FreeBSD doesn't support active PS/2 multiplexing. As a PoC I added functions to enable/disable the active multiplexing mode of the i8042 and in multiplexing mode I queried all four aux ports. I got two devices, and one of them sends 0x46 but the other sends a 0x47 in the middle byte. I attach the relevant portion of syslog messages (line 19: the first device, line 34 the second device, from 36 on the normal initialization). I found a document titled "Active PS/2 Multiplexing", version 1.1, from 1999 which describes this mode of operation. It hints on the fact, that a multiplexing controller operated in legacy (non-multiplexing) mode with more than one aux device might garble some of the data passed to the host. I thi= nk, that's what happens on my machine.=20 I'm not sure if it is really worth the effort to implement the multiplexing= , as I suspect that the few machines which use it will die of old age pretty soo= n, but over the weekend I'll try to modify the psm.c to operate in multiplexing mode with only one enabled device. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-231058-227>