# [solved] Lenovo Touchpad can't scroll

## DerPreis

Hello!

I habe problems with my touchpad. I can use it simply but the 'two-finger' scroll function didn't seem to work. I already activated everything with synaptics I could find in the kernel but it still wont work. 

Here are some logs:

```
lspci -k

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)

        Subsystem: Lenovo Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05)

        Kernel driver in use: pcieport

00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)

        Subsystem: Lenovo Device 39d1

        Kernel driver in use: i915

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)

        Subsystem: Lenovo Sunrise Point-H USB 3.0 xHCI Controller

        Kernel driver in use: xhci_hcd

00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)

        Subsystem: Lenovo Sunrise Point-H Thermal subsystem

00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)

        Subsystem: Lenovo Sunrise Point-H CSME HECI

00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)

        Subsystem: Lenovo Sunrise Point-H SATA Controller [AHCI mode]

        Kernel driver in use: ahci

00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #2 (rev f1)

        Kernel driver in use: pcieport

00:1c.2 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #3 (rev f1)

        Kernel driver in use: pcieport

00:1c.3 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #4 (rev f1)

        Kernel driver in use: pcieport

00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)

        Subsystem: Lenovo Sunrise Point-H LPC Controller

00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)

        Subsystem: Lenovo Sunrise Point-H PMC

00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)

        Subsystem: Lenovo CM238 HD Audio Controller

        Kernel driver in use: snd_hda_intel

        Kernel modules: snd_hda_intel

00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)

        Subsystem: Lenovo Sunrise Point-H SMBus

        Kernel driver in use: i801_smbus

01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)

        Subsystem: Lenovo GP107M [GeForce GTX 1050 Mobile]

        Kernel driver in use: nvidia

        Kernel modules: nvidia_drm, nvidia

02:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)

        Subsystem: Lenovo SD/MMC Card Reader Controller

03:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3165 Plus Bluetooth (rev 99)

        Subsystem: Intel Corporation Dual Band Wireless-AC 3165 Plus Bluetooth

        Kernel driver in use: iwlwifi

        Kernel modules: iwlwifi

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)

        Subsystem: Lenovo RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller

        Kernel driver in use: r8169

```

```
/etc/portage/make.conf

INPUT_DEVICES="libinput synaptics"

```

Last edited by DerPreis on Thu Aug 09, 2018 10:02 am; edited 1 time in total

----------

## Maitreya

Is it i2c or usb, because I don't see it listed in your lsspci?

Also, what are the kernel options you enabled for the touchpad?

----------

## DerPreis

 *Maitreya wrote:*   

> Is it i2c or usb, because I don't see it listed in your lsspci?

 

I'm not sure. Its integrated in the Notebook, so i2c?

 *Maitreya wrote:*   

> Also, what are the kernel options you enabled for the touchpad?

 

Device Drivers -->

     Input device support -->

          Mice -->

               <*> ELAN I2C Touchpad Support

                    [*] Enable I2C Support

               <*> Synaptics I2C Support

               <*> Synaptics USB device Support

          <*> Synaptics RMI4 bus support

          <*> RMI4 I2C Support

          <*> RMI4 SMB Support

          [*] RMI4 Function 03 (PS2 Guest)

          [*] RMI4 Function 11 (2D pointing)

          [*] RMI4 Function 12 (2D pointing)

          [*] RMI4 Function 30 (GPIO LED) 

          [*] RMI4 Function 34 (Device reflash) 

          [*] RMI4 Function 55 (Sensor tuning)      

I don't wanna lie to you, I'm not realy sure what I activated there...

----------

## Anon-E-moose

Which computer do you have (laptop model)

For me, I have an acer (using intel stuff) and have to set the touchpad to basic (instead of advanced) in the bios.

Not sure what your options are.

----------

## DerPreis

It's a Lenovo Legion Y520, a optimus one if this is important.

----------

## Anon-E-moose

are there any bios setting for the touchpad?

It works (sort of) so it's recognized by linux, the drivers look ok, it should be synaptics/elan

----------

## DerPreis

I've looked into the bios but there wasn't an option for the synaptics...   :Confused: 

----------

## hhfeuer

What's the output of

dmesg |grep -i touch

grep -i touch /var/log/Xorg.0.log

----------

## DerPreis

 *hhfeuer wrote:*   

> What's the output of
> 
> dmesg |grep -i touch
> 
> grep -i touch /var/log/Xorg.0.log

 

Hi hhfeuer, 

dmesg gives me no output for touch ...

----------

## hhfeuer

Then make sure that

CONFIG_MOUSE_PS2

CONFIG_MOUSE_PS2_SYNAPTICS

CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS

and needed I2C hardware support is enabled.

----------

## DerPreis

 *hhfeuer wrote:*   

> Then make sure that
> 
> CONFIG_MOUSE_PS2
> 
> CONFIG_MOUSE_PS2_SYNAPTICS
> ...

 

I wasn't able to find the

```
CONFIG_MOUSE_PS2_SYNAPTICS

CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS

```

in the kernel.

But it works now. I enabled

Device Drivers --> Input Drivers --> Generic input layer... --> Mice -->

```
<M>PS/2 mouse (CONFIG_MOUSE_PS2)

[*] Elantech PS/2 protocol extension (CONFIG_MOUSE_PS2_ELANTECH)

[*] Sentelic Finger Sensing Pad PS/2 protocol extension (CONFIG_MOUSE_PS2_SENTELIC)

[*] eGalax TouchKit PS/2 protocol extension (CONFIG_MOUSE_PS2_TOUCHKIT)

```

and disabled everything else I had enabled before.

Now under lsmod I see the module psmouse. I think this will be the module for my touchpad then...

[Moderator edit: added [code] tags to preserve output layout. -Hu]

----------

## hhfeuer

You should check

dmesg |grep -i touch

again, it should now tell you about missing kernel config options.

----------

## DerPreis

```
dmesg | grep -i touch

[   13.041455] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input9

```

That's the only output. Is it good?

----------

## hhfeuer

It has nothing to complain about, so looks good.

----------

