You are not logged in.

#1 2014-12-06 00:47:14

setzer22
Member
Registered: 2014-07-26
Posts: 47

[SOLVED] Device not working in Kernel 3.17, but does on 3.16

I have a wacom bamboo pad, one of the non-supported tablets by the wacom project. When you first plug it in the kernel doesn't seem to recognise it at all. Despite of that, I could make it work by adding this line to the kernel command line parameters:

usbhid.quirks=0x056a:0x0318:0x40000000

I don't really know that that line does, but it totally did the trick and my tablet started working with the default evdev driver. Even pressure sensitivity.. everything just fine. (Note for any interested readers that I had to uninstall the wacom driver for that to work. Making the driver ignore that model should also work just fine). To further understand my problem I'd like to know what a usbhid quirk is.

Anyway, the thing is that during an update (actually a full wipe/reinstall) of my root partition for unrelated problems my linux kernel updates from 3.16 to 3.17, and now the tablet is completely unrecognized by the kernel, not even writing anything to any of the /dev/input/ files. Note that this is the same behaviour that I got before adding the usbhid.quirks line on my boot commands. I, of course, have that line on the kernel parameters, and it shows up in /proc/cmdline. Removing it didn't change a thing.

I have to say that the only thing that's detecting the tablet is lsusb and that it's using a usbhid driver, but somehow it doesn't get to the part where it outputs data to the xserver or /dev/input...

After looking at the package versions and realising the only relevant thing that changed was the kernel I downgraded to 3.16.3 kernel and everything worked again just fine, so my suspects for the kernel breaking the device are confirmed.

Now, the problem is, I don't want to be stuck with the old kernel forever, so I'd like to know: What could be possibly going on and how can I fix it. If possible I'd like to avoid patching the kernel at all, as I don't have the time nor the knowledge to fiddle with the linux kernel and I'd be relying on other people to upgrade everytime, which I don't like.

I don't usually ask for quick responses, but tomorrow is the last day I can get a refund for this graphics tablet, so I need quick responses, please!

Thank you in advance.

EDIT: Ok, to show I'm doing my homework, I just found out that the flag 0x40000000 means "NO IGNORE", from http://lxr.free-electrons.com/source/in … inux/hid.h, so I'm telling my kernel not to ignore my tablet and it's ignoring it anyway, right? Any clues?

 #define HID_QUIRK_NO_IGNORE                     0x40000000

EDIT2: After nobody being able to help me in the forums and IRC, I've decided to write a bug report to the linux kernel maintainers. I'll let you know if I get a reply.

Last edited by setzer22 (2014-12-09 23:19:50)

Offline

#2 2014-12-06 18:28:16

setzer22
Member
Registered: 2014-07-26
Posts: 47

Re: [SOLVED] Device not working in Kernel 3.17, but does on 3.16

Following some recommendations on the IRC channel I upgraded the kernel to the latsest mainline version. To my surprise, this time the device seems to be recognised by the kernel, but when it comes to Xorg, it fails to use the correct drivers (note that before, the MatchIstablet section for the 10-evdev.conf assigned it to evdev and it worked just fine).

I notice the device name changed from "Wacom Co.,Ltd. Bamboo Pad, USB" to "Wacom HID Pen", and checking /var/log/Xorg.0.log I found that Xorg could'nt find a suitable driver (in the newer kernel). So I thought: well, evdev works, so I'm going to assign it "the hard way", and added the following lines to 10-evdev.conf:

/usr/share/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
    Identifier "tableta wacom"
    MatchProduct "Wacom HID Pen"
    Driver "evdev"
EndSection  

That did something, as now Xorg tried to apply the evdev driver to my tablet. But the result was this:

/var/log/Xorg.0.log

[    14.409] (II) config/udev: Adding input device Wacom HID Pen (/dev/input    /event7)
[    14.409] (**) Wacom HID Pen: Applying InputClass "tableta wacom"
[    14.409] (II) Using input driver 'evdev' for 'Wacom HID Pen'
[    14.409] (**) Wacom HID Pen: always reports core events                 
[    14.409] (**) evdev: Wacom HID Pen: Device: "/dev/input/event7"
[    14.409] (--) evdev: Wacom HID Pen: Vendor 0x56a Product 0x318
[    14.409] (WW) evdev: Wacom HID Pen: Don't know how to use device
[    14.460] (EE) PreInit returned 8 for "Wacom HID Pen"
[    14.460] (II) UnloadModule: "evdev"
[    14.460] (II) config/udev: Adding input device Wacom HID Pen (/dev/input    /event8)
[    14.460] (**) Wacom HID Pen: Applying InputClass "tableta wacom"
[    14.460] (II) Using input driver 'evdev' for 'Wacom HID Pen'
[    14.460] (**) Wacom HID Pen: always reports core events
[    14.460] (**) evdev: Wacom HID Pen: Device: "/dev/input/event8"
[    14.460] (--) evdev: Wacom HID Pen: Vendor 0x56a Product 0x318
[    14.460] (WW) evdev: Wacom HID Pen: Don't know how to use device
[    14.510] (EE) PreInit returned 8 for "Wacom HID Pen"
[    14.510] (II) config/udev: Adding input device Wacom HID Pen (/dev/input    /event9)
[    14.510] (**) Wacom HID Pen: Applying InputClass "tableta wacom"
[    14.510] (II) Using input driver 'evdev' for 'Wacom HID Pen'
[    14.510] (**) Wacom HID Pen: always reports core events
[    14.510] (**) evdev: Wacom HID Pen: Device: "/dev/input/event9"
[    14.510] (--) evdev: Wacom HID Pen: Vendor 0x56a Product 0x318
[    14.510] (WW) evdev: Wacom HID Pen: Don't know how to use device
[    14.573] (EE) PreInit returned 8 for "Wacom HID Pen"
[    14.573] (II) UnloadModule: "evdev"

So it seems that Xorg doesn't know how to apply the driver. Oddly enough, if I load linux with the older (3.16) kernel, this is the relevant part of the same log file:

[    14.548] (II) config/udev: Adding input device Wacom Co.,Ltd. Bamboo Pad, USB (/dev/input/event4)
[    14.548] (**) Wacom Co.,Ltd. Bamboo Pad, USB: Applying InputClass "evdev tablet catchall"
[    14.548] (II) Using input driver 'evdev' for 'Wacom Co.,Ltd. Bamboo Pad, USB'
[    14.548] (**) Wacom Co.,Ltd. Bamboo Pad, USB: always reports core events
[    14.548] (**) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Device: "/dev/input/event4"
[    14.548] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Vendor 0x56a Product 0x318
[    14.548] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found 1 mouse buttons
[    14.548] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found absolute axes
[    14.548] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found x and y absolute axes
[    14.548] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found absolute tablet.
[    14.548] (II) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Configuring as tablet
[    14.548] (**) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: YAxisMapping: buttons 4 and 5
[    14.548] (**) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    14.548] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.4/2-2.4.3/2-2.4.3:1.1/0003:056A:0318.0006/input/input6/event4"
[    14.548] (II) XINPUT: Adding extended input device "Wacom Co.,Ltd. Bamboo Pad, USB" (type: TABLET, id 11)
[    14.549] (II) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: initialized for absolute axes.
[    14.549] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) keeping acceleration scheme 1
[    14.549] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) acceleration profile 0
[    14.549] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) acceleration factor: 2.000
[    14.549] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) acceleration threshold: 4
[    14.549] (II) config/udev: Adding input device Wacom Co.,Ltd. Bamboo Pad, USB (/dev/input/mouse1)
[    14.549] (II) No input driver specified, ignoring this device.
[    14.549] (II) This device may have been added with another device file.
[    14.549] (II) config/udev: Adding input device Wacom Co.,Ltd. Bamboo Pad, USB (/dev/input/event5)
[    14.549] (**) Wacom Co.,Ltd. Bamboo Pad, USB: Applying InputClass "evdev pointer catchall"
[    14.549] (**) Wacom Co.,Ltd. Bamboo Pad, USB: Applying InputClass "evdev keyboard catchall"
[    14.549] (II) Using input driver 'evdev' for 'Wacom Co.,Ltd. Bamboo Pad, USB'
[    14.549] (**) Wacom Co.,Ltd. Bamboo Pad, USB: always reports core events
[    14.549] (**) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Device: "/dev/input/event5"
[    14.549] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Vendor 0x56a Product 0x318
[    14.549] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found 9 mouse buttons
[    14.549] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found scroll wheel(s)
[    14.549] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found relative axes
[    14.549] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found x and y relative axes
[    14.549] (--) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Found keys
[    14.549] (II) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Configuring as mouse
[    14.549] (II) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Configuring as keyboard
[    14.549] (II) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: Adding scrollwheel support
[    14.549] (**) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: YAxisMapping: buttons 4 and 5
[    14.549] (**) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    14.549] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-2/2-2.4/2-2.4.3/2-2.4.3:1.2/0003:056A:0318.0007/input/input7/event5"
[    14.549] (II) XINPUT: Adding extended input device "Wacom Co.,Ltd. Bamboo Pad, USB" (type: KEYBOARD, id 12)
[    14.549] (**) Option "xkb_rules" "evdev"
[    14.549] (**) Option "xkb_model" "pc104"
[    14.549] (**) Option "xkb_layout" "us"
[    14.550] (II) evdev: Wacom Co.,Ltd. Bamboo Pad, USB: initialized for relative axes.
[    14.550] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) keeping acceleration scheme 1
[    14.550] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) acceleration profile 0
[    14.550] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) acceleration factor: 2.000
[    14.550] (**) Wacom Co.,Ltd. Bamboo Pad, USB: (accel) acceleration threshold: 4
[    14.550] (II) config/udev: Adding input device Wacom Co.,Ltd. Bamboo Pad, USB (/dev/input/mouse2)

So basically I've done little to none progress, but at least the kernel is seeing now the device. What should I do now?

Offline

#3 2014-12-09 23:24:13

setzer22
Member
Registered: 2014-07-26
Posts: 47

Re: [SOLVED] Device not working in Kernel 3.17, but does on 3.16

Good news for all the owners of a Wacom Bamboo Pad! (If there are any big_smile it's not an actually famous device...) I submitted a bug report to the Linux kernel and talked to the maintainer of the usb hid driver.

There has been a huge rework with the Wacom evdev driver and my device ended up being unrecognised. The 3.18 seeing the device but failing to recognise was also because of extra updates to that driver.

The owner of that code told me he'll have a look into it, so I guess it's going to get fixed sometime soon (or later), for the time being I'll just use the old kernel whenever I need to use my tablet.

Thanks for your help! (Note that I'm not being sarcastic, there are no replies here but many nice people helped me on the irc and told me to do a bug report).

Offline

#4 2014-12-11 00:55:33

danym
Member
From: Saint-Hippolyte, Qc
Registered: 2007-05-14
Posts: 75
Website

Re: [SOLVED] Device not working in Kernel 3.17, but does on 3.16

Thank you; i own that tablet and was using kernel-lts, but with your help, things will improve.


sin² x + cos² x = 1

Offline

#5 2014-12-28 07:13:48

niq000
Member
Registered: 2014-12-28
Posts: 8

Re: [SOLVED] Device not working in Kernel 3.17, but does on 3.16

As someone who got a bamboo tablet for Christmas (056a:0319): Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You!

I installed the lts kernel and everything is working like a charm

Offline

Board footer

Powered by FluxBB