mercredi 11 juin 2014

Asus touchpad not detected under Ubuntu Linux

I've bought a new Asus X450CC, wiped out all the partitions, and installed Xubuntu.

The problem is that the touchpad is not recognized under Linux, although it worked without any problems under Windows, which excludes a hardware problem.

The touchpad is listed as PS/2 Logitech Wheel Mouse in the output of xinput, and the following lines can be found in the output of dmesg:
[    4.007364] input: PS/2 Logitech Wheel Mouse as /devices/platform/i8042/serio4/input/input11
[    4.035847] psmouse serio4: Failed to enable mouse on isa0060/serio4

I've tried mostly everything :
  • With the latest upstream kernel, the problem is still there.
    $ cat /proc/version
    Linux version 3.15.0-031500rc7-generic (apw@gomeisa) (gcc version 4.6.3
    (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #201405251935 SMP Sun May 25 23:36:23 UTC 2014
  •  The i8042 chip is the keyboard and mouse controller, and i8042.c is the source code file in Linux kernel. It can be controlled with kernel parameters:
    i8042.debug [HW] Toggle i8042 debug mode [HW] Put keyboard port into non-translated mode
    i8042.dumbkbd [HW] Pretend that controller can only read data from
           keyboard and cannot control its state
           (Don't attempt to blink the leds)
    i8042.noaux [HW] Don't check for auxiliary (== mouse) port
    i8042.nokbd [HW] Don't check/create keyboard port
    i8042.noloop [HW] Disable the AUX Loopback command while probing
           for the AUX port
    i8042.nomux [HW] Don't check presence of an active multiplexing
    i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
    i8042.notimeout [HW] Ignore timeout condition signalled by controller
    i8042.reset [HW] Reset the controller during init and cleanup
    i8042.unlock [HW] Unlock (ignore) the keylock

    To pass kernel parameters, edit the following file:

    $ sudoedit /etc/default/grub

    and add the desired parameter at the end of GRUB_CMDLINE_LINUX_DEFAULT, then:

    $ sudo update-grub

    and reboot.

    I've tried booting with i8042.nomux, then i8042.notimeout i8042.nomux and finally i8042.notimeout i8042.nomux i8042.reset and it didn't make any difference.
  • I've tried playing with the proto module parameter:

    $ sudo modprobe -r psmouse
    $ sudo modprobe psmouse proto=imps

    I've tried the following values: bare, imps and exps, none of them made the touchpad work.
  • I've tried all the patches I could find, when they still applied to the kernel:

    $ wget
    $ sudo dkms ldtarball psmouse-elantech-x551c.tar.gz
    $ sudo dkms install -m psmouse -v elantech-x551c
    $ sudo modprobe -r psmouse
    $ sudo modprobe psmouse

    I've also tried psmouse-elantech-v6.tar.bz2 and psmouse-elantech-v7.tar.bz2. It didn't work either. 

 So I've filed a bug report on Launchpad, but I'm not the only one:

7 commentaires:

  1. I have a X450LC wich came with BIOS version 206, and the touch didn't work.
    I just update the BIOS to 208 and the touch works fine.

  2. Hello,

    I have the same problem with my Asus S301L. I've found a fix, explained in

    I also reported the fix to kernel developers, waiting for answer yet.

    Hope it helps

    1. With this patch everything works correctly? Two finger gestures? Thanks!

    2. Yes, as far as I've tested, everything is working, even two fingers gesturs (scrolls and so on)

    3. Nice! And how did you get the correct values? I don't see the follow line in my logs:

      psmouse:elantech_detect: psmouse serio4: elantech: Elantech version query result 0×46, 0x1f, 0×14.

  3. Are there any news on this? Getting tired of using windows on my X550LN..

  4. Hi everyome, I'm experiencing this bug. If it helps I own a ASUS X455LA core i5 5200U. Bios is already up to date so I have no idea of that else to do.