Bugzilla – Bug 1161233
I2C Touchpad doesn't work and requires workarounds. Acer A315-41
Last modified: 2020-08-28 12:50:42 UTC
Distributor ID: openSUSE
Description: openSUSE Tumbleweed
Acer Aspire A315-41 laptop, AMD Ryzen CPU with Vega graphics. I2C touchpad.
Error message during boot:
2020-01-17T15:06:13.277859-03:00 AcerLinux kernel: [ 4.524912] i2c_hid i2c-SYNA7DB5:01: HID over i2c has not been provided an Int IRQ
After this touchpad does not work
Run following commands in the terminal:
sudo modprobe -r i2c_hid
sudo modporbe i2c_hid
I had submitted similar bug before, but apparently fix didn't fix this issue, but looks like it has fixed another important issue (unreliable boot).
Interestingly enough, on openSUSE Leap kernel touchpad never had any issues.
Maybe it has nothing to do with kernel, I don't really know, because I think I have tested 5.something kernel under Leap, and I had no issues with touchpad.
It might be a dependency problem: ( https://github.com/Syniurge/i2c-amd-mp2/issues/3 , according to this pinctrl_amd should be loaded before i2c_hid, I don't know, since I don't quite understand how Linux works)
If that's the case of missing dependency, it might be fixed by adding a softdep manually. e.g. create a file /etc/modprobe.d/50-i2c-hid.conf containing the following:
softdep i2c-hid pre: pinctrl-amd
Then rebuild initrd. Could you check whether this works around the issue?
Dracut only picks the modules to load, but takes the ordering from the systems modprobe.d and friends. So the work-around proposed in https://bugzilla.opensuse.org/show_bug.cgi?id=1161233#c1 needs to go to suse-module-tools.
However, according to https://github.com/Syniurge/i2c-amd-mp2/issues/3, it might be a problem of the DSDT specification in that laptop?
(In reply to Daniel Molkentin from comment #2)
> Dracut only picks the modules to load, but takes the ordering from the
> systems modprobe.d and friends. So the work-around proposed in
> https://bugzilla.opensuse.org/show_bug.cgi?id=1161233#c1 needs to go to
Well, the ordering is needed only if both pinctrl-amd and i2c-hid are used.
So, putting softdep unconditionally to the package can't work; it'll lead to loading an unneeded module.
> However, according to https://github.com/Syniurge/i2c-amd-mp2/issues/3, it
> might be a problem of the DSDT specification in that laptop?
I don't think so. This is a generic problem that is seen on a few other machines, IIRC. And a similar problem was
The pinctrl driver has to be probed before other drivers for the belonging devices are initialized. It's logical if you think of the role of the pinctrl driver :)
The only way to force early loading is to use "rd.driver.pre=". Can you try:
echo "rd.driver.pre=pinctrl-amd" > /etc/dracut.conf.d/01-early-load.conf
No response, closing. Reopen if the issue persists with the latest kernel in TW and provide the required information, please.