[Bug 231058] no support for active PS/2 multiplexing results in erratic behaviour of Synaptics touchpad on HP 8560w

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Sep 26 21:50:05 UTC 2018


--- Comment #6 from Vladimir Kondratyev <wulf at freebsd.org> ---
(In reply to Michael Figiel from comment #3)
> I've attached acpi PS2M section from the HP 8560w, it lists two id
> strings starting with SYN -- maybe both devices are Synaptics' ?
I doubt it. My trackpoint-less HP laptop has exactly the same list of CIDS.

> I can't disable single ports ... so I always get data from both devices.
You can filter out unwanted data inside read_aux_data_no_wait() routine with
dropping read_data() result if previous read_status() invocation has returned
port number of port that should be disabled.

> This amounts to hidden multiplexing -- the data streams of both devices will be interleaved, at the level of three bytes.
Fortunately, according to Synaptics docs, driver could be modified to support
3bytes packets. Bit6 of 1-st byte is always 0 while bit6 of 4-th byte is always
1.  This fact can be used to do a proper assembly of single 6 byte packet from
two 3 byte ones.

> I think, with this special hardware there are only two viable solutions:
3) Switch touchpad to absolute mode with packetsize reduced to 3 bytes and use
hidden multiplexing. I would like to avoid massive psm.c refactoring as it
currently supports only one device at time.

> But if you think that's not worth the effort
Really I hate 0x46 hack. I spent 2 weekends trying to find a proper
initialization way of HP touchpad and did not succeed. :(

> If you want any logs/traces I'd be happy to provide them. 
1. Trackpoint name as it was detected by Linux
2. Short snippets of dmesg or systemlog reflecting both trackpad and trackpoint
touches made with debug.psm.loglevel=5 inserted in to /boot/loader.conf

I'll make 3-byte packetsize patch to test and will post it here than. Note I'll
be AFK for next two weeks so it can take some time.

You are receiving this mail because:
You are the assignee for the bug.

More information about the freebsd-bugs mailing list