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

  • 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 Oct 22 '16 at 16:55
  • @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 Oct 22 '16 at 18:19

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.

  • Man.. I use the same config to compile 4.9.1 kernel and it doesnt work again. Its so unpredictable. – laapsaap Jan 8 '17 at 1:48

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.