• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wacom-Geräte Modul erstellen und installieren

Hallo,

ich hab hier ein Wacom Grafiktablett (Bamboo Pen & Touch), welches leider nicht ohne weiteres betrieben werden kann. Dazu muss ich ein Modul selbst erstellen und dann noch installieren und ganau dies will mir nicht so recht gelingen.
Zur Vorbereitung habe ich mich an diese Anleitung gehalten, die eigentlich mit den Vorbereitungen aus diesem Thread identisch sind.
./configure --enable-wacom , wie im Readme des Paket beschrieben läuft problemlos durch. Das anschliessende "make" wird aber leider mit einem Fehler abgebrochen. Folgendes wird angezeigt:

Code:
Making all in src                                                    
make[1]: Entering directory `/home/th.giese/linuxwacom-0.8.5-10/src' 
Making all in .                                                      
make[2]: Entering directory `/home/th.giese/linuxwacom-0.8.5-10/src' 
make[2]: Für das Ziel »all-am« ist nichts zu tun.                    
make[2]: Leaving directory `/home/th.giese/linuxwacom-0.8.5-10/src'  
Making all in wacomxi                                                
make[2]: Entering directory `/home/th.giese/linuxwacom-0.8.5-10/src/wacomxi'
make[2]: Für das Ziel »all« ist nichts zu tun.                              
make[2]: Leaving directory `/home/th.giese/linuxwacom-0.8.5-10/src/wacomxi' 
Making all in util                                                          
make[2]: Entering directory `/home/th.giese/linuxwacom-0.8.5-10/src/util'   
/bin/sh ../../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../src/include    -Wall -pedantic -I/usr/include/xorg   -g -O2 -MT wacomcfg.lo -MD -MP -MF .deps/wacomcfg.Tpo -c -o wacomcfg.lo wacomcfg.c                               
 gcc -DHAVE_CONFIG_H -I. -I../../src/include -Wall -pedantic -I/usr/include/xorg -g -O2 -MT wacomcfg.lo -MD -MP -MF .deps/wacomcfg.Tpo -c wacomcfg.c  -fPIC -DPIC -o .libs/wacomcfg.o                                                                 
In file included from wacomcfg.c:36:                                                                                       
wacomcfg.h:27:35: error: X11/extensions/XInput.h: Datei oder Verzeichnis nicht gefunden                                    
In file included from wacomcfg.c:36:                                                                                       
wacomcfg.h:60: error: expected specifier-qualifier-list before ‘XDeviceInfo’                                               
wacomcfg.h:67: error: expected specifier-qualifier-list before ‘XDevice’                                                   
wacomcfg.c: In function ‘CfgGetDevs’:                                                                                      
wacomcfg.c:83: error: ‘WACOMCONFIG’ has no member named ‘pDevs’                                                            
wacomcfg.c:83: warning: implicit declaration of function ‘XListInputDevices’                                               
wacomcfg.c:84: error: ‘WACOMCONFIG’ has no member named ‘nDevCnt’                                                          
wacomcfg.c:86: error: ‘WACOMCONFIG’ has no member named ‘pDevs’                                                            
wacomcfg.c: In function ‘WacomConfigInit’:                                                                                 
wacomcfg.c:102: error: ‘INAME’ undeclared (first use in this function)                                                     
wacomcfg.c:102: error: (Each undeclared identifier is reported only once                                                   
wacomcfg.c:102: error: for each function it appears in.)                                                                   
wacomcfg.c: In function ‘WacomConfigListDevices’:                                                                          
wacomcfg.c:136: error: ‘XDeviceInfo’ undeclared (first use in this function)                                               
wacomcfg.c:136: error: ‘info’ undeclared (first use in this function)                                                      
wacomcfg.c:138: warning: ISO C90 forbids mixed declarations and code                                                       
wacomcfg.c:146: error: ‘WACOMCONFIG’ has no member named ‘pDevs’                                                           
wacomcfg.c:160: error: ‘WACOMCONFIG’ has no member named ‘nDevCnt’                                                         
wacomcfg.c:162: error: ‘WACOMCONFIG’ has no member named ‘pDevs’                                                           
wacomcfg.c:166: error: ‘IsXExtensionDevice’ undeclared (first use in this function)                                        
wacomcfg.c:166: error: ‘IsXExtensionPointer’ undeclared (first use in this function)                                       
wacomcfg.c:167: error: ‘IsXExtensionKeyboard’ undeclared (first use in this function)                                      
wacomcfg.c:186: error: ‘WACOMCONFIG’ has no member named ‘nDevCnt’                                                         
wacomcfg.c:188: error: ‘WACOMCONFIG’ has no member named ‘pDevs’                                                           
wacomcfg.c: In function ‘WacomConfigOpenDevice’:                                                                           
wacomcfg.c:295: error: ‘XDevice’ undeclared (first use in this function)                                                   
wacomcfg.c:295: error: ‘pDev’ undeclared (first use in this function)                                                      
wacomcfg.c:296: error: ‘XDeviceInfo’ undeclared (first use in this function)                                               
wacomcfg.c:296: error: ‘pDevInfo’ undeclared (first use in this function)                                                  
wacomcfg.c:296: error: ‘info’ undeclared (first use in this function)                                                      
wacomcfg.c:296: warning: left-hand operand of comma expression has no effect                                               
wacomcfg.c:297: warning: ISO C90 forbids mixed declarations and code                                                       
wacomcfg.c:303: error: ‘WACOMCONFIG’ has no member named ‘pDevs’                                                           
wacomcfg.c:307: error: ‘WACOMCONFIG’ has no member named ‘nDevCnt’                                                         
wacomcfg.c:309: error: ‘WACOMCONFIG’ has no member named ‘pDevs’                                                           
wacomcfg.c:333: warning: implicit declaration of function ‘XOpenDevice’                                                    
wacomcfg.c:345: error: ‘WACOMDEVICE’ has no member named ‘pDev’                                                            
wacomcfg.c: In function ‘WacomConfigCloseDevice’:                                                                          
wacomcfg.c:354: error: ‘WACOMDEVICE’ has no member named ‘pDev’                                                            
wacomcfg.c:355: error: ‘WACOMDEVICE’ has no member named ‘pDev’                                                            
wacomcfg.c: In function ‘WacomConfigSetRawParam’:                                                                          
wacomcfg.c:364: error: ‘XDeviceResolutionControl’ undeclared (first use in this function)                                  
wacomcfg.c:364: error: expected ‘;’ before ‘c’                                                                             
wacomcfg.c:365: error: ‘XDeviceControl’ undeclared (first use in this function)                                            
wacomcfg.c:365: error: ‘dc’ undeclared (first use in this function)
wacomcfg.c:365: error: expected expression before ‘)’ token
wacomcfg.c:365: error: ‘c’ undeclared (first use in this function)
wacomcfg.c:371: error: ‘DEVICE_RESOLUTION’ undeclared (first use in this function)
wacomcfg.c:377: warning: implicit declaration of function ‘XChangeDeviceControl’
wacomcfg.c:377: error: ‘WACOMDEVICE’ has no member named ‘pDev’
wacomcfg.c:391: error: ‘WACOMDEVICE’ has no member named ‘pDev’
wacomcfg.c:403: warning: implicit declaration of function ‘XSetDeviceMode’
wacomcfg.c:403: error: ‘WACOMDEVICE’ has no member named ‘pDev’
wacomcfg.c: In function ‘WacomConfigGetRawParam’:
wacomcfg.c:411: error: ‘XDeviceResolutionControl’ undeclared (first use in this function)
wacomcfg.c:411: error: expected ‘;’ before ‘c’
wacomcfg.c:412: error: ‘XDeviceResolutionState’ undeclared (first use in this function)
wacomcfg.c:412: error: ‘ds’ undeclared (first use in this function)
wacomcfg.c:413: warning: ISO C90 forbids mixed declarations and code
wacomcfg.c:419: error: ‘c’ undeclared (first use in this function)
wacomcfg.c:419: error: ‘DEVICE_RESOLUTION’ undeclared (first use in this function)
wacomcfg.c:425: error: ‘WACOMDEVICE’ has no member named ‘pDev’
wacomcfg.c:426: error: ‘XDeviceControl’ undeclared (first use in this function)
wacomcfg.c:426: error: expected expression before ‘)’ token
wacomcfg.c:434: error: expected expression before ‘)’ token
wacomcfg.c:450: error: ‘WACOMDEVICE’ has no member named ‘pDev’
wacomcfg.c:451: error: expected expression before ‘)’ token
wacomcfg.c:459: error: expected expression before ‘)’ token
wacomcfg.c:471: error: ‘WACOMDEVICE’ has no member named ‘pDev’
wacomcfg.c:472: error: expected expression before ‘)’ token
wacomcfg.c:474: warning: implicit declaration of function ‘XFreeDeviceControl’
wacomcfg.c:474: error: expected expression before ‘)’ token
make[2]: *** [wacomcfg.lo] Fehler 1
make[2]: Leaving directory `/home/th.giese/linuxwacom-0.8.5-10/src/util'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/th.giese/linuxwacom-0.8.5-10/src'
make: *** [all-recursive] Fehler 1
Sagen tut mir dies leider erstmal gar nix :irre:
Auf meinem Rechner ist Opensuse 11.2 installiert mit aktuellem Kernel und passenden Sourcen installiert. Der aktuelle Linux-Wacom-Treiber liegt als aktuelle Entwickerversion vor, die Stable kennt mein Tablett leider noch nicht. Wo könnte das noch klemmen. Ich bin nun wohl nur noch wengige cm davon entfernt endlich mein Grafiktablet unter Linux zu nutzen...
 

lOtz1009

Moderator
Teammitglied
Schwirrte mir doch heute schonmal per Mail ins Haus:
http://lists.opensuse.org/opensuse-de/2010-02/msg00693.html
 
lOtz1009 schrieb:
Schwirrte mir doch heute schonmal per Mail ins Haus:
http://lists.opensuse.org/opensuse-de/2010-02/msg00693.html

Netter Versuch, aber der Listenentrag stammt auch von mir :roll: ;)
Ich glaube aber, dass ich mit den dortigen Tipps langsam mein Ziel erreiche. Falls hier aber dennoch jemand einen Tipp parät hätte, nur her damit....
 

lOtz1009

Moderator
Teammitglied
Das war mir schon klar.
Nur bevor hier alles doppelt durchgekaut wird...

Nächstes Mal so Sachen bitte selbst verlinken. Das macht es für alle einfacher ;)
http://www.linux-club.de/viewtopic.php?f=38&t=76935
 
Hallo,

nach einigem Hickhack ist es mir nun endlich gelungen aus den aktuellen EntwicklerSourcen von Linuxwacom 0.8.5-10 ein Modul zu erstellen. Wenn ich nun versuche mittels
Code:
insmode wacom.ko
das Modul zu laden, erhalte ich folgende Meldung:
Code:
insmod: error inserting 'wacom.ko': -1 Invalid module format

Was ist da denn passiert?
 
A

Anonymous

Gast
Hi, ich zitiere mal die man-Page von insmod:
insmod is a trivial program to insert a module into the kernel: if the filename is a hyphen,
the module is taken from standard input. Most users will want to use modprobe(8) instead,
which is more clever.

Probiere doch mal
Code:
modprobe wacom.ko
Vllt. geht's so?
 
Hallo,

ich habe ein OpenSuse 11.2 (64 Bit mit dem 'normalen Kernel' 2.6.31.12-0.1-desktop) und verwende ein Wacom-Bamboo (CTL-460, ID=0xD4) und hatte auch ziemlich viel Arbeit bis alles lief, ebenfalls mit dem Wacom 0.8.5-10. Dieser Treiber unterstützt zwar nur bis Kernel 2.6.27 (siehe Dateien unter src) aber das was dort erzeugt wurde, läuft bei mir auch mit dem 2.6.31.

Ich habe auch zunächst den 0.8.4-4 versucht, aber der unterstützt das Bamboo (0xD4) nicht. Man kann das an den Definitionen in der Datei src/xdrv/wcmUSB.c ablesen. Übrigens: mein Bamboo wird von meinem System als "CTL-460" gemeldet, aber beim 0.8.5-10 Treiber steht im Kommentar ein "CTH-461" drin. Ich vermute, das ist ein Tippfehler.

Bei dem "./configure --enable-wacom" muss man genau auf die Ausgaben achten, bei mir fehlte schliesslich noch das "xorg-server-sdk", erst dann war beim "wacom.o - yes" gestanden. Mit dem "make" hatte ich auch einige Probleme, weil bei Suse offenbar einige Dateien woanders liegen als sonst (das betrifft "version.h", "autoconf.h" und "utsrelease.h", außerdem noch modpost).

Der make behauptet, meine Kernel-Sourcen liegen in "/lib/modules/2.6.31.12-0.1-desktop/source", aber dahinter steht ein symbolischer Link in Richtung "/usr/src/linux-2.6.31.12-0.1/.....". Die o.g. Dateien stehen aber in "/usr/src/linux-2.6.31.12-0.1-obj/x86_64/desktop/include/linux". Ich habe dann alle Dateien die der "make" angemeckert hat in den normalen Zweig kopiert (also /usr/src/linux-2.6.31.12-0.1/.... - ohne 'opt') und damit lief der Make durch.

Unter src/2.6.27 gibt es jetzt auch tatsächlich ein "wacom.ko" - damit habe ich den "alten" Treiber (der von Suse mitgebracht wurde, ich glaube es war eine 0.8.1) ersetzt: (/lib/modules/2.6.31.12-0.1-desktop/kernel/drivers/input/tablet/wacom.ko). Dazu noch eine Anmerkung: wenn ihr ein Backup vom alten wacom.ko macht, dann nicht in dieses eben genannte Verzeichnis, weil da sonst zwei gültige Treiber liegen würden (der Dateiname ist dem System egal).

Nun ein "modprobe wacom" und alles passt. Wichtig ist bei der Ausgabe (/var/log/messages) dass eine neue Version angezeigt wird, bei mir ist es dann 1.52.

Erfolgshinweis: wenn man nun "modinfo wacom" macht, dann taucht in dr ganzen Liste auch ein alias mit 0x00D4 auf, also weiter. Ich habe dann "wacdump" versucht, da kamen aber keine Daten - erst als ich Wacdump unter einer Text-Shell ausgeführt haben ging das. In einem X11-Fenster klappt das scheinbar nicht. Unter /dev/input gibts nun auch zwei Geräte wacom->event9 und wacom-touch->event10. Soweit so gut, aber das Tablett geht trotzdem nicht.

Ich habe dann alles mögliche mit xorg.conf und den Rules (/etc/X11/10-local.rules) ausprobiert, aber auf meinem System gibt es nicht mal eine xorg.conf. Um es kurz zu machen: es geht auch ohne die beiden Dateien. Offenbar ist an dem ganzen Kram noch ein "wacom_drv.so" beteiligt, dieser wird wohl per "make install" installiert und seitdem funktioniert das Tablett. Ich habe zuerst versucht, diesen "wacom_drv.so" einfach zu kopieren, dabei war dann aber X11 beleidigt (er hat einfach die Session beendet), nach dem "make install" ging es.

Im Gimp habe ich dann noch sämtliche Eingabegeräte die das Wacom bereitstellt auf "Bildschirm" gestellt und nun kann man damit gut arbeiten, drucksensitiv etc.

Der einzige Wermuthstropfen ist, dass ich das Tablett bei jedem Neustart per "modprobe wacom" erst mal 'anschubsen' muss. Weder eine xorg.conf oder irgendwelche Rules haben da was bewirkt. Ich vermute, daß ich irgendwie einen passenden Eintrag unter /etc/modprobe.d/ erstellen muß - wenn da jemand helfen kann wär's toll.

matthias
 
@marvin 38: Ich hab mich seinerzeit slavisch an folgende Installationsanleitung gehalten: http://wiki.gimpforum.de/wiki/Wacom_Linux_Installation
Aber Dein Problem deutet wirklich darauf hin das der modprobe Eintrag noch fehlt. Setz doch mal folgende Zeile ans Ende der /etc/modprobe.conf.local:
Code:
modprobe wacom
Sollte eigentlich funktionieren um das Teil jedes Mal mit hochzuladen.

Viel Erfolg

Wiebke
 
wiebkes schrieb:
Sollte eigentlich funktionieren um das Teil jedes Mal mit hochzuladen.
So funktioniert es nicht: http://www.linux-club.de/viewtopic.php?f=27&t=105516&p=650636&#p650636

P.S. Ab 11.2 heißt /etc/modprobe.conf.local /etc/modprobe.d/99-local.conf.
 
Wieder was gelernt (ob ich mich jetzt freuen sollte, dass ich noch nicht auf 11.2 hoch bin weiß ich noch nicht :) )

Wiebke
 
Dass es sich um die Datei "/etc/modprobe.d/99-local.conf" handelt, habe ich auch gefunden, es klappt aber nicht. Ich habe folgende Einträge probiert

modprobe wacom ; tut nichts
wacom ; tut auch nichts
install wacom ; dto
install wacom /bin/true ; wieder nichts

Josef: Ich habe mir auch den Artikel über die Technisat-Karte durchgelesen - ich hatte die Karte neulich von einem Kollegen ausgeliehen, weil ich mal HD testen wollte - und diese lief bei mir leidlich. Aber das Wacom ist ein USB Gerät, das steckt nicht notwendigerweise immer im USB, also eigentlich kann ich den Modprobe erst machen, wenn der ganze HAL und udev hochgefahren ist.

Ich habe auch mal versucht, das Tablett erst dann einzustecken, wenn der Rechner schon oben ist: naja, laut syslog kommt:

Code:
Mar  3 10:45:30 shan kernel: [   68.332044] usb 2-4: New USB device found, idVendor=056a, idProduct=00d4
Mar  3 10:45:30 shan kernel: [   68.332053] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar  3 10:45:30 shan kernel: [   68.332058] usb 2-4: Product: CTL-460
Mar  3 10:45:30 shan kernel: [   68.332061] usb 2-4: Manufacturer: Wacom Co.,Ltd.
Mar  3 10:45:30 shan kernel: [   68.332200] usb 2-4: configuration #1 chosen from 1 choice

und wenn ich nun manuell 'modprobe wacom' starte

Mar  3 10:46:06 shan kernel: [  104.807894] input: Wacom Bamboo Pen 4x5 Pen0 as /devices/pci0000:00/0000:00:0b.0/usb2/2-4/2-4:1.0/input/input9
Mar  3 10:46:06 shan kernel: [  104.847144] input: Wacom Bamboo Pen 4x51 as /devices/pci0000:00/0000:00:0b.0/usb2/2-4/2-4:1.1/input/input10
Mar  3 10:46:06 shan kernel: [  104.866126] usbcore: registered new interface driver wacom
Mar  3 10:46:06 shan kernel: [  104.866135] wacom: v1.52-pc-0.3:USB Wacom tablet driver

PS: das 11.2 ist schon gewöhnungsbedürftig (KDE4 ist echt 'ne Nummer für sich, wie der Desktop funktionieren soll, habe ich immer noch nicht verstanden) aber deutlich stabiler (in Punkto USB Geräte - mir ist bei der 11.0 immer wieder der SD-Kartenleser bzw. die digitale Kamera abgestürzt) und ich bilde mir ein, auch ein wenig schneller als die 11.0

Ich versuche mal, ob man unter /etc/init.d noch irgendwas drehen kann, aber einen konkreten Plan habe ich nicht.

matthias
 
boot.local sollte eigentlich spät genug sein, sodaß der Weg über ein Init-Skript (http://www.linupedia.org/opensuse/Runlevel_scripte_-_Scripts_selbst_erstellen) nicht notwendig ist. Wenn allerdings das Modul erst nach dem Einstecken gestartet werden darf, wirst Du Dich mit den udev-Regeln befassen müssen.
 
Oben