lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150204212926.GD16434@mail.corp.redhat.com>
Date:	Wed, 4 Feb 2015 16:29:26 -0500
From:	Benjamin Tissoires <benjamin.tissoires@...hat.com>
To:	Dmitry Torokhov <dmitry.torokhov@...il.com>,
	Andrew Duggan <aduggan@...aptics.com>
Cc:	Hans de Goede <hdegoede@...hat.com>,
	Peter Hutterer <peter.hutterer@...-t.net>,
	linux-input <linux-input@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/4] Input - synaptics: do not release extra buttons once
 they are pressed

On Feb 02 2015 or thereabouts, Benjamin Tissoires wrote:
> On Mon, Feb 2, 2015 at 4:46 PM, Dmitry Torokhov
> <dmitry.torokhov@...il.com> wrote:
> > On Wed, Jan 28, 2015 at 03:10:05PM -0500, Benjamin Tissoires wrote:
> >> The current code releases the extra buttons right after they are pressed.
> >> As soon as a new serio report comes in, the hw state is reset to 0
> >> and so the buttons are released.
> >>
> >> Check for the report type before acting on the current extra buttons
> >> state.
> >
> > No:
> >
> > "If Ext is 0 (if bit 1 of bytes 1 and 4 are the same) then there are no
> > external buttons being pressed (or all external buttons have been
> > released)." - Synaptics PS/2 TouchPad Interfacing Guide PN:
> > 511-000275-01 Rev. B
> >
> 
> Hmm, indeed, the current code follows the spec. Yeah! a new firmware bug!
> 
> So when I dumped the ps/2 reports, I clearly saw the release report
> being sent with the Ext bit to 1, and other reports were in between
> with no information (because no fingers were on the touchpad).
> 

OK, so with the hardware, here are the results:

After each incoming event (being a button or touch), when there is no
more information to send (i.e. touch released or button pressed or
released), I receive 80 times the following buffer:
80 00 00 c0 00 00

The number 80 seems quite consistant, though I got once 96.
Not sure that this repeated buffer might be of interest however.

When a finger is touched on the sensor, I receive the following:

b0 ba 35 c0 8d ed <- first finger down on the sensor
....
b0 ba 3b c0 6f d0
b0 ba 3b c2 6d d0 <- button 1 pressed
b0 ba 3b c0 6f d0
....
b0 ba 3b c0 6f d0
b0 ba 3c c2 6c d0 <- button 1 released
b0 ba 3c c0 6f d0
....
90 ba 26 c0 6f d0
80 00 00 c0 00 00 <- first finger released from the sensor
80 00 00 c0 00 00 <- repeated 80 times

So here, either the spec is wrong, either the Synaptics with FW 8.1 in
the Lenovos are not following it. But I clearly see that the extended
buttons are reported only when the Ext bit is 1.

Andrew, could you help us determine which way to go?
Ideally, could you point out at a firmware version where we could be
sure that the spec has not been followed so we can add a quirk in the
driver?

Cheers,
Benjamin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ