Laptop's trackpad not always recognized

Hello everyone.

I bought a new laptop this Summer and I’m having trouble with the trackpad, which is not being always detected. By not always I mean that from time to time (roughly 30% of the cases) when I start the system up, the trackpad will simply not work, no apparent dmesg errors will show up, and no messages will popup in /var/log/messages.

I’ve noticed that when the trackpad is being detected, /var/log/messages registers something like the following:

Oct 19 20:40:46 Ishtar kernel: input: UNIW0001:00 093A:0255 Mouse as /devices/platform/AMDI0010:02/i2c-0/i2c-UNIW0001:00/0018:093A:0255.0004/input/input11
Oct 19 20:40:46 Ishtar kernel: input: UNIW0001:00 093A:0255 Touchpad as /devices/platform/AMDI0010:02/i2c-0/i2c-UNIW0001:00/0018:093A:0255.0004/input/input12
Oct 19 20:40:46 Ishtar kernel: hid-generic 0018:093A:0255.0004: input,hidraw0: I2C HID v1.00 Mouse [UNIW0001:00 093A:0255] on i2c-UNIW0001:00
Oct 19 20:40:46 Ishtar kernel: input: UNIW0001:00 093A:0255 Mouse as /devices/platform/AMDI0010:02/i2c-0/i2c-UNIW0001:00/0018:093A:0255.0004/input/input13
Oct 19 20:40:46 Ishtar kernel: input: UNIW0001:00 093A:0255 Touchpad as /devices/platform/AMDI0010:02/i2c-0/i2c-UNIW0001:00/0018:093A:0255.0004/input/input14
Oct 19 20:40:46 Ishtar kernel: hid-multitouch 0018:093A:0255.0004: input,hidraw0: I2C HID v1.00 Mouse [UNIW0001:00 093A:0255] on i2c-UNIW0001:00

When it doesn’t recognize it, the hw’s id won’t show up at all (093A:0255).

This is happening with kernel 5.8.15-201.fc32.x86_64 (and all the kernel versions since September, when the computer arrived).

The computer originally came with KDE Neon 20.04. I’ve recently tried it again (using a secondary hard drive) and the problem doesn’t exist. This OS runs with kernel version 5.6.

How might I debug this issue?

Thank you very much :slight_smile:

Update: it seems that I resolved the issue (at least checking ~10 shutdown - start cycles).

Playing with the kernel arguments, with the help of the customer support of the laptop, I found out that the acpi_osi=linux argument resolved the issue. Evidently the trackpad’s firmware has some workarounds playing with the Linux kernel.

Should the problem raise again, I’ll try to remove this option from the default grub options and try again.

1 Like

After more time spending on the laptop, the problem seems not have been resolved yet.

I’ve removed the kernel option acpi_osi=linux as it did nothing, apparently. I’ve even tried installing kernel 5.6, which was known to work on Neon (KDE’s distro based on Ubuntu 20.04), but the same problem arised.

I found a pretty useful command to read the dmesg’s error lines: journalctl --boot=-NUM --priority=err -k.

This is the output for the kernel 5.6 (with the problem occourred):

nov 14 17:36:20 Ishtar kernel: ACPI BIOS Error (bug): Failure creating named object [\SMIB], AE_ALREADY_EXISTS (20200110/dsfield-627)
nov 14 17:36:20 Ishtar kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GPP4.WLAN], AE_NOT_FOUND (20200110/dswload2-159)
nov 14 17:36:20 Ishtar kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200110/psobject-220)
nov 14 17:36:21 Ishtar kernel: i2c_hid i2c-UNIW0001:00: HID over i2c has not been provided an Int IRQ
nov 14 17:36:24 Ishtar systemd[1]: Failed to activate swap /dev/disk/by-uuid/2c5e5a88-03b2-4bc2-9b05-a5e03e2e1478.
nov 14 17:36:24 Ishtar kernel: [drm:mod_hdcp_add_display_topology [amdgpu]] *ERROR* Failed to add display topology, DTM TA is not initialized.
nov 14 17:36:24 Ishtar kernel: snd_pci_acp3x 0000:04:00.5: Invalid ACP audio mode : 0
nov 14 17:36:24 Ishtar kernel: sp5100-tco sp5100-tco: Watchdog hardware is disabled

And this is the one back in kernel 5.8, without the error:

nov 14 17:38:22 Ishtar kernel: ACPI BIOS Error (bug): Failure creating named object [\SMIB], AE_ALREADY_EXISTS (20200528/dsfield-637)
nov 14 17:38:22 Ishtar kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GPP4.WLAN], AE_NOT_FOUND (20200528/dswload2-162)
nov 14 17:38:22 Ishtar kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200528/psobject-220)
nov 14 17:38:23 Ishtar kernel: [drm:dm_helpers_dp_write_dpcd [amdgpu]] *ERROR* Failed to find connector for link!
nov 14 17:38:25 Ishtar systemd[1]: Failed to activate swap /dev/disk/by-uuid/2c5e5a88-03b2-4bc2-9b05-a5e03e2e1478.
nov 14 17:38:25 Ishtar kernel: snd_pci_acp3x 0000:04:00.5: Invalid ACP audio mode : 0
nov 14 17:38:25 Ishtar kernel: sp5100-tco sp5100-tco: Watchdog hardware is disabled
nov 14 17:38:25 Ishtar kernel: acp_pdm_mach acp_pdm_mach.0: snd_soc_register_card(acp) failed: -517

Even if I wish I had no errors at all (are those known errors?) it seems that there is no noticeable difference the two (at least to my eyes)… or maybe yes? I saw this line in particular: i2c_hid i2c-UNIW0001:00: HID over i2c has not been provided an Int IRQ… might it that be? And in case, how can I resolve it?

I’ll have to recover the Neon hard drive and try the same command to see if there are differences.

Thanks

EDIT:

Yes, it must be that line. I rebooted and the problem was there on kernel 5.8:

-- Logs begin at Tue 2020-09-29 09:01:32 CEST, end at Sat 2020-11-14 17:54:49 CET. --
nov 14 17:54:15 Ishtar kernel: ACPI BIOS Error (bug): Failure creating named object [\SMIB], AE_ALREADY_EXISTS (20200528/dsfield-637)
nov 14 17:54:15 Ishtar kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GPP4.WLAN], AE_NOT_FOUND (20200528/dswload2-162)
nov 14 17:54:15 Ishtar kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200528/psobject-220)
nov 14 17:54:16 Ishtar kernel: i2c_hid i2c-UNIW0001:00: HID over i2c has not been provided an Int IRQ
nov 14 17:54:17 Ishtar kernel: [drm:dm_helpers_dp_write_dpcd [amdgpu]] *ERROR* Failed to find connector for link!
nov 14 17:54:18 Ishtar systemd[1]: Failed to activate swap /dev/disk/by-uuid/2c5e5a88-03b2-4bc2-9b05-a5e03e2e1478.
nov 14 17:54:19 Ishtar kernel: snd_pci_acp3x 0000:04:00.5: Invalid ACP audio mode : 0
nov 14 17:54:19 Ishtar kernel: sp5100-tco sp5100-tco: Watchdog hardware is disabled
nov 14 17:54:19 Ishtar kernel: acp_pdm_mach acp_pdm_mach.0: snd_soc_register_card(acp) failed: -517

EDIT 2:
I’ve tried rmmod/modprobe ic2-hid module and it seems to work… would it be possible, as a workaround, to execute the two simple commands at startup as last task before the user’s login?

After several restarts, one night of the laptop being shut down and another couple of restarts, I think ™ I resolved via a hack.

Create the hack script (due to selinux, please write it directly as root in /opt, otherwise you’ll have execution problems).
sudo vim /opt/touchpad-fix.sh

#!/usr/bin/env bash
echo "Reloading i2c-hid module (touchpad fix)"
rmmod i2c-hid
modprobe i2c-hid

sudo chmod ugo+x /opt/touchpad-fix.sh

Create the service file
sudo vim /opt/touchpad-fix.service

[Unit]
After=network.target

[Service]
ExecStart=/opt/touchpad-fix.sh

[Install]
WantedBy=multi-user.target

cd /etc/systemd/system && sudo ln -s /opt/touchpad-fix.service .

Reload systemctl and enable the service fix
sudo systemctl daemon-reload
sudo sysetmctl enable touchpad-fix.service

Done :smiley:

Hi,

Please correct me if I’m wrong, but shouldn’t it be:

cd /etc/systemd/system && sudo ln -s /opt/touchpad-fix.service . ?

Thanks Tom.

Yes you’re right :slight_smile:

Fixed

1 Like