From owner-freebsd-bugs@freebsd.org Tue Sep 25 23:18:42 2018 Return-Path: Delivered-To: freebsd-bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CF2DF1092F56 for ; Tue, 25 Sep 2018 23:18:41 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 6BF2E854DE for ; Tue, 25 Sep 2018 23:18:41 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id 30D731092F55; Tue, 25 Sep 2018 23:18:41 +0000 (UTC) Delivered-To: bugs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0EED51092F54 for ; Tue, 25 Sep 2018 23:18:41 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.ysv.freebsd.org (mxrelay.ysv.freebsd.org [IPv6:2001:1900:2254:206a::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.ysv.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A13E6854DA for ; Tue, 25 Sep 2018 23:18:40 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.ysv.freebsd.org (Postfix) with ESMTPS id 05410141D0 for ; Tue, 25 Sep 2018 23:18:40 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id w8PNIdI1064575 for ; Tue, 25 Sep 2018 23:18:39 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id w8PNIdWU064574 for bugs@FreeBSD.org; Tue, 25 Sep 2018 23:18:39 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f 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 Date: Tue, 25 Sep 2018 23:18:40 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 11.2-RELEASE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: mifigiel@gmail.com X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Sep 2018 23:18:42 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D231058 --- Comment #3 from Michael Figiel --- (In reply to Vladimir Kondratyev from comment #1) Hello Vladimir, sorry for responding late and thank you for looking into it.=20 I toyed with the controller and can give you some more info: the machine (hp 8560w) claims to have following devices attached to aux por= t of the i8042: port 0: the trackpoint, the one returning ext. id 0x46 port 1,2 : nothing port 3: touchpad, returning id 0x47 I've attached acpi PS2M section from the HP 8560w, it lists two id strings starting with SYN -- maybe both devices are Synaptics' ? The active multiplexer implementation on 8560w doesn't work as expected: I can't disable single ports (that should be possible by sending 0x9[0-3] and 0xA7 sequence), so I always get data from both devices. I'll attach the log of the initialization of the 0x47 device. It doesn't advertise passthrough. The trackpoint is recognized as a generic PS/2 mouse, it reports only two buttons, but actually all three are working. I've got two mostly working configurations:=20 1) I send all commands to port 3, to the touchpad, and get working Synaptics touchpad, with occasional device resests if I touch the trackpoint or any of it's buttons (no passthrough on that machine, at least not advertised by the touchpad) -- you are right, the trackpoint sends generic ps2 packets, but additionally there ist the issue of interleaving both data streams. 2) I send all commands to port 0, and get a generic PS2 mouse. I removed th= e id 0x46 from psm.c, so this is the situation before your patch. All buttons wo= rk,=20 but it's two times button one, two times two and two times button three, without any possiblity to tell them apart - not a big deal. I think, occasionally there are problems with interleaving both streams but generall= y it works well. But then there is no point enabling multiplexing in first place= ... > The simpler way is to enable multiplexing only for synaptics devices and = just > only for configuring/querying stage and return to legacy mode after. > trackpad/trackpoint packet separation problem should be solved in that ca= se. This amounts to hidden multiplexing -- the data streams of both devices wil= l be interleaved, at the level of three bytes. Additionally, the controller might try to be helpfull, and mangle the data (e.g. using bit 3 of byte one of a packet to mark the source, a problem with six byte packets). But I haven't tried it - that's just what this document claims.=20 I think, with this special hardware there are only two viable solutions: 1) removing the 0x46 id, leaving i8042 in legacy mode and using the touchpad and the stick as one generic ps/2 device. One has no gestures, no multi-tou= ch (two fingers scrolling), but I think it's possible to configure the scrolli= ng zones on the edges in X11. Actually that sounds like reverting your change = :-/ 2) to implement a proper multiplexing driver If you want any logs/traces I'd be happy to provide them. I think it should= be possible to give you access via ssh to the 8560w, at least for a few days. But if you think that's not worth the effort, it's OK, because solution 1) = is good enough for me, I can maintain a patch locally, there is no point in=20 reverting your change if it works well for others. --=20 You are receiving this mail because: You are the assignee for the bug.=