Sicherheitskritisch

Tech project blog of Bastian Raschke

Wacom Intuos CTL-480 Treiber für Debian 7 Wheezy nutzen

Written by Bastian Raschke.
Published 2014-10-22 in the category Debian Linux.

Für das neue Semester brauchte ich speziell für ein Fach ein Zeichentablett, dass ich zum Annotieren von PDF-Dateien nutzen wollte. Nils hatte bereits gute Erfahrung mit seinem Wacom Bamboo Pen & Touch (dritte Generation) gemacht und auch das Wacom Bamboo-Tablett meiner Schwester (zweite Generation) läuft unter Debian 7 (Wheezy) einwandfrei und out-of-the-box.

Da beide Generationen jedoch nicht mehr erhältlich sind (bzw. nur für astronomische Preise bei irgendwelchen dubiosen Anbietern) sah ich mich nach dem aktuellen Markt um: Die neue Reihe von Wacom heißt „Intuos“ und soll nach einiger Recherche große Probleme mit diversen Linux-Distributionen bereiten. Ich bestellte das Tablett trotzdem und dachte mir, dass es aktuell schon unterstützt werden könnte, da die erwähnten Rechercheergebnisse schon teilweise aus dem letzten Jahr waren. Doch weit gefehlt.

Als das Tablett dann da war und nicht out-of-the-box funktionierte, versuchte ich diese Anleitung umzusetzen. Auch wenn die Anleitung für Ubuntu gedacht war, versuchte ich mein Glück. Doch ohne Erfolg: Wie immer vor dem Kompilieren fremder Projekte ist eine gewisse Angst da, auftretenden Fehlern machtlos gegenüberzustehen, da man den fremden Code ja eh nicht versteht. Und natürlich kam es zu diesem schönen Fehler:

Making all in 2.6.38
make[2]: Entering directory `/home/bastian/Desktop/input-wacom-0.23.0/2.6.38'
    Building input-wacom drivers for 2.6 kernel.
make -C /lib/modules/3.2.0-4-amd64/build M=/home/bastian/Desktop/input-wacom-0.23.0/2.6.38
make[3]: Entering directory `/usr/src/linux-headers-3.2.0-4-amd64'
  LD      /home/bastian/Desktop/input-wacom-0.23.0/2.6.38/built-in.o
  CC [M]  /home/bastian/Desktop/input-wacom-0.23.0/2.6.38/wacom_wac.o
/home/bastian/Desktop/input-wacom-0.23.0/2.6.38/wacom_wac.c:2309:1: error: expected , or ; before static
/home/bastian/Desktop/input-wacom-0.23.0/2.6.38/wacom_wac.c:2539:1: error: wacom_features_0x5000 undeclared here (not in a function)
make[6]: *** [/home/bastian/Desktop/input-wacom-0.23.0/2.6.38/wacom_wac.o] Error 1
make[5]: *** [_module_/home/bastian/Desktop/input-wacom-0.23.0/2.6.38] Error 2
make[4]: *** [sub-make] Error 2
make[3]: *** [all] Error 2
make[3]: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/bastian/Desktop/input-wacom-0.23.0/2.6.38'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bastian/Desktop/input-wacom-0.23.0'
make: *** [all] Error 2

Ich dachte geil, habe einiges recherchiert und kam zu keiner gescheiten Lösung, was ich falsch mache.

Und um es nun kurz und schmerzlos zu sagen: Ich habe mir die betreffende Datei mal angesehen und in den umliegenden Fehlerzeilen rumgestöbert. Und da ist mir aufgefallen, dass wohl ein gemeiner Syntaxfehler den Kompilierungsvorgang auf Debian 7 verhindert (in meiner verwendeten Version 0.23.0):

In der Datei ./2.6.38/wacom_wac.c in Zeile 2308 fehlt ein Semikolon:

- 0, MTTPC_B, WACOM_INTUOS_RES, WACOM_INTUOS_RES }
+ 0, MTTPC_B, WACOM_INTUOS_RES, WACOM_INTUOS_RES };

Auf Xubuntu 14.04 LTS funktioniert der Kompilierungsvorgang, da dort aufgrund eines anderen Kernels nicht die fehlerbehaftete Datei angefasst wird. Ich frage mich trotzdem, warum dies keinem aufgefallen ist.

Treiber für Debian 7 Wheezy einrichten

Im Folgenden nun die Anleitung von mir, wie man das Tablett trotzdem auf Debian 7 nutzen kann.

Manuelle Kompilierung

Zunächst wird der korrigierte Treiber heruntergeladen: input-wacom-0.23.0-fixed.tar.gz
(SHA-256: 78c17d598328ca9fef489368db6364eaf32e458ca4a97870324223ffb588b2f2 und GPG-Signatur)

Daraufhin wird die Datei entpackt und es wird in das Verzeichnis gewechselt:

~$ tar xjvf input-wacom-0.23.0-fixed.tar.gz
~$ cd ./input-wacom-0.23.0/

Dann wird der Kompilierungsvorgang gestartet:

~$ ./configure

Dieser sollte nun nicht mehr mit der obigen Fehlermeldung beendet werden. Schließlich wird nun das alte Wacom-Kernel-Modul gesichert und dann durch das Neue ersetzt:

~# cp /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/wacom.ko.bak
~# cp ./2.6.38/wacom.ko /lib/modules/`uname -r`/kernel/drivers/input/tablet/

Dann müssen noch die Modul-Abhängigkeiten neu gelöst werden:

~# depmod -a

Und nach einem Neustart sollte das Tablett korrekt funktionieren.


Tags: Debian

Proudly generated with Pelican - without PHP, Perl, MySQL & Co. Jump to top