Wacom devices lost after resume on 11.4

Hi, I have an HP tm2 tabletPC.

I used to be on kubuntu till I got sick of the hardware regressions on each ‘upgrade’, now on openSUSE and enjoying the experience :).

I have a persistent problem across both distros though - after a sleep and resume the wacom devices are missing (touch, stylus and eraser). xinput list doesn’t list them. Also, weirdly the usb ports on the right side of the laptop stop working (left side is fine)!

This seems to be a problem that came in sometime after kernel 2.6.35 (I can’t quite remember what I had when it was working), it’s present in openSUSE with 2.6.37.6-0.7 on an kubuntu with kernels 2.6.38-7, 2.6.39-3, 3.0.0-11-generic, 3.0.0-12-generic, 3.0.0-13-generic, and 3.1.0-999.201110210416.

It might not be directly to do with the kernel though but some interplay between kernel, X, and drivers. I’d like to fix this issue, can someone give me a hand on how I should diagnose and break down exactly what is going wrong and why?

My current system:

`--> uname -a
Linux entropy.site 2.6.37.6-0.7-desktop #1 SMP PREEMPT 2011-07-21 02:17:24 +0200 x86_64 x86_64 x86_64 GNU/Linux

Graphics:

`--> /sbin/lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
01:00.0 VGA compatible controller: ATI Technologies Inc M93 [Mobility Radeon HD 4500 Series] (rev ff)

I’m running on the Intel driver and have the radeon card powered down.

bug report against ubuntu: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/748215

On Sun, 30 Oct 2011 00:46:03 +0000, aalexei wrote:

> I have a persistent problem across both distros though - after a sleep
> and resume the wacom devices are missing (touch, stylus and eraser).
> xinput list doesn’t list them. Also, weirdly the usb ports on the right
> side of the laptop stop working (left side is fine)!

I don’t know if this is related, but hot-plug support with wacom devices
is not there/not complete. I have an Intuos4 tablet myself, and I can
confirm that hotplug doesn’t work.

But in my case, ISTR that suspend/resume doesn’t cause it a problem. But
it might be different with your device.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

I dumped every source of info I could think of both before and after sleep to try and see what had changed, it seems it’s a bug with usb not wacom.

On initial boot the wacom device works:

from Xorg.0.log (before)

    26.099] (II) config/udev: Adding input device Wacom ISDv4 E3 Finger (/dev/input/event12)
    26.151] (II) config/udev: Adding input device Wacom ISDv4 E3 Pen (/dev/input/event13)
    26.187] (II) config/udev: Adding input device Logitech USB Receiver (/dev/input/event2)
    26.193] (II) config/udev: Adding input device Logitech USB Receiver (/dev/input/event3)

on sleep and wake things look ok till (from dmesg):

> [12526.388613] uhci_hcd 0000:00:1a.1: host controller halted, very bad!
> [12526.388635] uhci_hcd 0000:00:1a.1: HC died; cleaning up
> [12526.388677] uhci_hcd 0000:00:1d.1: host controller halted, very bad!
> [12526.388698] uhci_hcd 0000:00:1d.1: HC died; cleaning up

Then Xorg.0.log takes up the story:

>  12532.553] (EE) xf86OpenSerial: Cannot open device /dev/input/event12
>       No such file or directory.
>  12532.553] (EE) Wacom ISDv4 E3 Finger touch: Error opening /dev/input/event12 (No such file or directory)
>  12532.553] [dix] couldn't enable device 11
>  12532.553] (EE) xf86OpenSerial: Cannot open device /dev/input/event13
>       No such file or directory.
>  12532.553] (EE) Wacom ISDv4 E3 Pen stylus: Error opening /dev/input/event13 (No such file or directory)
>  12532.553] [dix] couldn't enable device 13
>  12532.553] (EE) xf86OpenSerial: Cannot open device /dev/input/event13
>       No such file or directory.
>  12532.553] (EE) Wacom ISDv4 E3 Pen eraser: Error opening /dev/input/event13 (No such file or directory)
>  12532.553] [dix] couldn't enable device 12
>  12532.560] (EE) Unable to open evdev device "/dev/input/event2".
>  12532.560] [dix] couldn't enable device 16
>  12532.560] (EE) Unable to open evdev device "/dev/input/event3".
>  12532.560] [dix] couldn't enable device 17
>  12532.574] (--) SynPS/2 Synaptics TouchPad: touchpad found
>  12532.664] (II) config/udev: removing device Wacom ISDv4 E3 Finger touch
>  12532.666] (II) Wacom ISDv4 E3 Finger touch: removing automatically added devices.
>  12532.666] (II) UnloadModule: "wacom"
>  12532.687] (II) config/udev: removing device Wacom ISDv4 E3 Pen stylus
>  12532.690] (II) Wacom ISDv4 E3 Pen stylus: removing automatically added devices.
>  12532.690] (II) Wacom ISDv4 E3 Pen stylus: removing dependent device 'Wacom ISDv4 E3 Pen eraser'
>  12532.692] (II) UnloadModule: "wacom"
>  12532.692] (II) UnloadModule: "wacom"
>  12532.709] (II) config/udev: removing device Logitech USB Receiver
>  12532.711] (II) Logitech USB Receiver: Close
>  12532.711] (II) UnloadModule: "evdev"
>  12532.719] (II) config/udev: removing device Logitech USB Receiver
>  12532.721] (II) Logitech USB Receiver: Close
>  12532.721] (II) UnloadModule: "evdev"

Afterwards some of the devices are missing from /proc/bus/input/devices/ (specifically the wacom and a wireless logitech mouse I have plugged in on the right side.

Doing a sudo lsusb -v will segfault lsusb (from dmesg):

> [12571.754836] lsusb[20654]: segfault at 22 ip 0000000000408e17 sp 00007fff8c17e5b0 error 4 in lsusb[400000+19000]

this happens on two specific devices:

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

also Bus 004 Device 002, and Bus 006 Device 002 don’t return anything, these were the wacom device and the wireless mouse (on right side) before sleep. catting them confirms they are missing:

>cat /dev/bus/usb/006/001
cat: /dev/bus/usb/004/001: No such device
> cat /dev/bus/usb/006/001
cat: /dev/bus/usb/006/001: No such device

The upshot is that this appears to be a bug with usb and uhci_hcd not wacom, the loss of the tablet is just a symptom.

Where do I go from here? Any help much appreciated!

On Mon, 31 Oct 2011 04:26:02 +0000, aalexei wrote:

> I dumped every source of info I could think of both before and after
> sleep to try and see what had changed, it seems it’s a bug with usb not
> wacom.

What kind of USB controller do you have, and are you using an external
hub or plugged into the system directly?

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Hi Jim,

I’m plugged into the system directly. It’s a tablet laptop so I guess the wacom device is some sort of internal USB device.
The right-side USB ports go dead after a sleep.

For usb controller I get:


--> /sbin/lspci | grep -i usb
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)

On Tue, 01 Nov 2011 08:06:02 +0000, aalexei wrote:

> I’m plugged into the system directly. It’s a tablet laptop so I guess
> the wacom device is some sort of internal USB device.
> The right-side USB ports go dead after a sleep.

Might be worth asking on the wacom-users mailing list in that case - you
can find it on news.gmane.org as gmane.linux.drivers.wacom - there is
actually a thread in that list about another HP tablet PC (but that one
uses the serial driver) - might be that someone there can help out with
this issue as well (or with diagnosing it).

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

On 2011-10-31 05:26, aalexei wrote:
> The upshot is that this appears to be a bug with usb and uhci_hcd not
> wacom, the loss of the tablet is just a symptom.
>
> Where do I go from here? Any help much appreciated!

bugzilla


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

@Jim - it’s not a wacom issue, it’s a usb one.

I grabbed the 2.6.37.6 source and compiled the kernel myself with the same options as openSUSE except with uhci_hcd and ehci_hcd compiled as modules. After rebooting you see the usual behaviour - works, then stops working after resume. Removing and reloading uhci_hcd:

sudo /sbin/rmmod uhci_hcd
sudo /sbin/modprobe -v uhci_hcd

will bring back the tablet and the right-side usb ports :slight_smile:

So, the problem is something to do with power management and usb. Sheesh, I would have thought usb support would be rock solid by now.

Now I need to find the right dev and file a bug report…

thanks for the suggestions guys!

@aalexei: Hi,
it appears we have been experiencing the self-same problem since upgrading to 11.4 on an HP Pavilion dm3.

I’m in no way competent to submit the required bug report (yet), but maybe I can help you get the job done… and then leech off any future resolution of the issue :slight_smile:

So, welcome to the UDEV daemon monitor (section 19.5 in the openSUSE reference) - here is an example of what happens upon removing wireless mouse receiver from RH USB port before suspend; afterwards, UDEV doesn’t detect anything, and there’s no kernel uevent, whereas LH USB port register both add and remove events:

jeremy@pavilion-linux:~> sudo /sbin/udevadm monitor

monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1321391302.415974] remove   /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/input/input1/mouse0 (input)
UDEV  [1321391302.416627] remove   /devices/pci0000:00/0000:00:1d.0/usb5/5-1/5-1:1.0/input/input1/mouse0 (input)

I hope this helps

Interestingly, your uhci_hcd reload trick doesn’t work on this machine, I’ll investigate this further… - J