You are not logged in.
I have a Thinkpad T440p on the standard Linux kernel and SwayWM. The trackpoint stops working a few seconds after login. I can fix it temporarily by shutting the lid, putting the device into sleep, and waking it up again, but it stops working again after a few seconds. I tried reinstalling Arch to fix it, but that didn't seem to affect this behavior at all. I tried modprobe psmouse proto=bare and psmouse elantech_smbus=0. Neither of those options affected it either. I used to be able to modprobe to restart psmouse and bring back the trackpoint for a few seconds.
Offline
Few seconds sounds more like usb autosuspend than PS/2?
lsusb
Does the device still produce input in "sudo evtest" after it "stopped working"?
Online
Try to check if the input device is disabled with xinput but I'm not sure it works with wayland
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Lenovo TrackPoint Keyboard II id=9 [slave pointer (2)]
⎜ ↳ Lenovo TrackPoint Keyboard II id=10 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)]
↳ Lenovo TrackPoint Keyboard II id=14 [slave keyboard (3)]
↳ Lenovo TrackPoint Keyboard II id=15 [slave keyboard (3)]
$ xinput list-props 11 | grep 'Device Enabled'
Device Enabled (184): 1
$ xinput enable 11
Eventually have a look at the sway-input man page [https://man.archlinux.org/man/sway-input.5.en]
swaymsg -t get_inputs
M.
Offline
Few seconds sounds more like usb autosuspend than PS/2?
lsusb
Does the device still produce input in "sudo evtest" after it "stopped working"?
Running lsusb before and after the trackpoint stops doesn't show any changes, and evtest does not detect any events.
Offline
Try to check if the input device is disabled with xinput but I'm not sure it works with wayland
$ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Lenovo TrackPoint Keyboard II id=9 [slave pointer (2)] ⎜ ↳ Lenovo TrackPoint Keyboard II id=10 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)] ↳ Lenovo TrackPoint Keyboard II id=14 [slave keyboard (3)] ↳ Lenovo TrackPoint Keyboard II id=15 [slave keyboard (3)] $ xinput list-props 11 | grep 'Device Enabled' Device Enabled (184): 1 $ xinput enable 11
Eventually have a look at the sway-input man page [https://man.archlinux.org/man/sway-input.5.en]
swaymsg -t get_inputs
I don't have xinput, but it does show as enabled in swaymsg.
Input device: TPPS/2 IBM TrackPoint
Type: Mouse
Identifier: 2:10:TPPS/2_IBM_TrackPoint
Product ID: 10
Vendor ID: 2
Libinput Send Events: enabled
Last edited by Zinput (2024-01-26 21:20:06)
Offline
Please avoid bloating the thread by pointless full-quotes.
Iff the device is on USB it won't disappear when it autosuspends, the idea was more to post the output of lsusb to see whether it's there at all.
Edit: reads like PS/2, though.
Please post your complete system journal for the boot after it failed:
sudo journalctl -b | curl -F 'file=@-' 0x0.st
Last edited by seth (2024-01-26 21:21:52)
Online
Seth, I don't know how this forum works, but here's my attempt at not using full quotes. Hope you get the message.
lsusb shows this:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:8008 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 003 Device 003: ID 5986:0268 Bison Electronics Inc. SunplusIT INC. Integrated Camera
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Offline
Here's my journalctl https://0x0.st/HGD8.txt
Offline
Jan 26 15:36:24 ultimatetp kernel: serio: RMI4 PS/2 pass-through port at rmi4-00.fn03
Jan 26 15:36:24 ultimatetp kernel: input: TPPS/2 IBM TrackPoint as /devices/pci0000:00/0000:00:1f.3/i2c-0/0-002c/rmi4-00/rmi4-00.fn03/serio2/input/input8
Jan 26 16:09:16 ultimatetp kernel: psmouse serio2: Failed to disable mouse on rmi4-00.fn03/serio0
The final error comes in response to
Jan 26 16:09:03 ultimatetp kernel: PM: suspend entry (deep)
~15 minutes before you dumped the log and fits https://bbs.archlinux.org/viewtopic.php?id=236367
modprobe -c | grep i2c_i801 | grep -v alias
Online
I don't think it has that much to do with suspend because I don't need to suspend for the issue to occur. It happens a few seconds after boot up.
Offline
I don't either, it's just that the suspend probably indicates a mitigating effort and it exposes this condition.
See the other thread and post the output of modprobe.
Online
That modprobe command has no output.
Offline
lsmod | grep i801
systool -vm psmouse
Online
I did have a suspicion yesterday that it could be related to tlp since I used tpacpi instead of tlp a year ago when I didn't have the issue. Anyway, here's the output:
[jason@ultimatetp ~]$ lsmod | grep i801
i2c_i801 40960 0
i2c_smbus 20480 1 i2c_i801
[jason@ultimatetp ~]$ systool -vm psmouse
Module = "psmouse"
Attributes:
coresize = "233472"
initsize = "0"
initstate = "live"
refcnt = "0"
srcversion = "3F6C9F120541D8C521CCD2B"
taint = ""
uevent = <store method only>
Parameters:
a4tech_workaround = "N"
elantech_smbus = "-1"
proto = "auto"
rate = "100"
resetafter = "5"
resolution = "200"
resync_time = "0"
smartscroll = "Y"
synaptics_intertouch= "-1"
Sections:
Offline
Have you since disabled TLP
Otherwise try to set psmouse.synaptics_intertouch=1
Online
Unfortunately neither disabling tlp or setting psmouse.synaptics_intertouch=1 worked.
Offline
Does "psmouse.proto=bare" still work?
https://wiki.archlinux.org/title/TrackP … leshooting
Online
No, psmouse.proto=bare doesn't work either. I forgot to mention it, but it was actually one of the first things I tried.
Offline
So, I tried setting psmouse.proto=bare again, but in the kernel command line instead of modprobe, and it's promising. This is the longest the trackpoint has worked for so far, but it has also broken the gestures and scrolling.
Offline
modprobe could be spoiled if the module is (likely) in the initramfs and you don't have the modprobe hook or didn't regenerate that.
How did you go about psmouse.synaptics_intertouch=1 itr?
Using the bare protocol doesn't support gestures and scrolling, so that's not much of a surprise.
Online
I also put psmouse.synaptics_intertouch=1 in the kernel command line. psmouse.proto=bare is a very unhappy switch since I can't scroll by holding down the middle button and pulling the trackpoint anymore. In fact, the trackpoint gets disabled if I press any of the 3 buttons. I'd like to at least fix that. I don't need touchpad gestures, but I need my trackpoint features.
Offline
Using the bare protocol is more to figure whether the thing actually still works at all.
Did you try combinations of psmouse.elantech_smbus=0 and psmouse.synaptics_intertouch=0 ?
(check "systool -vm psmouse" to make sure they applied)
Online
It looks like a combination of psmouse.proto=bare and psmouse.proto=imps does what I want. Proto=imps fixed the buttons disabling with the trackpoint. Now there's just one more problem being that when my palm accidentally touches the touchpad, the trackpoint gets disabled.
Edit: Nevermind, I have no idea why it's so unreliable but at least proto=imps gets it working somewhat. It looks like it may have overidden proto=bare because my touchpad is showing up in swaymsg as a synaptics touchpad instead of ps/2 mouse now.
Last edited by Zinput (2024-01-30 17:12:36)
Offline
You cannot combine those, but their order will dictate which onw applies.
So "psmouse.proto=imps" works?
Does "psmouse.proto=exps"?
Did you try "psmouse.elantech_smbus=0" (instead of any psmouse.proto)?
Does
Now there's just one more problem being that when my palm accidentally touches the touchpad, the trackpoint gets disabled.
remain?
Online
psmouse.elantech_smbus=0 doesn't seem to do anything. Psmouse.proto=imps works, but with reliability issues, and I keep accidentally moving the touchpad. I haven't tried psmouse.proto=exps.
Offline