You are not logged in.
Update 2: There might still be issues with suspend in conjunction with tlp, see further down
Update: Removing the "i2c_i801" kernel module from the modprobe blacklist works in conjunction with adding "synaptics_intertouch=1", see this followup. Marking as solved.
First off,
Hi Arch people! Great to be joining this great community.
As reported already on the Lenovo forums and on StackExchange, the TrackPoint and TouchPad on the new Lenovo X1 Carbon, 6th Gen 2018 do not work at the same time out of the box.
Symptoms are:
- Both Touchpad and TrackPoint only work every ~5 seconds for about half a second
- dmesg shows:
psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
psmouse serio1: Touchpad at isa0060/serio1/input0 lost sync at byte 1
psmouse serio1: Issuing reconnect request
I have the 20KG model(20KGS03800), FHD with NFC, which means the TrackPoint, three mouse buttons and the NFC chip are somehow on the same bus?
Solutions that have been suggested:
- Disabling the TrackPoint in BIOS: Works, Touchpad is fully functional. Also disables the three mouse buttons above the touchpad.
- Activating psmouse.intertouch=1: Does not work for me
- Loading rmi_smbus kernel module before psmouse: Might work? See the linux-input mailing list
- Loading psmouse with "proto=imps": No multitouch possible
So I've gone and poked around a bit, turns out psmouse supports other parameters:
- resetafter is set to 5 by default, I've set it to 1
- rate is set to 100 by default, I've set it to 200
- synaptics_intertouch is set to 0, I've left it there
- proto is set to any, I've left it
So that leaves the following command line:
initrd=... root=... psmouse.synaptics_intertouch=0 psmouse.proto=any psmouse.resetafter=1 psmouse.rate=200 [..]
For me now both the Trackpoint incl. buttons and the Touchpad incl. multitouch work, without any hiccups or dmesg spam.
However it still takes too long to initialize the devices, Touchpad & TrackPoint are unresponsive for a few seconds immediately after bootup. The Trackpoint does not wake up from sleep/suspend when using "proto=any", only when setting "proto=imps" does it respond again.
Will post dmesg logs and hwinfo later.
If anyone has made progress, feel free to share. Especially the Wiki Page is still very terse. I've created the accompanying Talk page as well.
Last edited by mrfaber (2018-10-02 04:09:53)
Offline
Unfortunate. My X1C6 is working fine.
I did add psmouse.synaptics_intertouch=1, because a dmesg warning suggested I do so, but I had no problems before that I noticed.
Trackpad and trackpoint work at the same time, but it seems once trackpoint starts taking input, trackpad stops being listened to.
I do not have the NFC version, I have the 20KH model.
The X1C5 had several different models of trackpad/trackpoint in the same model year, so it may be that way this year also.
Last edited by Ranguvar (2018-04-20 15:26:05)
Offline
Thanks for the report, Ranguvar.
I've collected logs, but it just seems to me that the behaviour is wildly inconsistent.
Booted with latest kernel 4.16, tried both via Ubuntu mainline and Arch latest
lshw:
myhostname
description: Notebook
product: 20KGS03800 (LENOVO_MT_20KG_BU_Think_FM_ThinkPad X1 Carbon 6th)
vendor: LENOVO
version: ThinkPad X1 Carbon 6th
serial: XXXXXXXXXX
width: 64 bits
capabilities: smbios-3.0 dmi-3.0 smp vsyscall32
configuration: administrator_password=disabled chassis=notebook family=ThinkPad X1 Carbon 6th power-on_password=disabled sku=LENOVO_MT_20KG_BU_Think_FM_ThinkPad X1 Carbon 6th uuid=XXXX-XXXX-XXXX-XXXX-XXXX
*-core
description: Motherboard
product: 20KGS03800
vendor: LENOVO
physical id: 0
version: Not Defined
serial: XXXXX
slot: Not Available
*-memory
description: System Memory
physical id: 3
slot: System board or motherboard
size: 16GiB
*-bank:0
description: Row of chips LPDDR3 Synchronous Unbuffered (Unregistered) 2133 MHz (0,5 ns)
product: H9CCNNNCLGALAR-NVD
vendor: SK Hynix
physical id: 0
serial: 00000000
slot: ChannelA-DIMM0
size: 8GiB
width: 64 bits
clock: 2133MHz (0.5ns)
*-bank:1
description: Row of chips LPDDR3 Synchronous Unbuffered (Unregistered) 2133 MHz (0,5 ns)
product: H9CCNNNCLGALAR-NVD
vendor: SK Hynix
physical id: 1
serial: 00000000
slot: ChannelB-DIMM0
size: 8GiB
width: 64 bits
clock: 2133MHz (0.5ns)
*-cache:0
description: L1 cache
physical id: 7
slot: L1 Cache
size: 256KiB
capacity: 256KiB
capabilities: synchronous internal write-back unified
configuration: level=1
*-cache:1
description: L2 cache
physical id: 8
slot: L2 Cache
size: 1MiB
capacity: 1MiB
capabilities: synchronous internal write-back unified
configuration: level=2
*-cache:2
description: L3 cache
physical id: 9
slot: L3 Cache
size: 8MiB
capacity: 8MiB
capabilities: synchronous internal write-back unified
configuration: level=3
*-cpu
description: CPU
product: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
vendor: Intel Corp.
physical id: a
bus info: cpu@0
version: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
serial: None
slot: U3E1
size: 2400MHz
capacity: 4GHz
width: 64 bits
clock: 100MHz
capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves ibpb ibrs stibp dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp cpufreq
configuration: cores=4 enabledcores=4 threads=8
*-firmware
description: BIOS
vendor: LENOVO
physical id: b
version: N23ET33W (1.08 )
date: 01/22/2018
size: 128KiB
capacity: 15MiB
capabilities: pci pnp upgrade shadowing cdboot bootselect edd int13floppy720 int5printscreen int9keyboard int14serial int17printer int10video acpi usb biosbootspecification uefi
*-pci
description: Host bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 100
bus info: pci@0000:00:00.0
version: 08
width: 32 bits
clock: 33MHz
*-display
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 07
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: iomemory:2f0-2ef iomemory:2f0-2ef irq:132 memory:2ffa000000-2ffaffffff memory:2fa0000000-2fafffffff ioport:e000(size=64) memory:c0000-dffff
*-generic:0
description: Signal processing controller
product: Skylake Processor Thermal Subsystem
vendor: Intel Corporation
physical id: 4
bus info: pci@0000:00:04.0
version: 08
width: 64 bits
clock: 33MHz
capabilities: msi pm cap_list
configuration: driver=proc_thermal latency=0
resources: iomemory:2f0-2ef irq:16 memory:2ffb020000-2ffb027fff
*-generic:1 UNCLAIMED
description: System peripheral
product: Skylake Gaussian Mixture Model
vendor: Intel Corporation
physical id: 8
bus info: pci@0000:00:08.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: msi pm cap_list
configuration: latency=0
resources: iomemory:2f0-2ef memory:2ffb02f000-2ffb02ffff
*-usb
description: USB controller
product: Sunrise Point-LP USB 3.0 xHCI Controller
vendor: Intel Corporation
physical id: 14
bus info: pci@0000:00:14.0
version: 21
width: 64 bits
clock: 33MHz
capabilities: pm msi xhci cap_list
configuration: driver=xhci_hcd latency=0
resources: iomemory:2f0-2ef irq:123 memory:2ffb010000-2ffb01ffff
*-usbhost:0
product: xHCI Host Controller
vendor: Linux 4.16.0-041600-generic xhci-hcd
physical id: 0
bus info: usb@1
logical name: usb1
version: 4.16
capabilities: usb-2.00
configuration: driver=hub slots=12 speed=480Mbit/s
*-usb:0
description: Bluetooth wireless interface
vendor: Intel Corp.
physical id: 7
bus info: usb@1:7
version: 0.10
capabilities: bluetooth usb-2.00
configuration: driver=btusb maxpower=100mA speed=12Mbit/s
*-usb:1
description: Video
product: Integrated Camera
vendor: Chicony Electronics Co.,Ltd.
physical id: 8
bus info: usb@1:8
version: 4.25
serial: 0001
capabilities: usb-2.01
configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
*-usb:2 UNCLAIMED
description: Generic USB device
vendor: Synaptics, Inc.
physical id: 9
bus info: usb@1:9
version: 1.64
serial: XXXX
capabilities: usb-2.00
configuration: maxpower=100mA speed=12Mbit/s
*-usbhost:1
product: xHCI Host Controller
vendor: Linux 4.16.0-041600-generic xhci-hcd
physical id: 1
bus info: usb@2
logical name: usb2
version: 4.16
capabilities: usb-3.00
configuration: driver=hub slots=6 speed=5000Mbit/s
*-generic:2
description: Signal processing controller
product: Sunrise Point-LP Thermal subsystem
vendor: Intel Corporation
physical id: 14.2
bus info: pci@0000:00:14.2
version: 21
width: 64 bits
clock: 33MHz
capabilities: pm msi cap_list
configuration: driver=intel_pch_thermal latency=0
resources: iomemory:2f0-2ef irq:18 memory:2ffb02e000-2ffb02efff
*-communication
description: Communication controller
product: Sunrise Point-LP CSME HECI #1
vendor: Intel Corporation
physical id: 16
bus info: pci@0000:00:16.0
version: 21
width: 64 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: driver=mei_me latency=0
resources: iomemory:2f0-2ef irq:133 memory:2ffb02d000-2ffb02dfff
*-pci:0
description: PCI bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 1c
bus info: pci@0000:00:1c.0
version: f1
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:16 memory:ee200000-ee2fffff
*-network
description: Wireless interface
product: Wireless 8265 / 8275
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
logical name: wlp2s0
version: 78
serial: XX:XX:XX:XX:XX:XX
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi driverversion=4.16.0-041600-generic firmware=31.560484.0 ip=192.168.0.131 latency=0 link=yes multicast=yes wireless=IEEE 802.11
resources: irq:134 memory:ee200000-ee201fff
*-pci:1
description: PCI bridge
product: Sunrise Point-LP PCI Express Root Port #5
vendor: Intel Corporation
physical id: 1c.4
bus info: pci@0000:00:1c.4
version: f1
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:16 memory:ee100000-ee1fffff
*-storage
description: Non-Volatile memory controller
product: Samsung Electronics Co Ltd
vendor: Samsung Electronics Co Ltd
physical id: 0
bus info: pci@0000:04:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: storage pm msi pciexpress msix nvm_express bus_master cap_list
configuration: driver=nvme latency=0
resources: irq:16 memory:ee100000-ee103fff
*-pci:2
description: PCI bridge
product: Sunrise Point-LP PCI Express Root Port #9
vendor: Intel Corporation
physical id: 1d
bus info: pci@0000:00:1d.0
version: f1
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode cap_list
configuration: driver=pcieport
resources: irq:16 ioport:2000(size=4096) memory:c0000000-ee0fffff ioport:2fb0000000(size=1241513984)
*-isa
description: ISA bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 1f
bus info: pci@0000:00:1f.0
version: 21
width: 32 bits
clock: 33MHz
capabilities: isa bus_master
configuration: latency=0
*-memory UNCLAIMED
description: Memory controller
product: Sunrise Point-LP PMC
vendor: Intel Corporation
physical id: 1f.2
bus info: pci@0000:00:1f.2
version: 21
width: 32 bits
clock: 33MHz (30.3ns)
configuration: latency=0
resources: memory:ee320000-ee323fff
*-multimedia
description: Audio device
product: Intel Corporation
vendor: Intel Corporation
physical id: 1f.3
bus info: pci@0000:00:1f.3
version: 21
width: 64 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list
configuration: driver=snd_hda_intel latency=64
resources: iomemory:2f0-2ef iomemory:2f0-2ef irq:135 memory:2ffb028000-2ffb02bfff memory:2ffb000000-2ffb00ffff
*-serial UNCLAIMED
description: SMBus
product: Sunrise Point-LP SMBus
vendor: Intel Corporation
physical id: 1f.4
bus info: pci@0000:00:1f.4
version: 21
width: 64 bits
clock: 33MHz
configuration: latency=0
resources: iomemory:2f0-2ef memory:2ffb02c000-2ffb02c0ff ioport:efa0(size=32)
*-network
description: Ethernet interface
product: Ethernet Connection (4) I219-V
vendor: Intel Corporation
physical id: 1f.6
bus info: pci@0000:00:1f.6
logical name: enp0s31f6
version: 21
serial: XX:XX:XX:XX:XX:XX
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=0.1-4 latency=0 link=no multicast=yes port=twisted pair
resources: irq:124 memory:ee300000-ee31ffff
*-battery
product: 01AV430
vendor: SMP
physical id: 1
slot: Front
capacity: 57020mWh
configuration: voltage=11,5V
libinput enable-debug:
-event2 DEVICE_ADDED Power Button seat0 default group1 cap:k
-event4 DEVICE_ADDED Video Bus seat0 default group2 cap:k
-event1 DEVICE_ADDED Lid Switch seat0 default group3 cap:S
-event0 DEVICE_ADDED Sleep Button seat0 default group4 cap:k
-event13 DEVICE_ADDED Integrated Camera: Integrated C seat0 default group5 cap:k
-event9 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=7 seat0 default group6 cap:
-event10 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=8 seat0 default group6 cap:
-event11 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=9 seat0 default group6 cap:
-event12 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=10 seat0 default group6 cap:
-event6 DEVICE_ADDED HDA Intel PCH Mic seat0 default group6 cap:
-event7 DEVICE_ADDED HDA Intel PCH Headphone seat0 default group6 cap:
-event8 DEVICE_ADDED HDA Intel PCH HDMI/DP,pcm=3 seat0 default group6 cap:
-event3 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group7 cap:k
-event14 DEVICE_ADDED SynPS/2 Synaptics TouchPad seat0 default group8 cap:pg size 70x50mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event15 DEVICE_ADDED TPPS/2 Elan TrackPoint seat0 default group9 cap:p left scroll-nat scroll-button
-event5 DEVICE_ADDED ThinkPad Extra Buttons seat0 default group10 cap:k
-event3 KEYBOARD_KEY +2.31s *** (-1) pressed
event3 KEYBOARD_KEY +2.49s *** (-1) pressed
dmesg for cold boot:
[ 0.000000] Command line: initrd=\initrd.img-mainline rw root=/dev/nvme0n1p2 quiet splash acpi.ec_no_wakeup=1 psmouse.synaptics_intertouch=1 psmouse.proto=any psmouse.resetafter=1 psmouse.rate=200 mem_sleep_default=deep
[ 0.000000] Kernel command line: initrd=\initrd.img-mainline rw root=/dev/nvme0n1p2 quiet splash acpi.ec_no_wakeup=1 psmouse.synaptics_intertouch=1 psmouse.proto=any psmouse.resetafter=1 psmouse.rate=200 mem_sleep_default=deep
[ 1.648990] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
[ 1.649063] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
[ 1.649129] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[ 1.711428] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[ 2.217649] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input5
[ 3.878216] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input6
[ 3.943441] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 4.003458] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input7
[ 4.003504] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input8
[ 4.003536] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9
[ 4.003563] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input10
[ 4.003595] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input11
[ 4.004417] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input12
[ 4.004459] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input13
[ 5.107809] input: Integrated Camera: Integrated C as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input14
[ 7.147319] rfkill: input handler disabled
[ 89.127365] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 89.162861] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 89.162866] psmouse serio1: synaptics: Trying to set up SMBus access
[ 89.165875] psmouse serio1: synaptics: SMbus companion is not ready yet
[ 89.239691] psmouse serio1: synaptics: Touchpad model: 1, fw: 9.16, id: 0x1e2a1, caps: 0xf00ba3/0x940300/0x12e800/0x500000, board id: 3288, fw id: 2696789
[ 89.239709] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
[ 89.292525] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input214
[ 89.655028] psmouse serio2: Failed to reset mouse on synaptics-pt/serio0
[ 90.326798] psmouse serio2: trackpoint: Elan TrackPoint firmware: 0x04, buttons: 3/3
[ 90.783874] input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/serio2/input/input215
[ 91.061451] psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
[ 93.572219] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 93.572225] psmouse serio1: issuing reconnect request
[ 94.433605] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 94.469909] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 96.160424] psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
[ 99.696108] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 99.696114] psmouse serio1: issuing reconnect request
[ 100.561226] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 100.603737] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 670.044194] psmouse serio2: Failed to disable mouse on synaptics-pt/serio0
[ 688.568535] psmouse serio2: Failed to reset mouse on synaptics-pt/serio0
[ 693.086384] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/serio2/input/input217
[ 693.353947] psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
[ 745.482325] psmouse serio2: Failed to disable mouse on synaptics-pt/serio0
[ 762.132141] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/serio2/input/input219
[ 762.399955] psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
dmesg during suspend:
$ echo -n none > /sys/devices/platform/i8042/serio1/drvctl
$ echo -n reconnect > /sys/devices/platform/i8042/serio1/drvctl
> nothing improves for TrackPoint
$ echo -n "reconnect" | tee /sys/bus/serio/devices/serio1/drvctl
> grep dmesg for psmouse and input:
[ 3397.272796] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 3397.272802] psmouse serio1: issuing reconnect request
[ 3398.162750] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3398.209801] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 3406.904614] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 3406.904620] psmouse serio1: issuing reconnect request
[ 3407.693617] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3407.728712] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 3408.213807] psmouse serio3: Failed to reset mouse on synaptics-pt/serio0
[ 3411.428506] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/serio3/input/input247
[ 3411.693351] psmouse serio3: Failed to enable mouse on synaptics-pt/serio0
[ 3413.334574] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 3413.334579] psmouse serio1: issuing reconnect request
[ 3414.216038] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3414.263712] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 3416.724827] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 3416.724832] psmouse serio1: issuing reconnect request
[ 3417.642085] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3417.688700] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 3418.674231] psmouse serio3: trackpoint: Elan TrackPoint firmware: 0x04, buttons: 3/3
[ 3419.269442] input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/serio3/input/input249
[ 3419.553407] psmouse serio3: Failed to enable mouse on synaptics-pt/serio0
[ 3420.416398] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 3420.416404] psmouse serio1: issuing reconnect request
[ 3421.271443] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3421.303724] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 3422.830265] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 3422.830271] psmouse serio1: issuing reconnect request
[ 3423.736911] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3423.774292] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 3424.683542] psmouse serio3: trackpoint: Elan TrackPoint firmware: 0x04, buttons: 3/3
[ 3425.153927] input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/serio3/input/input251
[ 3425.437336] psmouse serio3: Failed to enable mouse on synaptics-pt/serio0
[ 3426.295534] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 3426.295540] psmouse serio1: issuing reconnect request
[ 3427.193718] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3427.240840] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
raw suspend data:
$ systemctl suspend
[ 3240.157529] e1000e: enp0s31f6 NIC Link is Down
[ 3240.214845] wlp2s0: deauthenticating from XX:XX:XX:XX:XX:XX by local choice (Reason: 3=DEAUTH_LEAVING)
[ 3245.125659] PM: suspend entry (s2idle)
[ 3245.125660] PM: Syncing filesystems ... done.
[ 3245.133700] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 3245.135609] OOM killer disabled.
[ 3245.135610] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 3245.136746] Suspending console(s) (use no_console_suspend to debug)
[ 3245.376017] psmouse serio3: Failed to disable mouse on synaptics-pt/serio0
[ 3245.993424] e1000e: EEE TX LPI TIMER: 00000011
[ 3246.184296] thinkpad_acpi: unknown possible thermal alarm or keyboard event received
[ 3246.184300] thinkpad_acpi: unhandled HKEY event 0x6032
[ 3246.184302] thinkpad_acpi: please report the conditions when this event happened to ibm-acpi-devel@lists.sourceforge.net
> wakeup happens around here I think
[ 3252.229516] nvme nvme0: Shutdown timeout set to 8 seconds
[ 3252.302362] OOM killer enabled.
[ 3252.302363] Restarting tasks ... done.
[ 3252.308289] thermal thermal_zone6: failed to read out thermal zone (-61)
[ 3252.322812] PM: suspend exit
[ 3252.328496] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready
[ 3252.541920] IPv6: ADDRCONF(NETDEV_UP): enp0s31f6: link is not ready
[ 3252.544496] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 3252.778422] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 3252.879291] IPv6: ADDRCONF(NETDEV_UP): wlp2s0: link is not ready
[ 3258.671361] wlp2s0: authenticate with 00:0c:f6:b9:87:8a
[ 3258.681034] wlp2s0: send auth to 00:0c:f6:b9:87:8a (try 1/3)
[ 3258.690557] wlp2s0: authenticated
[ 3258.693571] wlp2s0: associate with XX:XX:XX:XX:XX:XX (try 1/3)
[ 3258.699952] wlp2s0: RX AssocResp from XX:XX:XX:XX:XX:XX (capab=0x411 status=0 aid=2)
[ 3258.703320] wlp2s0: associated
[ 3258.920920] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[ 3387.497791] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/serio3/input/input245
[ 3387.769395] psmouse serio3: Failed to enable mouse on synaptics-pt/serio0
Another log for manual reconect without reload psmouse kernel module:
$ echo -n "reconnect" | sudo tee /sys/bus/serio/devices/serio1/drvctl
[ 2485.630291] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 2485.677603] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 2489.896856] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 2489.896862] psmouse serio1: issuing reconnect request
[ 2490.781637] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 2490.829200] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 2491.791717] psmouse serio2: trackpoint: Elan TrackPoint firmware: 0x04, buttons: 3/3
[ 2492.387674] input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/serio2/input/input229
[ 2492.675212] psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
[ 2494.060872] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 2494.060878] psmouse serio1: issuing reconnect request
[ 2494.978200] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 2495.011594] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 2496.613993] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 2496.614000] psmouse serio1: issuing reconnect request
[ 2497.489078] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 2497.534754] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 2498.559785] psmouse serio2: trackpoint: Elan TrackPoint firmware: 0x04, buttons: 3/3
[ 2498.857906] input: TPPS/2 Elan TrackPoint as /devices/platform/i8042/serio1/serio2/input/input231
[ 2499.131296] psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
[ 2499.978061] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 2499.978066] psmouse serio1: issuing reconnect request
[ 2500.842430] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 2500.886304] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 2502.211304] psmouse serio2: Failed to enable mouse on synaptics-pt/serio0
[ 2503.665166] psmouse serio1: TouchPad at isa0060/serio1/input0 lost sync at byte 1
[ 2503.665172] psmouse serio1: issuing reconnect request
[ 2504.505769] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 2504.547916] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
$ echo -n reconnect > /sys/devices/platform/i8042/serio1/drvctl
> same thing this time
/proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=4000 0 0
I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
U: Uniq=
H: Handlers=event1
B: PROP=0
B: EV=21
B: SW=1
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
U: Uniq=
H: Handlers=kbd event2
B: PROP=0
B: EV=3
B: KEY=10000000000000 0
I: Bus=0011 Vendor=0001 Product=0001 Version=ab54
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input3
U: Uniq=
H: Handlers=sysrq kbd event3 leds
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input5
U: Uniq=
H: Handlers=kbd event4
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0
I: Bus=0019 Vendor=17aa Product=5054 Version=4101
N: Name="ThinkPad Extra Buttons"
P: Phys=thinkpad_acpi/input0
S: Sysfs=/devices/platform/thinkpad_acpi/input/input6
U: Uniq=
H: Handlers=rfkill kbd event5
B: PROP=0
B: EV=33
B: KEY=10040 0 18040000 0 50100000000000 0 1701b02102004 c000280041114000 10e000000000000 0
B: MSC=10
B: SW=8
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input7
U: Uniq=
H: Handlers=event6
B: PROP=0
B: EV=21
B: SW=10
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input8
U: Uniq=
H: Handlers=event7
B: PROP=0
B: EV=21
B: SW=4
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input9
U: Uniq=
H: Handlers=event8
B: PROP=0
B: EV=21
B: SW=140
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input10
U: Uniq=
H: Handlers=event9
B: PROP=0
B: EV=21
B: SW=140
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input11
U: Uniq=
H: Handlers=event10
B: PROP=0
B: EV=21
B: SW=140
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=9"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input12
U: Uniq=
H: Handlers=event11
B: PROP=0
B: EV=21
B: SW=140
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=10"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input13
U: Uniq=
H: Handlers=event12
B: PROP=0
B: EV=21
B: SW=140
I: Bus=0003 Vendor=04f2 Product=b61e Version=0425
N: Name="Integrated Camera: Integrated C"
P: Phys=usb-0000:00:14.0-8/button
S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input14
U: Uniq=
H: Handlers=kbd event13
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0
I: Bus=0011 Vendor=0002 Product=0007 Version=01a1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input214
U: Uniq=
H: Handlers=mouse0 event14
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=660800011000003
I: Bus=0011 Vendor=0002 Product=0001 Version=0000
N: Name="PS/2 Generic Mouse"
P: Phys=synaptics-pt/serio0/input0
S: Sysfs=/devices/platform/i8042/serio1/serio2/input/input223
U: Uniq=
H: Handlers=mouse1 event15
B: PROP=1
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3
Another observation: After manual reconnection a new device is opened, going from serio2 to serio8 and so on, I think this is only for the TrackPoint since the Touchpad remains at serio1
Last edited by mrfaber (2018-07-13 17:18:46)
Offline
More investigation: According to this github gist, one could somehow coerce the kernel to intialize the pointing devices via the RMI4 protocol, which might improve things as the TrackPoint is loaded via PS/2 emulation at the moment.
As of Kernel 4.16, the patch to rmi_smbus has been merged, but the newer X1 models are not yet whitelisted in drivers/input/mouse/synaptics.c (the PNP ids are not included).
For reference, this is the output of "cat /sys/bus/pnp/devices/*/id":
PNP0c02
PNP0c02
PNP0c02
PNP0b00
INT3f0d
PNP0c02
LEN0071
PNP0303
LEN0092
PNP0f13
PNP0c02
PNP0c02
PNP0c02
PNP0c01
So our synaptics pointing devices are LEN0071 and LEN0092 if I read this correctly. The Elan TrackPoint should be listed somewhere else I suppose?
Will now continue testing with 4.16.4, which seems to initialize the pointing devices correctly after some retries at boot. So far, even the TrackPoint survices suspends.
Now trying to see if including rmi_smbus into the initramfs speeds up loading the Touchpad.
Edit: Even with rmi_smbus loaded the initializations takes a few retries. And smbus access is still reported as lacking:
[ 143.149203] psmouse serio1: synaptics: Trying to set up SMBus access
[ 143.152349] psmouse serio1: synaptics: SMbus companion is not ready yet
[ 143.229431] psmouse serio1: synaptics: Touchpad model: 1, fw: 9.16, id: 0x1e2a1, caps: 0xf00ba3/0x940300/0x12e800/0x500000, board id: 3288, fw id: 2696789
[ 143.229449] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
But watching the linux-input mailing list, I've noticed Benjamin Tissoires working on some patches to get the TrackPoint working over RMI. They're not included in the kernel yet, but might be soon.
Aparently the work is now centering on porting Elantech devices over to SMBus, see this patch
Many of the Elantech devices are connected through PS/2 and a different
bus (SMBus or plain I2C).To not break any existing device, we only enable SMBus based
on a module parameter. If some laptops require the quirk to
be set, we will have to rely on a list of PNPIds or MDI matching
to individually expose those hardware over SMBus.
the parameter mentioned above is elantech_smbus from the psmouse
module.
Most interesting for us is Benjamin’s work on getting Thinkpads to work, especially our X1C6, see this patch:
This time, Lenovo decided to go with different pieces in its latest series
of Thinkpads.For those we have been able to test:
- the T480 is using Synaptics with an IBM trackpoint
-> it behaves properly with or without intertouch, there is no point
not using RMI4
- the X1 Carbon 6th gen is using Synaptics with an IBM trackpoint
-> the touchpad doesn't behave properly under PS/2 so we have to
switch it to RMI4 if we do not want to have disappointed users
- the X280 is using Synaptics with an ALPS trackpoint
-> the recent fixes in the trackpoint handling fixed it so upstream
now works fine with or without RMI4, and there is no point not
using RMI4
- the T480s is using an Elan touchpad, so that's a different story
So we will have to wait a bit for them to get included into 4.17, or you might try to compile a kernel with his patches applied.
Michael on StackExchange reports success with CONFIG_RMI4 kernel options applied, so this seems to be the path forward.
So, all in all, good news I’d say!
Last edited by mrfaber (2018-04-26 02:39:26)
Offline
As proposed on the Lenovo forums, de-blacklisting "i2c_i801" from modprobe does enable the trackpoint to work reliably. There is occasional dropout in tap-to-click functionality though, but no log entries are generated for that. Cannot really confirm if it's due to me not tapping hard enough(not pressing to generate a hardware "click"!), because after a few tries it works.
I can confirm this survives suspends for me as well.
In detail:
in /etc/modprobe.d/blacklist.conf
[...]
# causes failure to suspend on HP compaq nc6000 (Ubuntu: #10306)
blacklist i2c_i801
[...]
Comment out that line and regenerate initramfs/initrd via mkinitcpio.
New logs:
$ dmesg | ag "(psmouse|input|thinkpad|touchpad|trackpoint|elan|synaptic|rmi|serio)"
[ 0.000000] Command line: initrd=\initrd.img-generic rw root=/dev/nvme0n1p2 quiet splash acpi.ec_no_wakeup=1 psmouse.synaptics_intertouch=1 psmouse.proto=any psmouse.resetafter=1 psmouse.rate=200 mem_sleep_default=deep loglevel=2
[ 0.000000] Kernel command line: initrd=\initrd.img-generic rw root=/dev/nvme0n1p2 quiet splash acpi.ec_no_wakeup=1 psmouse.synaptics_intertouch=1 psmouse.proto=any psmouse.resetafter=1 psmouse.rate=200 mem_sleep_default=deep loglevel=2
[ 0.951071] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
[ 0.951156] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
[ 0.951228] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[ 1.006574] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 1.006587] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 1.008669] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[ 1.204756] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input5
[ 2.842704] thinkpad_acpi: ThinkPad ACPI Extras v0.25
[ 2.842705] thinkpad_acpi: http://ibm-acpi.sf.net/
[ 2.842706] thinkpad_acpi: ThinkPad BIOS N23ET33W (1.08 ), EC unknown
[ 2.842707] thinkpad_acpi: Lenovo ThinkPad X1 Carbon 6th, model 20KGS03800
[ 2.844426] thinkpad_acpi: radio switch found; radios are enabled
[ 2.844440] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
[ 2.844441] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default...
[ 2.847424] thinkpad_acpi: rfkill switch tpacpi_bluetooth_sw: radio is unblocked
[ 2.880797] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
[ 2.887609] input: ThinkPad Extra Buttons as /devices/platform/thinkpad_acpi/input/input7
[ 3.274763] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 3.339793] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input8
[ 3.340510] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9
[ 3.340568] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input10
[ 3.340614] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input11
[ 3.340682] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input12
[ 3.340736] input: HDA Intel PCH HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input13
[ 3.340766] input: HDA Intel PCH HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:1f.3/sound/card0/input14
[ 3.705019] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4758]
[ 3.737072] psmouse serio1: synaptics: queried min coordinates: x [1266..], y [1094..]
[ 3.737077] psmouse serio1: synaptics: Trying to set up SMBus access
[ 3.740992] rmi4_smbus 6-002c: registering SMbus-connected sensor
[ 3.783453] rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
[ 3.783470] rmi4_f34: probe of rmi4-00.fn34 failed with error -22
[ 3.803854] rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: TM3288-011, fw id: 2696789
[ 3.882523] input: Synaptics TM3288-011 as /devices/rmi4-00/input/input15
[ 3.893948] serio: RMI4 PS/2 pass-through port at rmi4-00.fn03
[ 3.998997] input: Integrated Camera: Integrated C as /devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/input/input17
[ 4.018498] psmouse serio2: trackpoint: Elan TrackPoint firmware: 0x04, buttons: 3/3
[ 4.057088] input: TPPS/2 Elan TrackPoint as /devices/rmi4-00/rmi4-00.fn03/serio2/input/input16
[ 6.170345] rfkill: input handler disabled
> Suspend and resume
[ 203.339157] psmouse serio1: Failed to disable mouse on isa0060/serio1
[ 203.740442] thinkpad_acpi: unknown possible thermal alarm or keyboard event received
[ 203.740444] thinkpad_acpi: unhandled HKEY event 0x6032
[ 203.740444] thinkpad_acpi: please report the conditions when this event happened to ibm-acpi-devel@lists.sourceforge.net
[ 408.193241] rmi4_f12 rmi4-00.fn12: Failed to read object data. Code: -6.
rmi4 and psmouse are still throwing errors around, but both Touchpad and TrackPoint work on boot, albeit after a few seconds. It might be because my bootup is too fast and devices are not initialized yet.
$ systemd-analyze time
Startup finished in 6.189s (firmware) + 2.323s (loader) + 2.563s (kernel) + 1.052s (userspace) = 12.129s
graphical.target reached after 722ms in userspace
Last edited by mrfaber (2018-04-26 22:34:22)
Offline
/etc/modprobe.d/blacklist.conf should not exist on a fresh arch linux installation, you have to explicitly create it.
Learn from this and try to understand configuration files you find online before applying them and remove options that do not apply to your machine. In this case, the blacklist entry was clearly marked for an HP device, so you shouldn't use it with a lenovo.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
Hey progandy, the blacklist.conf came from Ubuntu, you are right, arch does not have it. I will investigate with a fresh install since mine has become "tainted" from all that experimenting.
I've updated the entry in the Arch Wiki to contain the correct information.
BTW, Ranguvar and progandy, do you have the problem with tap-to-click dropping out sometimes as well? I am not talking about pressing the whole touchpad down, that works reliably, but only tapping with a finger lightly. This affects double-tap-and-drag to select as well for me.
Last edited by mrfaber (2018-04-27 00:43:45)
Offline
I haven't used tap-to-click on Linux at all, so I couldn't say.
I'll report back if I start and notice anything like that.
Thanks for all of your work and adding to the Wiki!
Last edited by Ranguvar (2018-05-02 20:00:58)
Offline
With a fresh install, just adding
psmouse.synaptics_intertouch=1
to the kernel cmdline works, both Touchpad and TrackPoint are behaving properly, apart from the rmi_smbus module complaining about an unrecognized bootloader and very rare dropouts. This is with kernel 4.16.7-1 ARCH.
But with patched DSDT tables and TLP enabled the issue of Touchpad tap-to-click sporadically ceasing to function reappers, so this is not an Arch-only problem.
If anyone has had success in making TLP work with this Touchpad please tell us your secrets...
This is what I've tried so far with regard to TLP:
#/etc/default/tlp
USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
USB_AUTOSUSPEND=0
# 00:1f.4 is the SMBus device:
# lspci
# 00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
RUNTIME_PM_BLACKLIST="00:1f.4"
This fixes the issue with the default TLP settings where the TrackPoint stops working after resume from suspend.
What is so strange to me is that nobody seems to be able to reproduce the tap-to-click dropout, which is happening all the time for me.
Offline
What is so strange to me is that nobody seems to be able to reproduce the tap-to-click dropout, which is happening all the time for me.
You are not alone. Happens with me all the time. Thanks for sharing tips. It's really handy.
Offline
mrfaber wrote:What is so strange to me is that nobody seems to be able to reproduce the tap-to-click dropout, which is happening all the time for me.
You are not alone. Happens with me all the time. Thanks for sharing tips. It's really handy.
It happens with me as well. I figured out how to restore tapping but you might want to confirm it. From my point of view it is enough to call "xinput" in terminal. I will add that command to crontab and call it every minute - so for me it is a temporary solution but at least it works.
EDIT.
Ok, it didn't help. The only way to restore tapping is to invoke something in terminal for example "ps" I have created a bug report here: https://gitlab.freedesktop.org/libinput … /issues/46
Last edited by Serchio (2018-06-18 10:33:12)
Offline
Serchio, thank you for filing the bug report on libinput. I have installed libinput-1.11.2-1, which includes the "touchpad: don't disable tapping on MT_TOOL_PALM" commit.
Testing now, fingers crossed.
Offline
With libinput 1.12.0-2, linux 4.18.10 and TLP enabled, the touchpad and trackpoint both work fine.
I get a few errors on boot in the log, but they're cosmetic.
[ 10.940355] rmi4_smbus 6-002c: registering SMbus-connected sensor
[ 10.979998] rmi4_f34 rmi4-00.fn34: rmi_f34v7_probe: Unrecognized bootloader version
[ 10.980099] rmi4_f34: probe of rmi4-00.fn34 failed with error -22
[ 10.999289] rmi4_f01 rmi4-00.fn01: found RMI device, manufacturer: Synaptics, product: TM3288-011, fw id: 2696789
[ 11.078776] input: Synaptics TM3288-011 as /devices/rmi4-00/input/input17
[ 11.083095] mousedev: PS/2 mouse device common for all mice
[ 11.089893] serio: RMI4 PS/2 pass-through port at rmi4-00.fn03
[ 11.211658] psmouse serio2: trackpoint: Elan TrackPoint firmware: 0x04, buttons: 3/3
[ 11.249925] input: TPPS/2 Elan TrackPoint as /devices/rmi4-00/rmi4-00.fn03/serio2/input/input18
But suspending is still an issue, the pointing devices do not survive every other suspend.
Before suspend:
kernel: rmi4_physical rmi4-00: rmi_driver_set_irq_bits: Failed to change enabled interrupts!
kernel: psmouse: probe of serio2 failed with error -1
kernel: psmouse serio1: Failed to deactivate mouse on isa0060/serio1: -5
After:
kernel: rmi4_f12 rmi4-00.fn12: Failed to read object data. Code: -6.
Which I gather has something to do with rmi_smbus irq codes.
There is a bug on the Fedora bugtracker about something similar but it has gone stale. If anyone has gotten any further info, please keep us in the know. I might contact the libinput people and file a bug in the kernel input bugtracker.
For now, this is what I use.
# /etc/systemd/system/touchpad-sleep.service
# restore touchpad on suspend
[Unit]
Description=Restore Touchpad on suspend
Before=sleep.target
StopWhenUnneeded=yes
[Service]
#Type=oneshot
Type=idle
RemainAfterExit=yes
ExecStart=/bin/bash -c 'echo "0000:00:1f.4" > /sys/bus/pci/drivers/i801_smbus/unbind'
ExecStop=/bin/bash -c 'echo "0000:00:1f.4" > /sys/bus/pci/drivers/i801_smbus/bind'
[Install]
WantedBy=sleep.target
This unit forcibly unbinds the touchpad before sleep and the re-binds it via the i801_smbus pci driver. This means it takes a few seconds on wake-up before the touchpad is responsive.
---
Just for my and others future reference
"systool -b pci -p -a" outputs all pci devices. ( -p shows paths, -a shows all attributes, -v is more verbose). systool is part of sysfsutils. The output should match the contents in /sys/devices/pci0000:00/0000:00:1f.4.
The contents can be viewed conveniently via udevadm info:
udevadm info -a -p /sys/devices/pci0000:00/0000:00:1f.4
looking at device '/devices/pci0000:00/0000:00:1f.4':
KERNEL=="0000:00:1f.4"
SUBSYSTEM=="pci"
DRIVER=="i801_smbus"
ATTR{ari_enabled}=="0"
ATTR{broken_parity_status}=="0"
ATTR{class}=="0x0c0500"
ATTR{consistent_dma_mask_bits}=="32"
ATTR{d3cold_allowed}=="0"
ATTR{device}=="0x9d23"
ATTR{devspec}==""
ATTR{dma_mask_bits}=="32"
ATTR{driver_override}=="(null)"
ATTR{enable}=="4"
ATTR{irq}=="16"
ATTR{local_cpulist}=="0-7"
ATTR{local_cpus}=="ff"
ATTR{msi_bus}=="1"
ATTR{revision}=="0x21"
ATTR{subsystem_device}=="0x225c"
ATTR{subsystem_vendor}=="0x17aa"
ATTR{vendor}=="0x8086"
"lspci" shows all pci buses and connected devices. (-k shows kernel drivers, -t gives a tree view, similar to lsusb)
Of interest:
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
Subsystem: Lenovo Sunrise Point-LP SMBus
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
Note the address (00:1f.4) and the kernel drivers(i801_smbus) and modules(i2c_i801).
The input devices are also listed in /sys/bus/serio/devices/ and include:
serio0(keyboard "i8042 KBD port")
serio1(touchpad "i8042 AUX port", protocol is "SynSMBus")
serio5(touchpad/trackpoint combo(?) "RMI4 PS/2 pass-through", but can get assigned to serio6/7/... when reconnecting).
One could just echo "{none,reconnect}" into /sys/bus/serio/devices/serio5/drvctl, but this is not reliable as the serio5 designation is not permanent.
---
This is roughly how the input stack works(from Benjamin Tissoires - How to debug a broken input device?)
Physical layers:
PS/2
I2C
SMBus
USB
Bluetooth
serial
Protocols:
public: HID, psmouse
semi-public: RMI4, HID++ 2.0
Combinations:
RMI4 over HID over I2C
PS/2 over RMI4 over SMBus
HID++ over HID over DJ over HID over USB
Last edited by mrfaber (2018-10-02 00:52:17)
Offline
hi, there is a ubuntu bug-report for the trackpoint/touchpad not-surviving-suspend-issue https://bugs.launchpad.net/ubuntu/+sour … ug/1791427 and aaron ma from canonical created a patch to fix it and just send his patches upstream: https://lkml.org/lkml/2019/2/20/700
Offline
Thanks zapphot, that bug tracker link is quite insightful.
Seems the patch won't land in mainline though, see https://lkml.org/lkml/2019/4/2/813
The root cause seems to be a SMBus issue.
I've updated the touchpad and trackpoint firmware via Windows, so far it seems to survive short suspends, but I have not tested suspend for longer periods.
Offline
hmm, at least Christopher Heiny is now "willing to accept the patch as is" but Dmitry Torokhov still has concerns and wants to find a better solution.
(see https://patchwork.kernel.org/patch/10822515/ , lmkl.org sometimes drops posts oO)
Offline
Hey, thanks for the update!
Although it seems to solve our particular problem, the patch seems not really worthy of inclusion into the Linux kernel.
The underlying issue in rmi4/SMBus should rather be fixed. If only I had more time to learn about this stuff...
The updated touchpad/trackpoint firmware still gives the same sleep issues, in case you decide to upgrade. But I haven't experienced any trackpoint drift since upgrading, so that's good.
Offline
Hey,
there is still no real solution in sight, right? I am having a smiliar situation since the trackpoint of my x250 isn't even listed via
xinput --list
for some days. This even happens right from the boot without any sleeps or suspends.
Offline
This fix is working for the x1c6 (i am using it) however it's not in mainline -> you have to build your own kernel,
if it is also working in your case, you could/should post your results in the launchpad bug report. Maybe this is a more general issue
Last edited by zapphot (2019-06-14 10:46:18)
Offline