View previous topic :: View next topic |
Author |
Message |
sasq Apprentice
Joined: 09 Sep 2005 Posts: 234 Location: Poland
|
Posted: Sat Sep 15, 2018 9:20 pm Post subject: [SOLVED] Touchpad not recognized on Lenovo IdeaPad 720-15 |
|
|
I have a Lenovo IdeaPad 720-15 laptop on which I can't make the touchpad to work :/
Here's what I did so far:
dmesg shows the following lines regarding the keyboard controller:
Code: | [ 0.624217] i8042: PNP: PS/2 Controller [PNP0303:KBD0] at 0x60,0x64 irq 1
[ 0.624230] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[ 0.625565] serio: i8042 KBD port at 0x60,0x64 irq 1 |
After adding that option to the kernel command line and rebooting I now get:
Code: | [ 0.627505] i8042: PNP detection disabled
[ 0.631473] serio: i8042 KBD port at 0x60,0x64 irq 1
[ 0.631479] i8042: [4] Interrupt 1, without any data
[ 0.631518] serio: i8042 AUX port at 0x60,0x64 irq 12
[ 0.631817] i8042: [4] f2 -> i8042 (kbd-data) |
so it seems to turn on the AUX port now (which the touchpad is supposedly attached to).
lsusb:
Code: | Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 06cb:0081 Synaptics, Inc. // Touchpad? Fingerprint reader?
Bus 001 Device 004: ID 8087:0a2a Intel Corp. // Bluetooth
Bus 001 Device 003: ID 5986:210e Acer, Inc // The camera on the lid
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
and xinput list:
Code: | ⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Ideapad extra buttons id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)] |
I turned on pretty much everything regarding touchpads in my kernel config:
Code: | CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=m
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_PS2_FOCALTECH=y
CONFIG_MOUSE_PS2_SMBUS=y
CONFIG_MOUSE_CYAPA=m
CONFIG_MOUSE_ELAN_I2C=m
CONFIG_MOUSE_ELAN_I2C_I2C=y
CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_VSXXXAA=m
CONFIG_MOUSE_SYNAPTICS_I2C=m
CONFIG_MOUSE_SYNAPTICS_USB=m |
Here's my input configuration in /etc/portage/make.conf:
Code: | INPUT_DEVICES="libinput synaptics" |
What else should I check? _________________ SasQ
Last edited by sasq on Fri Sep 21, 2018 7:40 am; edited 1 time in total |
|
Back to top |
|
|
hhfeuer Apprentice
Joined: 28 Jul 2005 Posts: 185
|
Posted: Mon Sep 17, 2018 9:40 am Post subject: |
|
|
AFAIK, you'll need at least kernel 4.14 for the touchpad to work, which version are you running? |
|
Back to top |
|
|
sasq Apprentice
Joined: 09 Sep 2005 Posts: 234 Location: Poland
|
Posted: Mon Sep 17, 2018 1:56 pm Post subject: |
|
|
I got 4.14.65-gentoo.
Edit:
I tried booting Ubuntu Live USB on that laptop and while the touchpad still doesn't work there, it seems to detect something:
xinput list displays it as:
Code: | MSFT0001:00 06CB:7F27 Touchpad id=11 [slave pointer (2)] |
And here's how it appears in dmesg:
Code: | input: MSFT0001:00 06CB:7F27 Touchpad as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-4/i2c-MSFT0001:00/0018:06CB:7F27.0002/input/input10
hid-multitouch 0018:06CB:7F27.0002: input,hidraw1: I2C HID v1.00 Mouse [MSFT0001:00 06CB:7F27] on i2c-MSFT0001:00 |
So Ubuntu at least detects something that appears to be Synaptics (judging by the "06cb" vendor ID), however it seems to work over i2c bus. Any ideas? _________________ SasQ |
|
Back to top |
|
|
PCmaniaK n00b
Joined: 18 Aug 2018 Posts: 25
|
Posted: Wed Sep 19, 2018 2:54 am Post subject: |
|
|
Try to find something about Synaptics in /proc/bus/input/devices |
|
Back to top |
|
|
sasq Apprentice
Joined: 09 Sep 2005 Posts: 234 Location: Poland
|
Posted: Wed Sep 19, 2018 4:54 am Post subject: |
|
|
Nope, nothing in there...
Code: | I: Bus=0019 Vendor=0000 Product=0005 Version=0000
N: Name="Lid Switch"
P: Phys=PNP0C0D/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
U: Uniq=
H: Handlers=event0
B: PROP=0
B: EV=21
B: SW=1
I: Bus=0019 Vendor=0000 Product=0003 Version=0000
N: Name="Sleep Button"
P: Phys=PNP0C0E/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=3
B: KEY=4000 0 0
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
U: Uniq=
H: Handlers=kbd event2
B: PROP=0
B: EV=3
B: KEY=10000000000000 0
I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input3
U: Uniq=
H: Handlers=kbd event3
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input4
U: Uniq=
H: Handlers=sysrq kbd event4 leds
B: PROP=0
B: EV=120013
B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input7
U: Uniq=
H: Handlers=event5
B: PROP=0
B: EV=21
B: SW=10
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input8
U: Uniq=
H: Handlers=event6
B: PROP=0
B: EV=21
B: SW=4
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input9
U: Uniq=
H: Handlers=event7
B: PROP=0
B: EV=21
B: SW=140
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HDA Intel PCH HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:1f.3/sound/card0/input10
U: Uniq=
H: Handlers=event8
B: PROP=0
B: EV=21
B: SW=140
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="Ideapad extra buttons"
P: Phys=ideapad/input0
S: Sysfs=/devices/pci0000:00/0000:00:1f.0/PNP0C09:00/VPC2004:00/input/input11
U: Uniq=
H: Handlers=rfkill kbd event9
B: PROP=0
B: EV=13
B: KEY=81000800100c03 4400000000300000 0 2
B: MSC=10 |
_________________ SasQ |
|
Back to top |
|
|
PCmaniaK n00b
Joined: 18 Aug 2018 Posts: 25
|
Posted: Wed Sep 19, 2018 5:37 pm Post subject: |
|
|
Gentoo "Minimal Installation CD" kernel is pretty rich on hardware detection. If you boot the live media and do not see any traces of touchpad in /proc/bus/input/devices then might be a hardware problem. |
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6148 Location: Dallas area
|
Posted: Wed Sep 19, 2018 5:50 pm Post subject: |
|
|
sysrescuecd should also work for detection. _________________ UM780, 6.1 zen kernel, gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
sasq Apprentice
Joined: 09 Sep 2005 Posts: 234 Location: Poland
|
Posted: Fri Sep 21, 2018 2:06 am Post subject: |
|
|
OK I checked it on that Ubuntu Live USB that seems to detect it, and here's the relevant part of /proc/bus/input/devices:
Code: | I: Bus=0018 Vendor=06cb Product=7f27 Version=0100
N: Name="MSFT0001:00 06CB:7F27 Touchpad"
P: Phys=i2c-MSFT0001:00
S: Sysfs=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-4/i2c-MSFT0001:00/0018:06CB:7F27.0001/input/input7
U: Uniq=
H: Handlers=mouse0 event6
B: PROP=5
B: EV=1b
B: KEY=e520 10000 0 0 0 0
B: ABS=260800000000003
B: MSC=20 |
So I guess it recognizes it and assigns it an input device (input7), but no new information in here, maybe except this "i2c_designware.0" thing.
I'll try with that Gentoo Minimal Installation CD later, but I'm not sure we'll get any other information than this stuff above. _________________ SasQ |
|
Back to top |
|
|
PCmaniaK n00b
Joined: 18 Aug 2018 Posts: 25
|
Posted: Fri Sep 21, 2018 3:34 am Post subject: |
|
|
The kernel found your touchpad on i2c-MSFT bus (no idea what it is) possible bridged to PCI.
There is no PS2 bus (aka i8042) controller mentioned here which makes PS2_MOUSE kernel config entries irrelevant.
Some driver internals are exposed in /sys/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-4/i2c-MSFT0001:00/0018:06CB:7F27.0001/input/input7 directory
udev created /dev/input/event6 for your device
Check your device working by
Code: | # cat /dev/input/event6 |
(touch the touchpad and see gibberish output if it is working) or use evtest to see formatted messages from event6
And... this is a full extent to my knowledge on the matter |
|
Back to top |
|
|
sasq Apprentice
Joined: 09 Sep 2005 Posts: 234 Location: Poland
|
Posted: Fri Sep 21, 2018 7:30 am Post subject: [solved] |
|
|
OK I think I cracked it! :>
The main culprit was CONFIG_PINCTRL_SUNRISEPOINT that provides an interface that allows configuring of PCH pins and using them as GPIOs. Apparently the touchpad port needs to be unlocked by the signal raised by PCH's GPIO pins, so this module is required for it to work. It is called pinctrl_sunrisepoint, and it is a feature of my motherboard's chipset, Sunrise Point. (I was hinted at this information by a post I found on Arch's forums.)
In order to enable this module, another option has to be turned on: X86_INTEL_LPSS, which controls Intel's "Low Power SubSystem", because on Sunrise Point chipsets, most low-power devices (such as I2C/SMBus) are connected to the PCH and require this feature to work (according to this information). This option has to be enabled for the PINCTRL feature to work, and then the CONFIG_PINCTRL_SUNRISEPOINT can be enabled as well in the kernel.
After enabling these in my kernel and rebooting, Gentoo recognizes the touchpad the same way Ubuntu does. Despite these messages in dmesg:
Code: | i8042: PNP: PS/2 Controller [PNP0303:KBD0] at 0x60,0x64 irq 1
i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp |
the touchpad should work fine, because it worked in Ubuntu as well with the same message.
Then I can see the same message in dmesg on Gentoo as it was on Ubuntu regarding the touchpad getting recognized:
Code: | input: MSFT0001:00 06CB:7F27 as /devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-13/i2c-MSFT0001:00/0018:06CB:7F27.0002/input/input11
hid-generic 0018:06CB:7F27.0002: input,hidraw1: I2C HID v1.00 Mouse [MSFT0001:00 06CB:7F27] on i2c-MSFT0001:00 |
Now xinput list shows the same line for the touchpad as Ubuntu did:
Code: | MSFT0001:00 06CB:7F27 id=10 [slave pointer (2)] |
And the last thing to activate the touchpad was to... press one of the special buttons on the keyboard (shared with F6) that toggles the touchpad on/off.
(Which requires the ideapad_laptop module to be present as well for that key to work that way.)
And now, finally, the touchpad is working! :>
It most likely uses the i2c_designware_platform, i2c_designware_core and i2c_hid modules, because they're getting loaded automatically as well.
Thanks for all your help, it hinted me at the right direction.
Now it would be nice to add these things to the official Gentoo documentation for touchpads to save other people all that fuss... _________________ SasQ |
|
Back to top |
|
|
PCmaniaK n00b
Joined: 18 Aug 2018 Posts: 25
|
|
Back to top |
|
|
|