linux-surface / iptsd

Userspace daemon for Intel Precise Touch & Stylus
GNU General Public License v2.0
86 stars 39 forks source link

[SB2] iptsd inactive (dead) - why? #123

Closed whatevergit closed 1 year ago

whatevergit commented 1 year ago

Hello,

since a few days my touchscreen doesn't work anymore. I read, that iptsd is the deamon, that should be running to allow the touchscreen-functions, so I checked:

systemctl status iptsd@-
○ iptsd@-.service - Intel Precise Touch & Stylus Daemon
     Loaded: loaded (/usr/lib/systemd/system/iptsd@.service; static)
     Active: inactive (dead)
       Docs: https://github.com/linux-surface/iptsd

Apr 15 11:06:41 book2 systemd[1]: iptsd@-.service: Deactivated successfully.
Apr 15 11:06:41 book2 systemd[1]: Stopped iptsd@-.service - Intel Precise Touch & Stylus Daemon.
Apr 15 11:07:48 book2 systemd[1]: Started iptsd@-.service - Intel Precise Touch & Stylus Daemon.
Apr 15 11:07:48 book2 systemd[1]: Stopping iptsd@-.service - Intel Precise Touch & Stylus Daemon...
Apr 15 11:07:48 book2 systemd[1]: iptsd@-.service: Deactivated successfully.
Apr 15 11:07:48 book2 systemd[1]: Stopped iptsd@-.service - Intel Precise Touch & Stylus Daemon.
Apr 15 11:16:03 book2 systemd[1]: Started iptsd@-.service - Intel Precise Touch & Stylus Daemon.
Apr 15 11:16:03 book2 systemd[1]: Stopping iptsd@-.service - Intel Precise Touch & Stylus Daemon...
Apr 15 11:16:03 book2 systemd[1]: iptsd@-.service: Deactivated successfully.
Apr 15 11:16:03 book2 systemd[1]: Stopped iptsd@-.service - Intel Precise Touch & Stylus Daemon.

The Service is inactive, and starting it (sudo systemctl start iptsd@- - no errors) doesn't change the status either.

How can I find out why the iptsd-service has stopped? As I am not that Linux-firm yet: Don't hesitate to tell me what further information you need and how I can get the information.

Thanks!

Surface Book 2 Fedora 37 Linux book2 6.2.10-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 6 23:30:41 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

StollD commented 1 year ago

Why do you think it has to be iptsd@-?

The part after the @ character is the parameter of the hidraw device of your touchscreen. If you put a - there then iptsd will try to open a device with that name and obviously fail.

To get the proper service name run iptsd-find-service, e.g. systemctl status $(iptsd-find-service)

Regarding your actual issue: Your uname -a output shows the default Fedora kernel which does not contain the drivers for the touchscreen.

whatevergit commented 1 year ago

That was it. I had a typo in /etc/systemd/system/default-kernel.service and the update Fedora 36 to 37 overrode the surface kernel. After correcting it and rebooting everything works perfectly.

Thank you!