Skip site navigation (1)Skip section navigation (2)
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>