diff mbox

Input: synaptics - Lenovo Carbon X1 Gen5 (2017) devices should use RMI

Message ID 20170818193436.GA31365@dtor-ws (mailing list archive)
State New, archived
Headers show

Commit Message

Dmitry Torokhov Aug. 18, 2017, 7:34 p.m. UTC
The touchpad on Lenovo Carbon X1 Gen 5 (2017 - Kabylake) is accessible over
SMBUS/RMI, so let's activate it by default.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/input/mouse/synaptics.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Benjamin Tissoires Aug. 21, 2017, 7:15 a.m. UTC | #1
On Aug 18 2017 or thereabouts, Dmitry Torokhov wrote:
> The touchpad on Lenovo Carbon X1 Gen 5 (2017 - Kabylake) is accessible over
> SMBUS/RMI, so let's activate it by default.
> 
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---

Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Cheers,
Benjamin

>  drivers/input/mouse/synaptics.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
> index 9a8d81efd329..248c7c9dcbaa 100644
> --- a/drivers/input/mouse/synaptics.c
> +++ b/drivers/input/mouse/synaptics.c
> @@ -172,6 +172,7 @@ static const char * const smbus_pnp_ids[] = {
>  	"LEN0048", /* X1 Carbon 3 */
>  	"LEN0046", /* X250 */
>  	"LEN004a", /* W541 */
> +	"LEN0072", /* X1 Carbon Gen 5 (2017) */
>  	"LEN200f", /* T450s */
>  	NULL
>  };
> -- 
> 2.14.1.480.gb18f417b89-goog
> 
> 
> -- 
> Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Damjan Georgievski Aug. 21, 2017, 8:52 a.m. UTC | #2
On 18 August 2017 at 21:34, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> The touchpad on Lenovo Carbon X1 Gen 5 (2017 - Kabylake) is accessible over
> SMBUS/RMI, so let's activate it by default.

the patch over latest Linus 4.13-rc5 makes the trackpoint device to
not appear after boot.

Sometimes it  spontaneuosly appears 100-200 seconds after boot.

It does appear after suspend/resume. And it does appear after `rmmod
psmouse; modprobe psmouse`.


Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
Mouse". Middle button scrolling is not enabled by default.

hardware is:
Lenovo ThinkPad X1 Carbon 5th, model 20HQS0LV00
DMI: LENOVO 20HQS0LV00/20HQS0LV00, BIOS N1MET37W (1.22 ) 07/04/2017
Dmitry Torokhov Aug. 21, 2017, 3:45 p.m. UTC | #3
On Mon, Aug 21, 2017 at 10:52:11AM +0200, Damjan Georgievski wrote:
> On 18 August 2017 at 21:34, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> > The touchpad on Lenovo Carbon X1 Gen 5 (2017 - Kabylake) is accessible over
> > SMBUS/RMI, so let's activate it by default.
> 
> the patch over latest Linus 4.13-rc5 makes the trackpoint device to
> not appear after boot.
> 
> Sometimes it  spontaneuosly appears 100-200 seconds after boot.
> 
> It does appear after suspend/resume. And it does appear after `rmmod
> psmouse; modprobe psmouse`.

Hmm, I do not observe this on:

Handle 0x000B, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: N1MET37W (1.22 )
        Release Date: 07/04/2017
...
        BIOS Revision: 1.22
        Firmware Revision: 1.15

Handle 0x000C, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 20HQS0EG02
        Version: ThinkPad X1 Carbon 5th
...
        SKU Number: LENOVO_MT_20HQ_BU_Think_FM_ThinkPad X1 Carbon 5th
        Family: ThinkPad X1 Carbon 5th

I wonder if we have different configs...

> 
> 
> Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
> Mouse". Middle button scrolling is not enabled by default.

I think this will be fixed by:

https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/patch/?id=ec667683c532c93fb41e100e5d61a518971060e2

> 
> hardware is:
> Lenovo ThinkPad X1 Carbon 5th, model 20HQS0LV00
> DMI: LENOVO 20HQS0LV00/20HQS0LV00, BIOS N1MET37W (1.22 ) 07/04/2017
> 

Thanks.
Damjan Georgievski Aug. 21, 2017, 4:25 p.m. UTC | #4
> I wonder if we have different configs...
>
>>
>>
>> Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
>> Mouse". Middle button scrolling is not enabled by default.
>
> I think this will be fixed by:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/patch/?id=ec667683c532c93fb41e100e5d61a518971060e2
>

Interesting, with this patch, the trackpoint appeared sooner, but
still late (at the 44 second mark):

$ dmesg | grep -i -E '(mouse|syna)'
[    5.338111] input: PixArt Dell MS116 USB Optical Mouse as
/devices/pci0000:00/0000:00:1d.0/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:00.0/0000:0b:00.0/usb3/3-3/3-3.2/3-3.2:1.0/0003:413C:301A.0005/input/input9
[    5.338221] hid-generic 0003:413C:301A.0005: input,hidraw4: USB HID
v1.11 Mouse [PixArt Dell MS116 USB Optical Mouse] on
usb-0000:0b:00.0-3.2/input0
[   11.442141] mousedev: PS/2 mouse device common for all mice
[   12.715385] psmouse serio1: synaptics: queried max coordinates: x
[..5676], y [..4760]
[   12.744807] psmouse serio1: synaptics: queried min coordinates: x
[1266..], y [1094..]
[   12.744810] psmouse serio1: synaptics: Trying to set up SMBus access
[   12.808775] rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer:
Synaptics, product: TM3289-002, fw id: 2492434
[   12.871445] input: Synaptics TM3289-002 as /devices/rmi4-00/input/input22
[   43.941741] psmouse serio2: trackpoint: failed to get extended
button data, assuming 3 buttons
[   44.564540] psmouse serio2: trackpoint: IBM TrackPoint firmware:
0x01, buttons: 3/3
[   50.834012] psmouse serio2: TrackPoint at
synaptics-rmi4-pt/serio1/input0 lost synchronization, throwing 1 bytes
away.


ps. there's a human induced delay between 5.5 and 10.5 while I'm
entering my LUKS passphrase


$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PixArt Dell MS116 USB Optical Mouse       id=13   [slave  pointer  (2)]
⎜   ↳ Synaptics TM3289-002                      id=16   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=17   [slave  pointer  (2)]
Damjan Georgievski Aug. 25, 2017, 10:55 a.m. UTC | #5
On 21 August 2017 at 18:25, Damjan Georgievski <gdamjan@gmail.com> wrote:
>> I wonder if we have different configs...
>>
>>>
>>> Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
>>> Mouse". Middle button scrolling is not enabled by default.
>>
>> I think this will be fixed by:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/patch/?id=ec667683c532c93fb41e100e5d61a518971060e2
>>
>
> Interesting, with this patch, the trackpoint appeared sooner, but
> still late (at the 44 second mark):

but that seems sporadic. on second boot, it didn't show up until I
reloaded the psmouse module

any ideas how to debug this issue further? possibly before the change
goes upstream.
Dmitry Torokhov Feb. 2, 2018, 8:50 p.m. UTC | #6
On Fri, Aug 25, 2017 at 12:55:29PM +0200, Damjan Georgievski wrote:
> On 21 August 2017 at 18:25, Damjan Georgievski <gdamjan@gmail.com> wrote:
> >> I wonder if we have different configs...
> >>
> >>>
> >>> Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
> >>> Mouse". Middle button scrolling is not enabled by default.
> >>
> >> I think this will be fixed by:
> >>
> >> https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/patch/?id=ec667683c532c93fb41e100e5d61a518971060e2
> >>
> >
> > Interesting, with this patch, the trackpoint appeared sooner, but
> > still late (at the 44 second mark):
> 
> but that seems sporadic. on second boot, it didn't show up until I
> reloaded the psmouse module
> 
> any ideas how to debug this issue further? possibly before the change
> goes upstream.

Damjan,

Since my other patches seem to have fixed the trackpoint detection
issue, mind giving your "tested-by" to this patch so I can get it in?

Thanks.
Damjan Georgievski Feb. 5, 2018, 11:56 a.m. UTC | #7
>> >>> Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
>> >>> Mouse". Middle button scrolling is not enabled by default.
>> >>
>> >> I think this will be fixed by:
>> >>
>> >> https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/patch/?id=ec667683c532c93fb41e100e5d61a518971060e2
>> >>
>> >
>> > Interesting, with this patch, the trackpoint appeared sooner, but
>> > still late (at the 44 second mark):
>>
>> but that seems sporadic. on second boot, it didn't show up until I
>> reloaded the psmouse module
>>
>> any ideas how to debug this issue further? possibly before the change
>> goes upstream.
>
> Damjan,
>
> Since my other patches seem to have fixed the trackpoint detection
> issue, mind giving your "tested-by" to this patch so I can get it in?

let me just run some more tests and I'll get back to you soon.

I'm getting some weird clicks on the trackpad, I want to compare with
vanilla kernel.

Dimitry, what's best for testing, 4.15.1 + your patches or should I use 4.16rc1?
Damjan Georgievski Feb. 7, 2018, 2:43 p.m. UTC | #8
On 5 February 2018 at 12:56, Damjan Georgievski <gdamjan@gmail.com> wrote:
>>> >>> Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
>>> >>> Mouse". Middle button scrolling is not enabled by default.
>>> >>
>>> >> I think this will be fixed by:
>>> >>
>>> >> https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/patch/?id=ec667683c532c93fb41e100e5d61a518971060e2
>>> >>
>>> >
>>> > Interesting, with this patch, the trackpoint appeared sooner, but
>>> > still late (at the 44 second mark):
>>>
>>> but that seems sporadic. on second boot, it didn't show up until I
>>> reloaded the psmouse module
>>>
>>> any ideas how to debug this issue further? possibly before the change
>>> goes upstream.
>>
>> Damjan,
>>
>> Since my other patches seem to have fixed the trackpoint detection
>> issue, mind giving your "tested-by" to this patch so I can get it in?
>
> let me just run some more tests and I'll get back to you soon.
>
> I'm getting some weird clicks on the trackpad, I want to compare with
> vanilla kernel.
>
> Dimitry, what's best for testing, 4.15.1 + your patches or should I use 4.16rc1?

The only difference I've noticed is these event that seems to be
repeated/stuck (BTN_LEFT 19.60)?:
$ sudo libinput debug-events --device /dev/input/event16
-event16  DEVICE_ADDED     Synaptics TM3289-002              seat0
default group1  cap:pg  size 102x56mm tap(dl off) left scroll-nat
scroll-2fg-edge click-buttonareas-clickfinger dwt-on
…
 event16  POINTER_BUTTON   +19.56s      BTN_LEFT (272) pressed, seat count: 1
 event16  POINTER_BUTTON   +19.58s      BTN_LEFT (272) released, seat count: 0
 event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
 event16  POINTER_BUTTON   +19.66s      BTN_LEFT (272) released, seat count: 0
 event16  POINTER_BUTTON   +20.47s      BTN_MIDDLE (274) pressed, seat count: 1
 event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
 event16  POINTER_BUTTON   +20.54s      BTN_MIDDLE (274) released, seat count: 0
 event16  POINTER_BUTTON   +20.57s      BTN_MIDDLE (274) pressed, seat count: 1
 event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
 event16  POINTER_BUTTON   +20.57s      BTN_MIDDLE (274) released, seat count: 0
 event16  POINTER_BUTTON   +21.34s      BTN_MIDDLE (274) pressed, seat count: 1
 event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
 event16  POINTER_BUTTON   +21.43s      BTN_MIDDLE (274) released, seat count: 0
 event16  POINTER_BUTTON   +21.94s      BTN_MIDDLE (274) pressed, seat count: 1
 event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
 event16  POINTER_BUTTON   +22.02s      BTN_MIDDLE (274) released, seat count: 0
Damjan Georgievski March 16, 2018, 6:11 p.m. UTC | #9
On 7 February 2018 at 15:43, Damjan Georgievski <gdamjan@gmail.com> wrote:
> On 5 February 2018 at 12:56, Damjan Georgievski <gdamjan@gmail.com> wrote:
>>>> >>> Second issues is, trackpoint is reported as "ImPS/2 Generic Wheel
>>>> >>> Mouse". Middle button scrolling is not enabled by default.
>>>> >>
>>>> >> I think this will be fixed by:
>>>> >>
>>>> >> https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/patch/?id=ec667683c532c93fb41e100e5d61a518971060e2
>>>> >>
>>>> >
>>>> > Interesting, with this patch, the trackpoint appeared sooner, but
>>>> > still late (at the 44 second mark):
>>>>
>>>> but that seems sporadic. on second boot, it didn't show up until I
>>>> reloaded the psmouse module
>>>>
>>>> any ideas how to debug this issue further? possibly before the change
>>>> goes upstream.
>>>
>>> Damjan,
>>>
>>> Since my other patches seem to have fixed the trackpoint detection
>>> issue, mind giving your "tested-by" to this patch so I can get it in?
>>
>> let me just run some more tests and I'll get back to you soon.
>>
>> I'm getting some weird clicks on the trackpad, I want to compare with
>> vanilla kernel.
>>
>> Dimitry, what's best for testing, 4.15.1 + your patches or should I use 4.16rc1?
>
> The only difference I've noticed is these event that seems to be
> repeated/stuck (BTN_LEFT 19.60)?:
> $ sudo libinput debug-events --device /dev/input/event16
> -event16  DEVICE_ADDED     Synaptics TM3289-002              seat0
> default group1  cap:pg  size 102x56mm tap(dl off) left scroll-nat
> scroll-2fg-edge click-buttonareas-clickfinger dwt-on
> …
>  event16  POINTER_BUTTON   +19.56s      BTN_LEFT (272) pressed, seat count: 1
>  event16  POINTER_BUTTON   +19.58s      BTN_LEFT (272) released, seat count: 0
>  event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
>  event16  POINTER_BUTTON   +19.66s      BTN_LEFT (272) released, seat count: 0
>  event16  POINTER_BUTTON   +20.47s      BTN_MIDDLE (274) pressed, seat count: 1
>  event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
>  event16  POINTER_BUTTON   +20.54s      BTN_MIDDLE (274) released, seat count: 0
>  event16  POINTER_BUTTON   +20.57s      BTN_MIDDLE (274) pressed, seat count: 1
>  event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
>  event16  POINTER_BUTTON   +20.57s      BTN_MIDDLE (274) released, seat count: 0
>  event16  POINTER_BUTTON   +21.34s      BTN_MIDDLE (274) pressed, seat count: 1
>  event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
>  event16  POINTER_BUTTON   +21.43s      BTN_MIDDLE (274) released, seat count: 0
>  event16  POINTER_BUTTON   +21.94s      BTN_MIDDLE (274) pressed, seat count: 1
>  event16  POINTER_BUTTON   +19.60s      BTN_LEFT (272) pressed, seat count: 1
>  event16  POINTER_BUTTON   +22.02s      BTN_MIDDLE (274) released, seat count: 0


now on kernel 4.16.0-rc5+ with libinput 1.10.3-1 I don't get this
weird behaviour.
maybe now is  the time to merge/enable LEN0072 5th gen X1 Carbon into
smbus_pnp_ids
diff mbox

Patch

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 9a8d81efd329..248c7c9dcbaa 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -172,6 +172,7 @@  static const char * const smbus_pnp_ids[] = {
 	"LEN0048", /* X1 Carbon 3 */
 	"LEN0046", /* X250 */
 	"LEN004a", /* W541 */
+	"LEN0072", /* X1 Carbon Gen 5 (2017) */
 	"LEN200f", /* T450s */
 	NULL
 };