Closed atmoz closed 8 years ago
I'm also annoyed by this issue, the touchpad device becomes "floating slave":
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Apple Inc. Apple Internal Keyboard / Trackpad id=10 [slave keyboard (3)]
~ bcm5974 id=11 [floating slave]
It can be manually reactivated with the following command:
xinput --enable bcm5974
Or you can reload the bcm5974 module too.
Does this happen when using the synaptics driver? Based on the above logs it looks like a kernel suspend issue rather than an xorg issue.
It works with the synaptics driver.
Hi, I have the same problem…
Edit: fixed now :) Just reloaded the bcm5974 module and the touchpad is back...
That should cause the mtrack driver to reload. I do suspect the mtrack driver itself is at fault for this. I'm working on updating my xorg to 1.16.3 then I'll see what's up.
Any updates on this one? Or if there are any leads I would be willing to dive into the source as well.
I can confirm that reloading the bcm5974 module is a temporary fix. Better than restarting xorg and closing all my applications every time. But still annoying. Actually, some times I don't need to do it, the touchpad just works. Maybe some kind of race condition going on?
I can also confirm that reloading that the bcm5974
module on resume is a workaround.
It got annoying to have to reload that module manually every time I resume from suspend, though. I've written up a simple systemd service to reload it on resume which you can see here (Along with some instructions):
https://gist.github.com/astrohckr/6892f0de1475c6942b89
If you're not using a display-manager, you may have to add graphical.target
to the After=suspend.target display-manager.service
in reload-touchpad.service
. Basically, you have to wait until X has started in order to reload the driver.
Thanks lpefferkorn and astrohckr!
I updated to linux 4.0.6 and sometime a while ago the bug seems to have naturally gone away. I don't think I have done any other change. So I'm fairly happy. This is arch linux. I'm not sure if a maintainer did something else to solve it though. So for me this bug is magically fixed ;)
As @bobbens said, the problem seems to go away. I no longer had to reload the bcm5974 module after suspend. Now the Macbook Pro is dead (R.I.P) and I'm now using a Lenovo Thinkpad T450s (loving it).
Closing this, assuming no one else still has this issue (correct me if I'm wrong).
After suspend, my touchpad (bcm5974, late 2008 macbookpro) stops working.
This seems to happen after i upgraded Xorg and it became rootless. Before that I had no problem suspending and resuming the laptop.
Every time I resume from suspend I have to restart Xorg to get my touchpad working again. It's very annoying.
Is this a bug or can I do something to fix this?
/etc/X11/xorg.conf.d/10-mtrack.conf:
lsusb:
This is the relevant systemd log, when resuming:
Those "Device [...] already exists at [...], cannot hot-add" messages must be part of the problem, I guess: