USB-Kartenleser cyberjack-ecom unter Kernel 2.6.x
Für den USB-Kartenleser von Reiner SCT, den cyberjack-ecom mit Display und Tastatur, benötigt man einen zusätzlichen Treiber.
Das Problem
Ausgangssystem war eine SuSE 9.1 mit Kernel 2.6.5-7.95. Mein alter Kobil-Kartenleser (seriell+PS2) wollte nicht mehr und so bekam ich einen USB-Kartenleser von Reiner SCT, den cyberjack-ecom mit Display und Tastatur, zum Testen.
Also eine Konsole geöffnet, tail -f /var/log/messages
eingetippt und den cyberjack angeschlossen: Aha, der cyberjack wurde erkannt (Treiber Ver.1.0.0), na super.
Moneyplex gestartet,
, und den Treiber unter .../moneyplex/ctapi angewählt. HBCI-Karte eingesteckt, auf Test geklickt und der cyberjack wurde erkannt (hurra), zweiter Versuch, kein Kartenleser gefunden (?). Um es kurz zu machen, der cyberjack lässt sich nach dem Anstecken nur einmal ansprechen ;-(.Na gut, wir sind ja nicht bei beim OS vom Marktführer, also kann man sich ja helfen. Erste Einsicht: Ich bin nicht alleine mit diesem Problem! Erstmal mit den üblichen Verdächtigen experimentiert, dem SuSE-Hotplug-Mechanismus, aber das war es nicht.
Jetzt bei Google unter
mal nach »2.6« und »cyberjack« gesucht. Aha, cyberjack ging mal mit Kernel 2.6.2 und jetzt nicht mehr, aber man arbeitet daran. Ebenfalls siehe die FAQ der Fa. Matrica zum Thema USB-Kartenleser unter Kernel 2.6.Also E-Mail an die Firma Reiner SCT mit Anfrage zum Stand der Dinge. Einen Tag später eine freundliche Antwort mit angehängten Patch für die 2.6-Kernel (an dieser Stelle ein Dankeschön an den Support von Reiner SCT).
Der Inhalt inklusive Readme etc.:
- cyberjack-1.01-2.6.4.patch für Kernel 2.6.3 bis 2.6.7-rc2
- cyberjack-1.01-2.6.7.patch für Kernel 2.6.7
- cyberjack-dontoops-rmmod-2.6.7.patch für Kernel 2.6.7, wenn man den Treiber mit rmmod entfernen will
Die Lösung
Mein letzter Kernelbau war noch zu den Zeiten, als man den PC dann 16 Stunden nicht benutzen konnte, also wieder Neuland.
- Mit YaST Kernel-Quellen installiert, Paket kernel-source
- Ich habe jetzt als root weitergemacht, war einfacher
- wichtige Lektüre: »Konfigurieren, Compilieren und Installieren eines Kernels 2.6 unter SuSE® Linux«, Autor und Copyright: Thomas Hertweck: http://www.thomashertweck.de/kernel26.html
- In der root-Konsole ins Verzeichnis der Kernelquellen wechseln:
cd /usr/src/linux
(ist ein Link auf /usr/src/linux-2.6.5-7.95) - Kontrolle, ob man richtig in /usr/src/linux-2.6.5-7.95 ist (die Zahl nach 2.6.5 kann nach einem Kernelupdate mit YaST auch anders sein) und den Patch hierher kopieren
- Wenn bei den folgenden Arbeiten etwas schiefgeht, steht man beim Booten im Dunkeln, also vorbeugen! Nicht den laufenden Kernel ändern, sondern eine Kopie anfertigen. Das Makefile im Verzeichnis /usr/src/linux-2.6.5-7.95 mit einem Editor öffnen, die Zeile
EXTRAVERSION
auskommentieren undEXTRAVERSION
mit eigener Info versehen, hier z.B. mit -reiner_patch:Damit heißt unser neuer Kernel dann 2.6.5-reiner_patch und wir können ihn parallel zum alten Kernel installieren.VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 5 #EXTRAVERSION = -$(shell echo $(CONFIG_RELEASE)-$(CONFIG_CFGNAME)) EXTRAVERSION =-reiner_patch
- trocken ( --dry-run ) den Patch testen:
patch -p1 --dry-run < cyberjack-1.01-2.6.4.patch
- Wenn
patch
keine Fehler meldet, dann richtig patchen:patch -p1 < cyberjack-1.01-2.6.4.patch
- Mit z.B. xconfig noch andere Anpassungen vornehmen, z.B. alte CDROM-Treiber oder Amateurfunk raus (aber nur Sachen ändern, die man kennt!):
Ob xconfig, gconfig oder anderes, ist Geschmackssache!
make O=/usr/src/linux-2.6.5-7.95 xconfig
make
- jetzt abhängig von Prozessor Kaffee trinken oder Mittagsschlafmake modules_install
- Module installierencp /usr/src/linux-2.6.5-7.95/System.map /boot/System.map-2.6.5-reiner_patch
- die System.map nach /boot kopierencp /usr/src/linux-2.6.5-7.95/arch/i386/boot/bzImage /boot/vmlinuz-2.6.5-reiner_patch
- den neuen Kernel nach /boot kopierencd /boot
- nach /boot wechselnmkinitrd -k vmlinuz-2.6.5-reiner_patch -i initrd-2.6.5-reiner_patch
Ganz wichtig bei SUSE: Ramdisk einrichten- /boot/grub/menu.lst mit neuem Eintrag versehen:
Am besten den Eintrag des laufenden Kernels im Editor kopieren und dann nur die Einträge für den neuen Kernel und Ramdisk ändern. Alles nochmal kontrollieren und dann neu booten und im Grub-Menü den neuen Kernel auswählen, cyberjack anstecken und los geht's.
kernel (hd0,10)/boot/vmlinuz-2.6.5-reiner_patch root=/dev/hda11 vga=0x317 splash=silent desktop resume=/dev/hda14 showopts initrd (hd0,10)/boot/initrd-2.6.5-reiner_patch
Hinweis: Dieser Bericht ist von einem fortgeschrittenen Anfänger für Anfänger/Umsteiger. Positive Fehlerbereinigungen, Ergänzungen und Meinungen machen den Bericht dann zu der Hilfe, als die er geplant war.