On Tue, Aug 18, 2015 at 3:06 PM, Benjamin Tissoires <benjamin.tissoires@xxxxxxxxx> wrote: > Hi Nick, > > thanks for the report. > > On Mon, Aug 17, 2015 at 10:31 PM, Nick Bowler <nbowler@xxxxxxxxxx> wrote: >> Hi, >> >> I'm not sure if this is actually a Linux issue but figured I'd at least >> report it here to start... >> >> I have a Lenovo Thinkpad X250, with the newfangled trackpoint buttons. >> I have a problem with missing button press or release events: sometimes >> pressing a button has no effect, and sometimes releasing a button has no >> effect (the latter is especially annoying, as the button remains depressed >> as far as any applications are concerned). >> >> After some testing, the problem apparently depends on the position of my >> hands over the touchpad. I can reliably reproduce it as follows: place >> two fingers on the touchpad, then press the button repeatedly. Watching >> with evtest, several events (could be either press or release) will >> simply be missin, although the kernel never does anything weird like >> send two release events in a row. There are no problems if there are >> 0 or 1 fingers on the touchpad. >> >> My current kernel version is 4.1.6, although the problem occurs in all >> versions that I tried. >> >> Here is the evtest result from placing two fingers on the touchpad, then >> pressing the left trackpoint button 10 times, counting 1 second between >> each press. As you can see, only 3 presses and 3 release events total >> were sent by the kernel, sometimes with many physical button presses >> between the press and its corresponding release: > > OK, so this is definitively weird. My first idea would be a firmware > problem. I have asked Chandler to reproduce it on his t450 and see if > we observe it on our laptops too. Update on this one : Chandler reproduced it on the t450, so it's likely that all of these sensors are affected. It is still unclear if it is a firmware bug or a driver problem, but the chances are huge that this is a firmware bug. Anyway, that's one more reason to push towards RMI4 over SMBus for these sensors: the bug is not present with this protocol :) Cheers, Benjamin > > At the same time, could you please make a ps2emu-record log of your > touchpad when you reproduce the bug? > You can grab the sources here: https://github.com/Lyude/ps2emu > Ideally, if you could run evemu or evtest at the same time to record > what your kernel sees, that would be even better > > This should help knowing if the firmware is sending the right packets > or if the driver is ignoring them. > > Cheers, > Benjamin > >> >> Input driver version is 1.0.1 >> Input device ID: bus 0x11 vendor 0x2 product 0xa version 0x0 >> Input device name: "TPPS/2 IBM TrackPoint" >> Supported events: >> Event type 0 (EV_SYN) >> Event type 1 (EV_KEY) >> Event code 272 (BTN_LEFT) >> Event code 273 (BTN_RIGHT) >> Event code 274 (BTN_MIDDLE) >> Event type 2 (EV_REL) >> Event code 0 (REL_X) >> Event code 1 (REL_Y) >> Properties: >> Property type 0 (INPUT_PROP_POINTER) >> Property type 5 (?) >> Testing ... (interrupt to exit) >> Event: time 1439863173.241278, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863173.241278, -------------- SYN_REPORT ------------ >> Event: time 1439863180.610511, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863180.610511, -------------- SYN_REPORT ------------ >> Event: time 1439863182.162257, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863182.162257, -------------- SYN_REPORT ------------ >> Event: time 1439863185.749212, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863185.749212, -------------- SYN_REPORT ------------ >> Event: time 1439863187.145478, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863187.145478, -------------- SYN_REPORT ------------ >> Event: time 1439863189.162652, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863189.162652, -------------- SYN_REPORT ------------ >> >> For reference: the same test was repeated with only one finger on the >> touchpad; all events are delivered properly in this case: >> >> Input driver version is 1.0.1 >> Input device ID: bus 0x11 vendor 0x2 product 0xa version 0x0 >> Input device name: "TPPS/2 IBM TrackPoint" >> Supported events: >> Event type 0 (EV_SYN) >> Event type 1 (EV_KEY) >> Event code 272 (BTN_LEFT) >> Event code 273 (BTN_RIGHT) >> Event code 274 (BTN_MIDDLE) >> Event type 2 (EV_REL) >> Event code 0 (REL_X) >> Event code 1 (REL_Y) >> Properties: >> Property type 0 (INPUT_PROP_POINTER) >> Property type 5 (?) >> Testing ... (interrupt to exit) >> Event: time 1439863147.840979, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863147.840979, -------------- SYN_REPORT ------------ >> Event: time 1439863147.919313, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863147.919313, -------------- SYN_REPORT ------------ >> Event: time 1439863149.198783, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863149.198783, -------------- SYN_REPORT ------------ >> Event: time 1439863149.285873, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863149.285873, -------------- SYN_REPORT ------------ >> Event: time 1439863150.673035, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863150.673035, -------------- SYN_REPORT ------------ >> Event: time 1439863150.780064, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863150.780064, -------------- SYN_REPORT ------------ >> Event: time 1439863152.204741, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863152.204741, -------------- SYN_REPORT ------------ >> Event: time 1439863152.321820, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863152.321820, -------------- SYN_REPORT ------------ >> Event: time 1439863153.698388, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863153.698388, -------------- SYN_REPORT ------------ >> Event: time 1439863153.834195, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863153.834195, -------------- SYN_REPORT ------------ >> Event: time 1439863155.181776, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863155.181776, -------------- SYN_REPORT ------------ >> Event: time 1439863155.308142, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863155.308142, -------------- SYN_REPORT ------------ >> Event: time 1439863156.723367, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863156.723367, -------------- SYN_REPORT ------------ >> Event: time 1439863156.849475, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863156.849475, -------------- SYN_REPORT ------------ >> Event: time 1439863158.294692, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863158.294692, -------------- SYN_REPORT ------------ >> Event: time 1439863158.419989, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863158.419989, -------------- SYN_REPORT ------------ >> Event: time 1439863159.846138, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863159.846138, -------------- SYN_REPORT ------------ >> Event: time 1439863159.962375, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863159.962375, -------------- SYN_REPORT ------------ >> Event: time 1439863161.591024, type 1 (EV_KEY), code 272 (BTN_LEFT), value 1 >> Event: time 1439863161.591024, -------------- SYN_REPORT ------------ >> Event: time 1439863161.688792, type 1 (EV_KEY), code 272 (BTN_LEFT), value 0 >> Event: time 1439863161.688792, -------------- SYN_REPORT ------------ >> >> Any thoughts? >> >> Thanks, >> Nick >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-input" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html