Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

wacom bamboo pen and touch in debian squeeze

Share your HowTo, Documentation, Tips and Tricks. Not for support questions!.
Post Reply
Message
Author
yorik
Posts: 4
Joined: 2010-03-08 23:38

wacom bamboo pen and touch in debian squeeze

#1 Post by yorik »

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/patc ... r1.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.

joachimf
Posts: 1
Joined: 2010-08-23 09:32

Re: wacom bamboo pen and touch in debian squeeze

#2 Post by joachimf »

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!

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

Re: wacom bamboo pen and touch in debian squeeze

#3 Post by miscelaizer »

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.

User avatar
Hadret
Posts: 354
Joined: 2007-07-19 13:04
Location: Berlin

Re: wacom bamboo pen and touch in debian squeeze

#4 Post by Hadret »

Some instructions about getting it to work with kernel 2.6.36+: http://tumblr.fchabik.com/post/17289867 ... 6-36-patch

User avatar
DebbleTrebble
Posts: 2
Joined: 2011-01-27 18:56
Location: Durango, CO

Re: wacom bamboo pen and touch in debian squeeze

#5 Post by DebbleTrebble »

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

Post Reply