Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] touchpad not working on boot (Read 1463 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] touchpad not working on boot

This was a problem ever since I first moved to s6 (from openrc), but it was inconsistent and it went away pretty much fully so I didn't bother after the first few days.
Today, out of the blue, I'm starting to get it every boot. After a while I found out that if I have a mouse plugged into the system during boot, the touchpad would work, but if I don't have a mouse plugged in it would not. Plugging in mouse after boot will not make the touchpad come to life.
I tried the xfce-s6 live iso. the touchpad works on that just fine. I copied over the dmesg and udevd logs and compared it to my normal system and nothing seems to be out of place, they look pretty much the same. In fact, there aren't any notable errors in my normal logs to speak off (just failed to rename wireless interface and such)
Any ideas on where I should look?

Re: touchpad not working on boot

Reply #1
Hmm, I hate to say it but this issue doesn't really make sense. I wish I had an idea, but it doesn't make any sense why a live iso or another init system would magically work. The only thing I could possibly think of is if udev somewhere fails (although no clue why this would happen).

Re: touchpad not working on boot

Reply #2
Hi, I would propose, at least for testing purposes, to replace eudev with xudev,  and send us your feedback.

Re: touchpad not working on boot

Reply #3
put here output from
Code: [Select]
cat /var/log/Xorg.0.log

and
Code: [Select]
dmesg

Re: touchpad not working on boot

Reply #4
Hi, I would propose, at least for testing purposes, to replace eudev with xudev,  and send us your feedback.


is that a drop-in replacement? or do I need to be mindful of some parts


Re: touchpad not working on boot

Reply #6
new findings, xudev doesn't boot to agetty (the unusable login prompt shows artixlinux as hostname, rater than the true one) and it didn't need to be a mouse, I can just plug in some other random usb stuff, seems like it just needed the delay.

Xorg good
https://bin.snopyta.org/?ef758e4e736e7633#BVyj1sa38g6SbZoGVp9vbXJ9BGyknpMMe2uQUCs71ZN1
Xorg bad
https://bin.snopyta.org/?c71f86d3a333d8d0#p3Wv2FTz8mGnccuUVpiUqXwFKqhpe2FnGGZuKMrgGqc

dmesg good
https://bin.snopyta.org/?21d963622529f66a#7oW8Y4ArWnyJEvtTxqrALWet5M6SCHMU8CDa7gfBfxFS
dmesg bad
https://bin.snopyta.org/?8e66b8acc8adbba7#8rVJ4jmF1aKkb234XkXGianPJ5VvkyvDsdxR1RsUW8Wy

Re: touchpad not working on boot

Reply #7
I guess I could go over my setup and thing I tried (that I remember). Currently, I'm booting with uefi, using dracut to generate the initramfs, it is a all-in-one image with initramfs/kernel/microcode since I'm using secure boot. The kernel cmdline just have stuff that unlocks the drive and the ec thing for firmware flashing. Once booted, it puts me into the terminal login prompt and I log in, my bash profile sees that it's tty1 and launches sx which is like startx.

I was using mkinitramfs and just booting the kernel directly with my uefi, and that didn't seem to matter. This was when I first intalled and debugging the issue. I tried to change the initramfs, obviously, tried to load the kernel module tried to disable other modules that I installed, mostly my laptop drivers (system76), tried to mess with s6 dependency graph.

Somehow it was only recently that the problem is reproducible. I remember I could take the machine out and the touchpad will work and only once in a while it would fail. and reboot usually fixes it.

What got updated? maybe that can give some clues. Recently, like sunday, but I do always plugs in to the usb hub, so it might be a bit earlier than that.

Re: touchpad not working on boot

Reply #8
You could check your /var/log/pacman.log file for clues. The kernel updated relatively recently. No idea if that's related.

Re: touchpad not working on boot

Reply #9
I found out that I can do a
Code: [Select]
sudo udevadm trigger
after I login to make the touchpad work again. so...

Re: touchpad not working on boot

Reply #10
udevadm trigger is run during bootup though. So somehow that doesn't register your touchpad. Well the arguments are different I suppose. If you ever get a chance, could you check and see if

Code: [Select]
udevadm trigger --action=add --type=devices
or
Code: [Select]
udevadm trigger --action=add --type=subsystems

register your touchpad after login?

Re: touchpad not working on boot

Reply #11
Code: [Select]
udevadm trigger --action=add --type=devices
does the job as well

 

Re: [SOLVED] touchpad not working on boot

Reply #12
I suppose this is a race although a strange one. This probably means that udev --daemon returns before the daemon is actually even up thus causing the subsequent udevadm triggers to silently fail? I'm still not totally happy with how udevd is handled during start up so maybe this is a good opportunity to rethink/rewrite it.