Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Touchpad not recognized on Lenovo IdeaPad 720-15
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
sasq
Apprentice
Apprentice


Joined: 09 Sep 2005
Posts: 234
Location: Poland

PostPosted: Sat Sep 15, 2018 9:20 pm    Post subject: [SOLVED] Touchpad not recognized on Lenovo IdeaPad 720-15 Reply with quote

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
View user's profile Send private message
hhfeuer
Apprentice
Apprentice


Joined: 28 Jul 2005
Posts: 185

PostPosted: Mon Sep 17, 2018 9:40 am    Post subject: Reply with quote

AFAIK, you'll need at least kernel 4.14 for the touchpad to work, which version are you running?
Back to top
View user's profile Send private message
sasq
Apprentice
Apprentice


Joined: 09 Sep 2005
Posts: 234
Location: Poland

PostPosted: Mon Sep 17, 2018 1:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
PCmaniaK
n00b
n00b


Joined: 18 Aug 2018
Posts: 25

PostPosted: Wed Sep 19, 2018 2:54 am    Post subject: Reply with quote

Try to find something about Synaptics in /proc/bus/input/devices
Back to top
View user's profile Send private message
sasq
Apprentice
Apprentice


Joined: 09 Sep 2005
Posts: 234
Location: Poland

PostPosted: Wed Sep 19, 2018 4:54 am    Post subject: Reply with quote

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
View user's profile Send private message
PCmaniaK
n00b
n00b


Joined: 18 Aug 2018
Posts: 25

PostPosted: Wed Sep 19, 2018 5:37 pm    Post subject: Reply with quote

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
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6097
Location: Dallas area

PostPosted: Wed Sep 19, 2018 5:50 pm    Post subject: Reply with quote

sysrescuecd should also work for detection.
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
sasq
Apprentice
Apprentice


Joined: 09 Sep 2005
Posts: 234
Location: Poland

PostPosted: Fri Sep 21, 2018 2:06 am    Post subject: Reply with quote

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
View user's profile Send private message
PCmaniaK
n00b
n00b


Joined: 18 Aug 2018
Posts: 25

PostPosted: Fri Sep 21, 2018 3:34 am    Post subject: Reply with quote

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
View user's profile Send private message
sasq
Apprentice
Apprentice


Joined: 09 Sep 2005
Posts: 234
Location: Poland

PostPosted: Fri Sep 21, 2018 7:30 am    Post subject: [solved] Reply with quote

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
View user's profile Send private message
PCmaniaK
n00b
n00b


Joined: 18 Aug 2018
Posts: 25

PostPosted: Fri Sep 21, 2018 5:31 pm    Post subject: Reply with quote

Great!
Any hints/ideas on a similar issue https://forums.gentoo.org/viewtopic-t-1085458.html would be appreciated :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum