wacom bamboo pen and touch in debian squeeze

Share your own howto's etc. Not for support questions!

wacom bamboo pen and touch in debian squeeze

Postby yorik » 2010-04-22 18:01

This article explains how to install a wacom bamboo pen and touch (model CTH 450) under debian squeeze, which, at the time I'm writing this, has xserver version 1.7. I had a bit of trouble&search to make it work so I though it best to share in case someone else needs.

The basic problem is that the bamboo pen and touch (as well as several other "new" bamboos) is not yet supported by the xserver-xorg-input-wacom driver from debian repository (0.10.3 at this time), neither by the kernel (2.6.32-3). So you must compile the newest versions of these drivers yourself, but you'll need to apply a patch because some sources are not ready for Xserver 1.7. You'll need the usual packages needed for compiling, ie build-essentials, patch, and the headers for your kernel. I'll assume you already compiled programs yourself.

If you are trying this long time after I wrote, try installing xserver-xorg-input-wacom first (specially if version is higher than 0.10.3), and see if it works. If not, go ahead.

Basically all the info here was gathered from these posts. which might help you too:
http://forums.linuxmint.com/viewtopic.php?f=49&t=39042
http://ubuntuforums.org/showpost.php?p= ... ostcount=1
http://wiki.archlinux.org/index.php/Wac ... Xorg_setup

Making your tablet work implies the following steps, in order:
1) the kernel, through its wacom module, must recognize your tablet
How to check:
Code: Select all
dmesg | grep input:

Plug your tablet, issue the code above, and look if your Wacom device appears in the list. If yes, it was recognized
2) it must be picked by udev, which will create one or more symlinks for it in /dev/input/
How to check:
Code: Select all
cd /dev/input
sudo cat event0

Move your pen on the tablet, see if some garbage gets written. Type CTRL+C to cancel. Repeat with all the contents of the folder (event1, event2, etc) until you find one that "responds" to your pen movements.
3) udev must call the correct x driver
How to check:
Code: Select all
cat /var/log/X.0.log | grep wacom


The wacom driver originally comes from one big package called linuxwacom, which is still actively maintained, and contains everything needed to make wacom devices work, that is, the kernel module and the X driver. But nowadays, most distributions use a fork of the linuxwacom, called xf86-input-wacom, which is only the X driver. Both are available for download here:
http://sourceforge.net/projects/linuxwacom/files/
As recommended in several posts, I picked the latest linuxwacom (0.8.6) and the latest x driver (0.10.5). We'll need to build both, but we will only install the x driver. From the linuxwacom we'll only pick the kernel module (but for that we'll need to compile anyway)

1) compiling linuxwacom

Unfortunately the linuxwacom0.8.6 is still not yet ready for xserver1.7, which changed several things. So you need to apply a patch. This is the patch I used, which I grabbed on the ubuntu forum post above, and adapted for 0.8.6: http://yorik.uncreated.net/scripts/patch-linuxwacom-0.8.6-xserver1.7.patch. Apply the patch by copying it where you unzipped linuxwacom, and do
Code: Select all
patch -p1 < patch-linuxwacom-0.8.6-xserver1.7.patch

If the patch didn't work, you must either find another one around either modify this one, or change the files manually. Normally the patch program will try to use everything it can from this patch and leave what couldn't be patched in a smaller file, easy to apply by hand.
Then compile normally:
Code: Select all
./configure --enable-wacom --prefix=/usr
make

This will compile the whole linuxwacom including its utilities and X driver. Now what we need is only the kernel driver, which is located in src/2.6.30. It wasn't built together with the rest, so we need to do "make" here again. Here I encountered this error:
Code: Select all
  ERROR: Kernel configuration is invalid.
         include/linux/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it

Which is because in debian the kernel headers are separated between common and your architecture (i386, amd64). I simply edited the Makefile, and changed the line:
Code: Select all
WCM_KERNEL_DIR := /lib/modules/2.6.32-3-amd64/source

with:
Code: Select all
WCM_KERNEL_DIR := /usr/src/linux-headers-2.6.32-3-amd64

which indeed contains a include/linux/autoconf.h file. Editing makefiles is usually not recommended becuase there are many, but in this case there is only one .c file to compile so no big sweat.
If all runs well, you'll receive a nice wacom.ko file which is your kernel module. To install, you must copy it to your kernel module path and run depmod.
On my system, the current kernel is 2.6.32-3, so the module path is:
Code: Select all
/lib/modules/2.6.32-3-amd64/kernel/drivers/input/tablet/

It already contains a wacom.ko file, which I renamed to wacom.ko.old just in case something went wrong, and copied my new wacom.ko there. Then run:
Code: Select all
depmod -a

To have it known by the kernel. If you reboot now and look at your dmesg, you should see your tablet mentioned.

2) compiling the X driver

This was much easier, just go to the directory where you unpacked the file, and run
./autogen.sh
./configure --prefix=/usr
make
If all went well , you can do a 'make install', or, better, use checkinstall, so it will create a .deb package that you can remove easily. Call it xserver-xorg-input-wacom, with the version number you got, so when the debian official driver will reach that number, it will take its place.

3) the udev rule

From xserver1.7, automatic device configuration is not made with HAL anymore, but with udev. So we need an udev rule that will be triggered by the connection of our tablet and call the wacom X driver. I took the latest rule that the debian maintainer of the wacom driver has made:
http://git.debian.org/?p=users/ron/waco ... wacom.udev
By checking the tablet model number with lsusb, (001d) I saw that that model is not included in the udev rule, but it's not really a problem, that lot of rules (one for each model) is for convenience only, and not required to make things work.
All you need to do is to copy that rule to /etc/udev/rules.d, and give it a number. In the official debian package it has nr 69, so you can call yours 69-xserver-xorg-input-wacom.rule too. Now restart (or restart udev with sudo /etc/init.d/udev restart) and a new "wacom" link should appear in /dev/input/ (and a wacom-touch if your tablet has touch too).
Everything you need to do then is to restart your X server.
I had a problem, however, my X didn't load the wacom driver (no error appearing in /var/log/X.0.log, it simply didn't load at all). After looking around and testing, I added this line to my udev rule:
Code: Select all
ACTION=="add|change", SUBSYSTEM=="input", ATTRS{idVendor}=="056a", ENV{x11_driver}="wacom"

After restarting, everything worked fine.

One last small thing, the "interaction" between the touchpad and the tablet is sometimes annoying, so I wanted a way to turn the touchpad off if needed. So I bound this line to a keyboard shortcut:
Code: Select all
xsetwacom --set "Wacom BambooFun 2FG 4x5 Finger" touch off

xsetwacom can give you a list of all devices so you know which one to use in the command above.
yorik
 
Posts: 4
Joined: 2010-03-08 23:38

Re: wacom bamboo pen and touch in debian squeeze

Postby joachimf » 2010-08-23 10:55

Hi yorik,

your post was very helpful for me. There are, however, some additional hints and some things have changed since then.

You also need the xserver header files, package xorg-dev .

Another method to check is:
Code: Select all
less /proc/bus/input/devices

If it says, e. g.
I: Bus=0003 Vendor=056a Product=00d1 Version=0106
N: Name="Wacom BambooFun 2FG 4x5 Pen"
P: Phys=
S: Sysfs=/devices/pci0000:00/0000:00:04.0/usb4/4-2/4-2:1.0/input/input4
U: Uniq=
H: Handlers=mouse0 event4
B: EV=b
B: KEY=1c03 0 0 0 0 0 0 0 0 0 0
B: ABS=100 1000003

I: Bus=0003 Vendor=056a Product=00d1 Version=0106
N: Name="Wacom BambooFun 2FG 4x5 Finger"
P: Phys=
S: Sysfs=/devices/pci0000:00/0000:00:04.0/usb4/4-2/4-2:1.1/input/input5
U: Uniq=
H: Handlers=mouse1 event5
B: EV=1b
B: KEY=6420 0 f 0 0 0 0 0 0 0 0
B: ABS=100 100001b
B: MSC=1

I know that I can do
Code: Select all
cat /dev/input/event4
cat /dev/input/event5

as the next step.

I am using linuxwacom-0.8.8-8 and xf86-input-wacom-0.10.8, wacom bamboo model CTH-460.

There is no need to patch any more, just
Code: Select all
./configure --enable-wacom --prefix=/usr

It then says it will only compile the kernel module, not the X driver. That is what we want so do
Code: Select all
make

copy the wacom.ko file as you described and run
Code: Select all
depmod -a
.
The second "make" is no longer necessary.

Compiling the X driver is still as you described, only "autogen" is no longer necessary. I agree that it makes sense to use checkinstall.

Also, I didn't have to copy the udev rule any more, it just worked when I plugged it in.

BTW: The graphical tool "wacomcpl" seems to be gone in the recent versions. Does anybody know about it?

Have fun!
joachimf
 
Posts: 1
Joined: 2010-08-23 09:32

Re: wacom bamboo pen and touch in debian squeeze

Postby miscelaizer » 2010-12-07 17:25

Hi boys, thanks for your useful guides. I'm still trying to get my tablet working, so I would appreciate any help.
My tablet is a Wacom Bamboo Pen and Touch, the model is CTH-460.
My Linux distro is a Squeeze, kernel version: 2.6.32-5-686.
I've installed with aptitude the package xserver-xorg-input-wacom: 0.10.5

This is whay I've obtained by following the instructions:

After connecting the tablet, dmesg said
Code: Select all
[29931.156051] usb 6-1: new full speed USB device using uhci_hcd and address 4
[29931.322103] usb 6-1: New USB device found, idVendor=056a, idProduct=00d1
[29931.322109] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[29931.322113] usb 6-1: Product: CTH-460
[29931.322116] usb 6-1: Manufacturer: Wacom Co.,Ltd.
[29931.322254] usb 6-1: configuration #1 chosen from 1 choice


Then, I tried with less /proc/bus/input/devices, but no tablet appear in the list.
What can I do? Thank to all.

M.
miscelaizer
 
Posts: 1
Joined: 2010-12-07 17:10

Re: wacom bamboo pen and touch in debian squeeze

Postby Hadret » 2010-12-07 23:53

Some instructions about getting it to work with kernel 2.6.36+: http://tumblr.fchabik.com/post/17289867 ... 6-36-patch
#404378
User avatar
Hadret
 
Posts: 354
Joined: 2007-07-19 13:04
Location: Wroclaw, Poland

Re: wacom bamboo pen and touch in debian squeeze

Postby DebbleTrebble » 2011-01-27 19:11

Hadret,

Thanks man I just got a Bamboo Pen and Touch as well and was getting close but that guide you posted got my over the hump. I wonder if anybody is having issues with the intuos models?
Jared K.
Freelance Programmer
Debian Resources: http://www.debian-resources.org/scanpst/node/10
User avatar
DebbleTrebble
 
Posts: 2
Joined: 2011-01-27 18:56
Location: Durango, CO


Return to Docs, Howtos, Tips & Tricks

Who is online

Users browsing this forum: No registered users and 1 guest

fashionable