0

I have a Lenovo Ideapad 320-15ABR, (I found the exact model name with dmidecode). I'm having trouble getting the touchpad to work. It's not showing up in xinput --list or cat /proc/bus/input/devices. I'm using Linux 4.13.2, compiled with some extra debugging messages.

Here's some relevant dmesg output when booted with i8042.nopnp. Without this option, I get the message: i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp

$ dmesg|grep psm
[    2.595815] bus: 'serio': add driver psmouse
[    2.627475] bus: 'serio': driver_probe_device: matched device serio1 with driver psmouse
[    2.627477] bus: 'serio': really_probe: probing driver psmouse with device serio1
[    2.627482] psmouse serio1: no default pinctrl state
[    2.651584] psmouse: probe of serio1 rejects match -19


$ dmesg|grep i8042
[    2.577522] i8042: PNP detection disabled
[    2.578648] Registering platform device 'i8042'. Parent at platform
[    2.578650] device: 'i8042': device_add
[    2.578655] bus: 'platform': add device i8042
[    2.578668] PM: Adding info for platform:i8042
[    2.578682] bus: 'platform': add driver i8042
[    2.578692] bus: 'platform': driver_probe_device: matched device i8042 with driver i8042
[    2.578694] bus: 'platform': really_probe: probing driver i8042 with device i8042
[    2.578699] i8042 i8042: no default pinctrl state
[    2.578702] devices_kset: Moving i8042 to end of list
[    2.595059] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.595070] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.595125] driver: 'i8042': driver_bound: bound to device 'i8042'
[    2.595150] bus: 'platform': really_probe: bound device i8042 to driver i8042
[    2.604184] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0

edit: I've opened a ticket here in case anyone is interested in following this problem: https://bugzilla.kernel.org/show_bug.cgi?id=196985

  • It's quite possible that the AUX port of the i8042 is indeed disabled, and the touchpad is somewhere else, e.g. connected via USB. So what does lsusb show? Another way to find out is to boot into Windows, if you can, and get details about the touchpad hardware. – dirkt Sep 20 '17 at 20:06
  • Here's what lsusb shows: dpaste.com/39APPX6 – nnyby Sep 27 '17 at 1:01
  • The Syntek is very likely the USB camera, the Realtek seems to be Bluetooth, and I've no idea what the 0438:7900 AMD device is. Please verify in dmesg if those guesses are correct, especially as I've no idea which hardware your laptop does have. Possibly the AMD device is the touchpad, possibly it isn't. The quickest way to find out really is to start Windows, if you still have it, because unlike for Linux, the manufacturers provide the correct drivers. – dirkt Sep 27 '17 at 5:04
  • This guy had a similar problem with the same 0438:7900 AMD device, but for him it turned out that the touchpad was connected via I2C, and started to work in a later Ubuntu. – dirkt Sep 27 '17 at 5:08
  • You can try i2cdetect and sensors-detect to scan the I2C busses. This is not entirely safe; it can confuse other I2C devices, and in the worst case (unlikely) damage hardware, so try at your own risk. Booting Windows is the safe method. – dirkt Sep 27 '17 at 5:11
0

I have a Lenovo Ideapad 320.

Problem: Elan Touchpad (and a cursor, of course) randomly freezes.  The system (Ubuntu 18.04) needs to be rebooted.

My workaround solution (with modprobe) is:

to make 2 scripts – I named them touchactive.sh and touchactive2.sh in /bin ( do it with sudo gedit...or something)

touchactive.sh:

#!/bin/bash
modprobe -r elan_i2c

touchactive2.sh:

#!/bin/bash
modprobe elan_i2c[/b]

then in terminal: sudo visudo

you add these lines:

vader ALL=(ALL) NOPASSWD: /bin/touchactive.sh
vader ALL=(ALL) NOPASSWD: /bin/touchactive2.sh

(vader is my user name, so you change it with yours...) ...and save it

open system settings -> keyboard -> "+" -> and create shortcuts with keybinding:

name "Touchpad Elan Restart" 1 with keys "super" + "z" command: sudo /bin/touchactive.sh and... "Touchpad Elan Restart 2" with keys "super" + "x" command: sudo /bin/touchactive2.sh

restart computer

(this is my example you can choose different option, keys and names)

So when all freezes, you can just use keys super z and super x then your touchpad / cursor restarts without rebooting the whole system.

This is my solution and some relief (not very elegant, though...) so I can work normaly until release of a next kernel (there is some hope...)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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