Re: Trackpoint on Thinkpad X1 Carbon (5th gen)
From: Damjan Georgievski <hidden>
Date: 2017-06-06 17:28:40
On 6 June 2017 at 09:49, Benjamin Tissoires [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Hi, On Jun 05 2017 or thereabouts, Masaki Ota wrote:quoted
Hi, Damjan, Latest X1 Carbon system has two TrackPoint venders. One is Alps, the other is Elantech. ( Touchpad is only Synaptics.) To detect the device, we can send "E1" command by using pass-through. The device response is as below. If Alps, E1 -> 02 If Elantech, E1-> 01 It's a spec, but I have not checked it.Thanks. This made me realize that we have a difference between the PS/2 handling of the touchpad and the RMI4 use: in the PS/2 protocol, we mark the pass-through device as such by using SERIO_PS_PSTHRU. While in RMI4, we mark it as if it was a platform device, meaning we check on every protocol. Damjan, would you mind trying the following change:diff --git a/drivers/input/rmi4/rmi_f03.c b/drivers/input/rmi4/rmi_f03.c index 77dad04..ad71a5e 100644 --- a/drivers/input/rmi4/rmi_f03.c +++ b/drivers/input/rmi4/rmi_f03.c@@ -146,7 +146,7 @@ static int rmi_f03_register_pt(struct f03_data *f03) if (!serio) return -ENOMEM; - serio->id.type = SERIO_8042; + serio->id.type = SERIO_PS_PSTHRU; serio->write = rmi_f03_pt_write; serio->port_data = f03; ---If this gives equal results than when using synaptics_intertouch=0, then I guess this will be a good candidate for an rc.
what equal results? based on 4.12-rc4 (ba7b2387ad239a519041f2a2d35a1902bdd03dfb) and this change, and 'psmouse' loaded with no options, I get: [ 9.151247] psmouse serio1: synaptics: queried max coordinates: x [..5676], y [..4760] [ 9.181297] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..] [ 9.181300] psmouse serio1: synaptics: Your touchpad (PNP: LEN0072 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org. [ 9.240307] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf002a3/0x940300/0x12e800/0x400000, board id: 3289, fw id: 2492434 [ 9.240310] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0 [ 9.278160] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6 [ 9.281307] mousedev: PS/2 mouse device common for all mice $ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)] ⎜ ↳ ImPS/2 Generic Wheel Mouse id=12 [slave pointer (2)] -- damjan