You are not logged in.

#1 2017-07-31 17:55:25

Shiny Rice
Member
Registered: 2017-07-31
Posts: 1

[Solved] Elantech touchpad does not work on Asus C300

I recently installed Arch on a Chromebook, an Asus C300MA. I didn't grab a vanilla Arch .iso, I installed a remastered .iso which has this kernel. Before installing this .iso, I installed Manjaro through Architect (with OpenRC instead of systemd as the init system), and the touchpad worked just fine. Having moved to Arch with this kernel, the touchpad isn't even listed when running 'xinput list', or under libinput. The output of 'dmesg | grep elan' is the following:

[    2.132246] elan_i2c i2c-ELAN0000:00: writing cmd (0x0005) failed: -121
[    2.132311] elan_i2c i2c-ELAN0000:00: device reset failed: -121
[    2.132361] elan_i2c i2c-ELAN0000:00: device initialize failed: -121
[    2.168880] elan_i2c i2c-ELAN0000:00: writing cmd (0x0005) failed: -121
[    2.168947] elan_i2c i2c-ELAN0000:00: device reset failed: -121
[    2.169008] elan_i2c i2c-ELAN0000:00: device initialize failed: -121
[    2.205538] elan_i2c i2c-ELAN0000:00: writing cmd (0x0005) failed: -121
[    2.205604] elan_i2c i2c-ELAN0000:00: device reset failed: -121
[    2.205654] elan_i2c i2c-ELAN0000:00: device initialize failed: -121
[    2.258941] elan_i2c: probe of i2c-ELAN0000:00 failed with error -121

I've done some research about the topic, and it looks like the keyboard and touchpad are coordinated by an i8042 PS/2 controller chip, and this could be solved by introducing kernel parameters such as i8042.nomux and i8042.reset. Funny thing is, I introduced i8042.nomux=0 and i8042.reset (I did it correctly, by editing /etc/default/grub and running grub-mkconfig, so that's out of the question) and when rebooting, it worked just fine for ~10 minutes, and then it didn't work anymore. After rebooting it again, I kept getting the above messages in dmesg and it didn't work. I also tried running Manjaro i3 edition live (which has systemd) from a USB stick, but the same output in dmesg was present, and the touchpad didn't work. So, I'm guessing there is some special package or packages that enable this touchpad to work. But at this point, I have no idea.

Edit: I think the kernel is not a problem, I forgot to mention that. While on Manjaro, I tried out kernels 4.1, 4.4, 4.9, 4.11, 4.12 (all stock) and the patched kernel I am running in my current Arch build, they all had the touchpad working perfectly.

Edit 2: Alright, I've fixed it. It turns out that I just had to open the laptop, and reconnect both battery and touchpad connectors. Everything works smoothly now. It baffles me how it worked perfectly until I installed Arch.

Last edited by Shiny Rice (2017-08-07 12:03:09)

Offline

#2 2017-08-19 16:46:22

pigiron
Member
From: USA
Registered: 2009-07-14
Posts: 150

Re: [Solved] Elantech touchpad does not work on Asus C300

Thanks for digging into this! Adding my part in case some other soul stumbles onto this via the google.

The touchpad quit working on my ASUS UX305CA laptop and I had the exact same error messages. But, one other significant error was also posted in dmesg earlier in the boot:

i2c_hid i2c-ELAN1000:00: hid_descr_cmd failed

It all started in between Arch upgrades and it failed solidly. Got the same error when booting other Linux distros. I started thinking that the chip(s) were borked, but it's been a very long time since I've had a hardware error.

Based on your post, I grabbed a #5 Torx plus Phillips, took the laptop apart, and reset both ends of the ribbon cable for the touchpad. Success! So thanks again.

Offline

Board footer

Powered by FluxBB