Page 1 of 1

[SOLVED] Touchpad dead after hibernating

Posted: 2014-10-24 21:11
by Tania T.
I have installed Jessie on my Dell Inspiron 7340 and the touchpad works fine with xserver-xorg-input-synaptics. However, when the system wakes up from hibernation or standby , the touchpad doesn't react.

In /proc/bus/input/devices there are - among others - the following sections:

Code: Select all

I: Bus=0011 Vendor=0002 Product=0001 Version=0000
N: Name="PS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input35
U: Uniq=
H: Handlers=mouse4 event18
B: PROP=0
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3

I: Bus=0018 Vendor=06cb Product=75db Version=0100
N: Name="DLL0674:00 06CB:75DB UNKNOWN"
P: Phys=
S: Sysfs=/devices/pci0000:00/INT33C3:00/i2c-0/i2c-DLL0674:00/0018:06CB:75DB.0006/input/input10
U: Uniq=
H: Handlers=mouse1 event8
B: PROP=1
B: EV=b
B: KEY=6420 10000 0 0 0 0
B: ABS=260800000000003
Do you have any ideas what the problem might be?

Edit: When the touchpad works, the "PS/2 Synaptics TouchPad" section isn't there.

Cheers,
Tania T.

Re: Touchpad dead after hibernating

Posted: 2014-10-25 12:02
by Tania T.
I have installed laptop-mode-tools. After booting, dmesg gives:

Code: Select all

[    2.770806] input: DLL0674:00 06CB:75DB UNKNOWN as /devices/pci0000:00/INT33C3:00/i2c-0/i2c-DLL0674:00/0018:06CB:75DB.0006/input/input9
[    2.770923] hid-multitouch 0018:06CB:75DB.0006: input,hidraw2: <UNKNOWN> HID v1.00 Mouse [DLL0674:00 06CB:75DB] on
and after waking up:

Code: Select all

[    2.770806] input: DLL0674:00 06CB:75DB UNKNOWN as /devices/pci0000:00/INT33C3:00/i2c-0/i2c-DLL0674:00/0018:06CB:75DB.0006/input/input9
[    2.770923] hid-multitouch 0018:06CB:75DB.0006: input,hidraw2: <UNKNOWN> HID v1.00 Mouse [DLL0674:00 06CB:75DB] on
[  136.482313] input: PS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input23
In /var/log/syslog I find the following:

Code: Select all

gdm-Xorg-:0[2457]: (II) config/udev: Adding input device PS/2 Synaptics TouchPad (/dev/input/mouse4)
gdm-Xorg-:0[2457]: (II) No input driver specified, ignoring this device.
gdm-Xorg-:0[2457]: (II) This device may have been added with another device file.
gdm-Xorg-:0[2457]: (II) config/udev: Adding input device PS/2 Synaptics TouchPad (/dev/input/event18)
gdm-Xorg-:0[2457]: (**) PS/2 Synaptics TouchPad: Applying InputClass "evdev pointer catchall"
gdm-Xorg-:0[2457]: (II) Using input driver 'evdev' for 'PS/2 Synaptics TouchPad'
gdm-Xorg-:0[2457]: (**) PS/2 Synaptics TouchPad: always reports core events
gdm-Xorg-:0[2457]: (**) evdev: PS/2 Synaptics TouchPad: Device: "/dev/input/event18"
gdm-Xorg-:0[2457]: (--) evdev: PS/2 Synaptics TouchPad: Vendor 0x2 Product 0x1
gdm-Xorg-:0[2457]: (--) evdev: PS/2 Synaptics TouchPad: Found 3 mouse buttons
gdm-Xorg-:0[2457]: (--) evdev: PS/2 Synaptics TouchPad: Found relative axes
gdm-Xorg-:0[2457]: (--) evdev: PS/2 Synaptics TouchPad: Found x and y relative axes
gdm-Xorg-:0[2457]: (II) evdev: PS/2 Synaptics TouchPad: Configuring as mouse
gdm-Xorg-:0[2457]: (**) evdev: PS/2 Synaptics TouchPad: YAxisMapping: buttons 4 and 5
gdm-Xorg-:0[2457]: (**) evdev: PS/2 Synaptics TouchPad: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
gdm-Xorg-:0[2457]: (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input23/event18"
gdm-Xorg-:0[2457]: (II) XINPUT: Adding extended input device "PS/2 Synaptics TouchPad" (type: MOUSE, id 17)
gdm-Xorg-:0[2457]: (II) evdev: PS/2 Synaptics TouchPad: initialized for relative axes.
gdm-Xorg-:0[2457]: (**) PS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
gdm-Xorg-:0[2457]: (**) PS/2 Synaptics TouchPad: (accel) acceleration profile 0
gdm-Xorg-:0[2457]: (**) PS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
gdm-Xorg-:0[2457]: (**) PS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
Does that mean that the touchpad is recognized as mouse upon wake up?

Re: Touchpad dead after hibernating

Posted: 2014-10-25 14:40
by Tania T.
When it works, it seems not to exist at all:

Code: Select all

egrep -i 'synap|alps|etps' /proc/bus/input/devices 
returns nothing. When it's dead, however, it returns:

Code: Select all

N: Name="PS/2 Synaptics TouchPad"
Edit: The directory /etc/X11/xorg.conf.d/ doesn't exist, although xorg is installed. Apparently I'm missing something basic, but what?

Re: Touchpad dead after hibernating

Posted: 2014-10-26 14:41
by Tania T.
I created /etc/X11/xorg.conf.d/synaptics.conf, which contains the following:

Code: Select all

Section "InputClass"
        Identifier "Touchpad"
        Driver "synaptics"
        MatchIsTouchpad "yes"
        MatchDevicePath "/dev/input/event*"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection
I tried different variants like commenting out MatchDevicePath "/dev/input/event*", commenting out the "touchpad ignore duplicates" section, setting in the first section Identifier "touchpad catchall", in all possible combinations. I also tried to save it directly as /etc/X11/xorg.conf.d, but the problem persists.

BTW, I'm using Gnome in amd64.

Re: Touchpad dead after hibernating

Posted: 2014-10-27 09:18
by Tania T.
That is a quite general statement. Do you have reasons to believe that this particular problem would not occur in the 32-bit architecture? As for Gnome, based on what I read it is my best chance of getting a convertible laptop with touchscreen to work in Debian.

I'd be grateful for any specific advice on how to solve the problem or where to look for the solution.

Re: Touchpad dead after hibernating

Posted: 2014-10-31 22:06
by Tania T.
I tried gsettings (as I can't unceck it in dconf-editor) to stop Gnome's settings-daemon from handling the mice and the touchpad, in case it overwrites the touchpad configuration.
Unfortunatelly, the problem persists. I found out that the touchpad is not always apointed to the same event or the same mouse in /dev/. Is it supposed to be this way?
Also, after resuming, it seems to be added again as a different event, which doesn't give any output when I test it with cat /dev/...

Re: Touchpad dead after hibernating

Posted: 2014-11-01 05:31
by fruitofloom
Tania T. wrote:
I'd be grateful for any specific advice on how to solve the problem or where to look for the solution.
Try the #debian-next IRC channel.

In case you don't know IRC yet (no offence, to me it was very confusing in the beginning):
https://wiki.debian.org/IRC
So:
1) install an IRC client like xchat or irssi or pidgin (gnome uses empathy, i think, it should be installed already)
2) point it to the server irc.debian.org
3) connect to the channel called #debian-next (either by /join #debian-next or by using the menu).
Like everywhere else you can run into people who chat when they have no clue. In general, as far i can tell, advice there is rather good.
Sometimes the channels of debian (others too) are silent. Just try again later (or leave the chatclient open and wait ... ).

To easily show them stuff you might want to install and get used to "pastebinit"
usage:
pastebinit filename.txt
redirect commands to a file
dmesg > filename.txt
dmesg | grep pattern > filename.txt
(yes, yes, posting the obvious .... sorry).

Good luck and sorry that i can't help with your real problem (the touchpad).

Re: Touchpad dead after hibernating

Posted: 2014-11-07 20:34
by Tania T.
It took me weeks of intensive duckduckgoing and googling to find relevant information, but I finally got the solution. It was hiding in this very forum! I focused on the wrong lines of dmesg, and ignored the important one:

Code: Select all

i2c_hid i2c-DLL0674:00: failed to retrieve report from device
So, if I undestood correctly, the problem was two different modules fighting for control of the touchpad.
In case somebody's interested, here are again the steps I followed to solve it:
  • 1) In /etc/default/grub set GRUB_CMDLINE_LINUX="i8042.nopnp"
    2) Run update-grub
    3) Create file /etc/modprob.d/i2c_hid.conf containing: blacklist i2c_hid
    4) Run depmod -ae
    5) Run update initramfs -u
    6) Add synaptics_i2c in a new line in /etc/modules
    7) Reboot
The touchpad can be now configured as described in this wiki.
Reportedly blacklisting i2h_hid could affect the touchscreen if it's not connected via USB.

Have a nice weekend everybody! :D

Re: [SOLVED] Touchpad dead after hibernating

Posted: 2014-11-07 20:46
by dilberts_left_nut
Nice win.
Thanks for posting your solution.

Re: [SOLVED] Touchpad dead after hibernating

Posted: 2014-11-22 13:38
by mrcl
I know that this issue is closed, but I would like to first thank Tania for the really nice and neat solution.
I had the same problem with my Dell inspiron 13 7000 series and now the touchpad does not stop working after a suspend/hibernate.
However, after applying the solution pointed by Tania the computer immediately wakes up after suspending if the lid of the laptop is open. Closing the lid suspends the computer properly.

I undid the steps listed by Tania and the suspend with the lid works as supposed, but as expected after waking up the computer the touchpad does not work.

I would like to know if anybody experienced anything similar and if there is any workaround to sort this problem?

Cheers