# Touchpad works well for a while, and then loses functions

## TheMachinesTeacher

I have a Dell Inspiron 11 3000 2 in 1 that has a touchpad. For INPUT_DEVICES I have synaptics. I have the compiled the Event Interface and PS/2 Mouse kernel modules into the kernel. I have KDE-Plasma installed. 

When I boot up the laptop, the touchpad works great, with two finger scrolling, tap to click, and horizontal scrolling. All of these features I can modify with the system settings in KDE-Plasma. After a while of using the computer, it looses two finger scrolling, tap to click, and horizontal scrolling. I can still use the touchpad to move the mouse and the buttons to click, but I lose the extra functionality.

Any idea why this might be happening, or what I can do to find out more about why this may be happening? It seems really strange that I only lose some functionality and not all.

----------

## intord

same problem here. 

noticed a couple of things:

-- putting a config file with settings into /etc/X11/xorg.conf.d/50-synaptics.conf really makes no difference (i.e. tapping and vertical scroll stops working after some time in both cases - with or without this file)

-- enabled all touch pad related configs in kernel (including usb-connected)

-- no entries related to fail or misconfig of touch pad in dmesg 

-- synclient shows correct config for tapping and scrolling:

```
 user@gentoo ~ $ synclient | grep -i -e tap -e scroll

    MaxTapTime              = 180

    MaxTapMove              = 258

    MaxDoubleTapTime        = 180

    SingleTapTimeout        = 180

    VertScrollDelta         = 120

    HorizScrollDelta        = 120

    VertEdgeScroll          = 1

    HorizEdgeScroll         = 0

    VertTwoFingerScroll     = 0

    HorizTwoFingerScroll    = 0

    TapButton1              = 1

    TapButton2              = 0

    TapButton3              = 0

    CircularScrolling       = 0

    CircScrollDelta         = 0.100007

    CircScrollTrigger       = 0

    TapAndDragGesture       = 1

```

-- entries in xorg log:

```
user@gentoo ~ $ grep -i touch /var/log/Xorg.0.log

[    11.159] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event6)

[    11.159] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "evdev touchpad catchall"

[    11.159] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"

[    11.159] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "Default clickpad buttons"

[    11.159] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad'

[    11.159] (**) SynPS/2 Synaptics TouchPad: always reports core events

[    11.172] (II) synaptics: SynPS/2 Synaptics TouchPad: ignoring touch events for semi-multitouch device

[    11.172] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1220 - 5716 (res 46)

[    11.172] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 986 - 4886 (res 80)

[    11.172] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255

[    11.172] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15

[    11.172] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left right double triple

[    11.172] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7

[    11.172] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found

[    11.172] (**) SynPS/2 Synaptics TouchPad: always reports core events

[    11.229] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 12)

[    11.229] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5

[    11.229] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MaxSpeed is now 1.75

[    11.229] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) AccelFactor is now 0.034

[    11.229] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1

[    11.229] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1

[    11.229] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000

[    11.229] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4

[    11.229] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found

[    11.229] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse0)

[    11.229] (**) SynPS/2 Synaptics TouchPad: Ignoring device from InputClass "touchpad ignore duplicates"

```

tried to google the last line, but really nothing applicable found. but touchpad disabled status is not reflected in this message - when last time it happened - i saw nothing related to touch pad in xorg logs  

i am thinking that this is some config/driver issue as it perfectly worked on the same aptop under Debian and openSUSE for example.

also, sometimes it gets disabled when laptop lid is closed, which is mapped to "Lock Screen" option in KDE config.

----------

## intord

so my solution was to remove circular scrolling options from synaptics config (as i had it with a regular edge scroll). so currently i have  only scroll edge and tapping a for a button1 (actually never want ed to any more capabilities) and it works as expected ... i mean worked before the latest kde plasma upgrade. another thing now is that now in system settings there is no touchpad tab at all. touchpad however works fine. ineteresting why? last time i got this when forgot to put a touch pad config file to /etc/X11/

----------

## TheMachinesTeacher

Where is your "synaptics config" because I don't have one in /etc/X11/xorg.conf.d/?

My synclient -l looks like yours. You and I both had CircularScrolling = 0, which means it is off, to my understanding. 

I also do not want more functionality then you have said, two finger scroll and 1 tap click.

I still have the tab in the kde settings to modify the touchpad settings.

----------

## Ant P.

You may want to try xf86-input-libinput too. Some of the GUI tools don't recognise it, but it should work at least as well as synaptics.

----------

## TheMachinesTeacher

Thank you for the recommendation Ant P. I found that synaptics has better functionality out of the box when compared to xf86-input-libinput. I am sure I could configure xf86-input-libinput to be as good as synaptics, but I have yet to find the time to configure it. Maybe someday.

----------

## PrSo

I have a silly question:

Are you sure that this touchpad is ps2 interface not i2c rmi4?

----------

## TheMachinesTeacher

I think that is a valid question considering dmesg says this regarding my mouse:

```

psmouse serio1: synaptics: Your touchpad (PNP: DLL074d PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org.

```

but cat /proc/bus/inputs/devices has an entry called with Name="SynPS/2 Synaptics TouchPad". Since there is only one touchpad, that must be it. It also has PS/2 in the name, which makes it seem like it is a PS/2 mouse.

I'll set psmouse.synaptics_intertouch to 1 and see what happens.

----------

## PrSo

Have you enabled anything in .config that is related with options in 'make menuconfig' 'device drives' -> 'i2c bus support' and 'device drivers' -> 'input device support' -> 'rmi ...&(_mice_)' and alike?

----------

## TheMachinesTeacher

I do not have a rmi or i2c kernel module turned on related to HID devices.

----------

## PrSo

Could you give us a full dmesg log when the problem occurs, kernel .config file, and output of 

```
lspci -nnk
```

 by wgetpaste?

Since Ant P. mentioned about libinput driver and part of yours dmesg is saying that it is possible if touchpad could be connected to SMBus, I am trying to figure out if you should report a bug on the freedesktop bugzilla's libinput page or play a little more with the kernel's .config file.

Naturally there is a little possibility that touchpad is damaged and in that case (if you are able to) you should RMA it.

Libinput is a quite new driver and still WIP.

There has been some changes lately in kernel 4.15 with elan_i2c:

https://github.com/bentiss/linux/commits/elan_i2c-v4.15-rc2+, but from the part of dmesg that you have provided I assume that there is an ALPS device however, I could be wrong though.

----------

## TheMachinesTeacher

dmesg after the error occurs can be found here

.config here

lspci -nnk here

I should make clear that I am not using libinput. I am using synaptics for the touchpad and evdev for the touchscreen. This problem existed before I used evdev for the touchscreen. 

This laptop is fairly new. I can't prove that there is a hardware defect, but I would assume that if it doesn't stop working completely, and because it is pretty new it is not a hardware problem.

Notice I am on kernel version 4.14.13

Interestingly enough, after submitting this reply and letting the computer lock, the scrolling and tapping to click functionality came back. Maybe it has something to do with screen locking? I will get back to you if I determine that is the case.

----------

## TheMachinesTeacher

Ah yes, forcing a lock of the screen made the scrolling and tap to click functionality disable. I am not sure why that might be. I am using the kde plasma desktop and the Haenau lock screen.

My guess is that it came back after the computer went to sleep and then I unlocked it. I'll get back to you if I find that to be true.

----------

## PrSo

I strongly suggest you to upgrade to the latest kernel  (4.15.2 and above), unless there is a special reason to stay on 4.14.

You haven't enabled all yours gear (maybe it was on purpose):

From "lspci -nnk" and https://cateee.net/sources/lkddb/lkddb-4.15.list:

I suppose that you don't have an LPC-ICH bridge driver in kernel:

```
00:1f.0 ISA bridge [0601]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU [8086:229c] (rev 35)
```

Pci 8086 229c .... .... ...... : CONFIG_LPC_ICH : drivers/mfd/lpc_ich.c

Pci 8086 229c .... .... ...... : CONFIG_PMC_ATOM CONFIG_X86 : drivers/platform/x86/pmc_atom.c

and processor thermal device:

```
00:0b.0 Signal processing controller [1180]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [8086:22dc] (rev 35)

   Subsystem: Dell Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [1028:074d]
```

Pci 8086 22dc .... .... ...... : CONFIG_INT340X_THERMAL CONFIG_THERMAL : drivers/thermal/int340x_thermal/processor_thermal_device.c

Personally I think that Intel TXE should be disabled but it depends from you:

```
00:1a.0 Encryption controller [1080]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [8086:2298] (rev 35)

   Subsystem: Dell Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [1028:074d]
```

Form LKDDB:

Pci 8086 2298 .... .... ...... : CONFIG_INTEL_MEI CONFIG_INTEL_MEI_TXE : drivers/misc/mei/pci-txe.c

Moreover in .config file you haven't enabled all I2C mouse devices ie. "# CONFIG_MOUSE_SYNAPTICS_I2C is not set" (which one should be enabled in your case i have no idea but you could try to enable them all), and "# CONFIG_RMI4_I2C is not set".

Yeah, the screen locker could be the reason but IMHO there is a problem with the machine setup.

----------

## TheMachinesTeacher

Wow! Thanks so much for your very helpful and detailed reply.

I didn't have all my gear enabled because I am a n00b. This is only my third gentoo, and I only started using gentoo last september. Thanks for helping me learn how to find out what I need to turn on in my kernel configuration. 

I upgraded to 4.15.2 and turned on those configurations that you recommended. It seems to have fixed the problem. I don't lose the functionality when the computer locks, and it hasn't lost the functionality in the last 2 hours I have been using it. Hopefully that means it is fixed, but I will let you know if the problem arises again. 

If I don't see the problem in a week of use, I will change the title to have a solved tag.

How come you think that the Intel TXE should be disabled?

----------

## PrSo

Thank you for your kind words, but telling the truth I am a noob too (and always will be) [One cannot know everything - Horace]. 

I have founded the LKDDB stuff reading this forum (very useful tool for the kernel configuration).

When it comes to IME(TXE) this is the same "evil" as AMD's PSP ie.:

https://arstechnica.com/information-technology/2018/01/researcher-finds-another-security-flaw-in-intel-management-firmware/

https://www.coreboot.org/Intel_Management_Engine

https://hardenedlinux.github.io/firmware/2016/11/17/neutralize_ME_firmware_on_sandybridge_and_ivybridge.html

http://me.bios.io/ME:About

BTW it can not be disabled totally on how much you would try.

EDIT:

It was Horace not Cicero. I was cite from my memory which sometimes fails me   :Embarassed:  .

----------

## TheMachinesTeacher

Well this did not solve the problem. I still lose functionality when I lock the screen. I enabled SYNAPTICS_I2C and RMI4_I2C, but I still get the same message in dmesg about my mouse supporting another bus.

----------

## PrSo

In your new .config have you enabled CONFIG_HID_RMI? If not please, enable this option and check your dmesg.

----------

## TheMachinesTeacher

HID_RMI is enabled and I still get the message.

----------

## PrSo

Hmmm..

could you please post once again your kernel .config file by wgetpase after changes?

----------

## TheMachinesTeacher

No problem. Here it is

----------

## PrSo

You could try to enable two more drivers:

# CONFIG_MOUSE_ELAN_I2C is not set

# CONFIG_HID_ALPS is not set

EDIT:

If the above drivers does not work for you (and telling the truth I would be surprised if they do), I suppose that you should do what kernels message says, or open a bug report on kernel's bugzilla webpage in "drivers -> input devices", because I am afraid that this touchpad is to new, and isn't supported on rmi bus yet.

----------

