This touchpad is identified on several cheap Chinese made notebooks. And some not so cheap, such as my Vaio FE14.
The touchpad is sometimes detected at boot, sometimes not. A manual fix can be achieved by typing at the terminal:
sudo rmmod i2c_hid
sudo modprobe i2c_hid
That immediately fixes the touchpad, including multi-touch support. However, the left and right physical buttons do not work.
Need a solution to automate the commands above during boot time (without the need to type the sudo password).
And, most importantly, need a solution for the physical buttons.
I have tried kernels 5.4 LTS, 5.6, 5.7 and the new 5.8.0 stable, always the same problem. On kernel 5.3.18 though, it was working.
Philm posted a patch to AUR to this problem in 2018 (back on kernel 4.xx) but the file has since been pulled from AUR. It only addressed the touchpad though, not the physical buttons.
Also attaching some text file outputs from dmesg, evtest and libinput. Includes outputs from both Manjaro and PoliLinux, an OEM distribution (apparently based on Mint) than shipped with this notebook with everything working using kernel 5.7.11. Other than this distribution, I could not get this touchpad and physical buttons to work out of the box on any other distribution running kernel 5.4 or newer.
Hi. Thanks for jumping in. I would happily move back to 5.3.18, but I don’t know how to install it. Manjaro’s GUI for kernel installation moves straight from 4.19 to 5.4. I would prefer not going all the way back to 4.19.
Well its the only thing avilable … all other in between are EOL.
See www.kernel.org
But give the service a try … it should do part of what you are asking.
Otherwise you need the kernel/driver patched/fixed/updated … which may or may not happen.
My huawei lappy has almost the same issue … except its failed touchpad sometimes after suspend if I dont have the power chord plugged … only option is rmmod/modprobe i2c_hid … and even that fails sometimes.
I’ll try the script just now, thanks. I did try something very similar recently and did not work. This package as I recall was built by Philm himself and worked for his notebook, but seemed to do nothing on mine. Let me go ahead, I’ll report back.
Just tried the service, running the three lines, then rebooting… nothing happens. No touchpad at boot. Only manually running rmmod/modprobe fixes the touchpad. And no physical buttons, just never…
Hi! The driver workaround has loaded but it doesn’t work. But rmmod / modprobe on the terminal after login does work. Weird…
I wonder if I could create a bash script that would run rmmod / modprobe at the login screen. Where should I place that script so that it runs at login? I’ve seen numerous possibilities but none of them seemed to work.
Another thing is that the touchpad configuration is always lost after rmmod. Would you know if there is a command line that I can add to a shell script that would set the two basic configuration options below?
Thanks. I’ll try that.
As an additional info, usually when I reboot, the touchpad works if I had already manually rmmod/modprobe at the previous session. If however I turn it off and let some minutes pass, then when I restart the touchpad will be dead… It is as if there is some kind of short memory effect to it.
nope…didn’t work. Turned off. Waited a few moments for “memory effect” to cool off. Turned on. Touchpad dead… worked after manual rmmod/modprobe. Very puzzlying
Hi. Would you know if there is a command to set touchpad inverted/natural scrolling and pointer speed? I am about to give up fixing this touchpad automatically and will just run the commands on a script after each login…
(Note I replaced i2c-hid for i2c_hid – underscore vs dash)
Reboot. Nothing. Then I ran the following:
systemctl enable --now syna3602-driver-workaround.service
Created symlink /etc/systemd/system/basic.target.wants/syna3602-driver-workaround.service → /usr/lib/systemd/system/syna3602-driver-workaround.service.
Created symlink /etc/systemd/system/suspend.target.wants/syna3602-driver-workaround.service → /usr/lib/systemd/system/syna3602-driver-workaround.service.
Created symlink /etc/systemd/system/hibernate.target.wants/syna3602-driver-workaround.service → /usr/lib/systemd/system/syna3602-driver-workaround.service.
Job for syna3602-driver-workaround.service failed because the control process exited with error code.
See "systemctl status syna3602-driver-workaround.service" and "journalctl -xe" for details.
–
systemctl status syna3602-driver-workaround.service
● syna3602-driver-workaround.service - Restart Touchpad
Loaded: loaded (/usr/lib/systemd/system/syna3602-driver-workaround.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2020-08-19 23:45:19 -03; 25s ago
Process: 3677 ExecStart=/usr/bin/bash -c /usr/bin/rmmod i2c_hid && /usr/bin/modprobe i2c_hid (code=exited, status=1/FAILURE)
Main PID: 3677 (code=exited, status=1/FAILURE)
Aug 19 23:45:19 VaioFE14 systemd[1]: Starting Restart Touchpad...
Aug 19 23:45:19 VaioFE14 bash[3678]: rmmod: ERROR: Module i2c_hid is not currently loaded
Aug 19 23:45:19 VaioFE14 systemd[1]: syna3602-driver-workaround.service: Main process exited, code=exited, status=1/FAILURE
Aug 19 23:45:19 VaioFE14 systemd[1]: syna3602-driver-workaround.service: Failed with result 'exit-code'.
Aug 19 23:45:19 VaioFE14 systemd[1]: Failed to start Restart Touchpad.
All fail… but manually doing rmmod/modprobe, works…