Synaptics touchpad Xiao Mi Air 12.5 doesnt work on CentOS7 with 4.8.x elrepo kernel

1

I recently bought a Xiaomi Air 12.5 and installed centos 7 on it with 4.8.x kernel from elrepo. I got everything working perfectly except the Synaptics touchpad.

Spend days trying, but right now I am out of ideas.

The device isnt detected in /proc/bus/input/devices at all. And dmesg is showing me this.

[   12.241745] i2c_hid i2c-SYNA3105:00: Failed to get GPIO interrupt
[   12.260140] i2c_hid: probe of i2c-SYNA3105:00 failed with error -2

And because the touchpad isnt detected by the kernel, xinput is empty

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]

I tried ubuntu 16.x live cd and fedora 24 and 25 live cd and they all detected the touchpad perfectly in the kernel. So I compared kernel configs and modprobe.d blacklists, but couldnt find out what is wrong with my CentOS.

I tried black listing various modules (i2c_hid, i2c_i801 etc) but none changed the dmesg message.

On the live cd's its the i2c_designware that works with the touchpad, I have them loaded in CentOS 7 too.

So is it something in the kernel config that is causing this? Thanks

laapsaap

Posted 2016-10-22T04:44:25.257

Reputation: 86

Unfortunately I don't have a solution, but I tried Ubuntu 16.04.1 LTS on the same model. You're right, the touchpad is being detected correctly, but it's not working properly. Drag & Drop does not work, and after resuming from stand-by the touchpad freezes completely. – asp_net – 2016-10-22T16:55:15.537

@asp_net Did you try this yet? modprobe -r psmouse; modprobe psmouse after standby. The drag and drop or any other synaptics touchpad functionality can and should be configured in X or with synclient. – laapsaap – 2016-10-22T18:19:12.800

Answers

0

So I was right, there's some difference between ELREPO kernel config and the one used in Ubuntu and Fedora that cause this problem. I couldnt find which option is causing this when I compare the kernel configurations.

So what I did was cat /boot/config* on a fedora workstation installation and use that to compile the ELREPO kernel src rpm. After installing the new kernel, mouse got detected immediately.

Its better to use a workstation kernel configuration than the generic centos one that is optimized for servers anyways.

laapsaap

Posted 2016-10-22T04:44:25.257

Reputation: 86

Man.. I use the same config to compile 4.9.1 kernel and it doesnt work again. Its so unpredictable. – laapsaap – 2017-01-08T01:48:47.123