Fedora 15: cyberJack-Kartenleser in Betrieb nehmen

Sunday, November 6, 2011 11:54:31 PM

Vor gut drei Jahren schrieb ich im Fedorablog einen Artikel über sicheres Online-Banking mit HBCI. Mittlerweile ist viel Wasser den Rhein heruntergeflossen, Reiner SCT stellte seinen ctapi-Treiber ein und liefert nun auch keine Fedora-RPMs mehr aus. Höchste Zeit für ein Update!

cyberJack und PC/SC

Zum Betrieb des cyberJack-Kartenlesers waren bisher die Treiber von Reiner SCT notwendig. Im Fedora-Repository gab es zwar ebenfalls passende Treiber, aber sie wurden eher halbherzig gepflegt und funktionierten eigentlich nie so richtig. Mittlerweile hat auch Reiner SCT seinen Fedora-Support eingestellt. Die einzige Möglichkeit, die man nun noch hat, ist, die Sourcen herunterzuladen und selbst zu kompilieren.

Für den, der sich die Mühe scheut, habe ich für Fedora 15 ein entsprechendes Paket zusammengestellt (RPM x86_64, SRPM). Installiert wird es mit

sudo yum localinstall http://static.shredzone.net/pcsc-cyberjack-3.99.5final.SP02-1.fc15.x86_64.rpm

Allerdings ist das Paketieren nicht meine Stärke, und das RPM sicherlich alles andere als perfekt.

Um sich den Quelltext des Treibers selbst zu kompilieren, packt man das Source-Paket als Root aus, wechselt in das ausgepackte Verzeichnis und führt folgende Befehle aus:

yum install pcsc-lite-devel
./configure --libdir=/usr/lib64
make
make install

Auf einem 32-bit-System wird die --libdir-Option weggelassen.

In einem nächsten Schritt muss (zum Beispiel über system-config-users) eine Gruppe cyberjack angelegt und müssen alle Benutzer, die den Kartenleser verwenden dürfen, dieser Gruppe zugeordnet werden. Nach einem erneuten Login ist der Kartenleser dann einsatzbereit, wie der Aufruf des Kommandos cyberjack zeigen sollte. Wenn nicht, findet man in cyberjack-report.log wertvolle Hinweise zum Problem und dessen Lösung. Manchmal hilft es, den Kartenleser direkt am Computer anzuschließen und nicht an einem USB-Hub.

Hibiscus

Stellen wir uns dem nächsten Problem. Der CT-API-Standard, der früher verwendet wurde, war ein deutscher Alleingang, der sich nicht durchsetzen konnte. Mittlerweile wird ausschließlich der PC/SC-Standard verwendet, mit dem Hibiscus (und andere reine CT-API Bankingsoftware) allerdings nicht zurechtkommt.

Die gute Nachricht: Es gibt einen CT-API Wrapper, der quasi eine Brücke zwischen den beiden Standards schlägt. Die schlechte Nachricht: Es gibt keine fertigen Fedora-Pakete für diesen Wrapper. Ich biete auch hierfür ein selbstgebautes Paket (RPM x86_64, SRPM) an:

sudo yum localinstall http://static.shredzone.net/pcsc-ctapi-wrapper-0.3-1.fc15.x86_64.rpm

Alternativ kann der Quelltext einfach ausgepackt und als Root mit make && make install installiert werden.

In Hibiscus wird der Kartenleser wie üblich eingerichtet. Als CTAPI-Treiber wird dann der Wrapper angegeben. Bei meinem Paket lautet der Pfad /usr/lib64/libpcsc-ctapi-wrapper.so.0.3. Wenn man ihn selbst gebaut hat, liegt er meist unter /usr/local/lib/libpcsc-ctapi-wrapper.so.0.3.

Weiterhin sollte Tastatur des PCs verwenden deaktiviert werden, da moderne Secoder-Kartenleser dies aus Sicherheitsgründen nicht mehr gestatten. Die PIN muss stets am Gerät eingegeben werden.

Damit kann nun auch Hibiscus auf den Kartenleser zugreifen. Dem Online-Banking steht nichts mehr im Wege!

Geldkarte

Die Sparkassenorganisation bietet ein Browser-Plugin als RPM-Paket zum Download an. Die 64 bit-Version legt das Plugin leider im falschen Ordner ab. Als Anwender kann man das Firefox-Plugin wie folgt aktivieren:

cd .mozilla/plugins
ln -s /usr/lib/mozilla/plugins/libSIZCHIP-Plugin-Mozilla-2004.so

Nach einem Neustart des Browsers sollte das Plugin dann unter der URL about:plugins erscheinen. Auf geldkarte.de kann nun zum Beispiel eine eingesteckte Geldkarte analysiert werden.

Ausweisapp

Die cyberJack RFID-Modelle bieten neben der HBCI- und Geldkartenfunktionalität auch die Möglichkeit, den neuen elektronischen Personalausweis zu lesen. Dazu stellt der Bund die Ausweis-App auch für Linux zur Verfügung.

Leider aber nicht für Fedora. Als einziges RPM-basiertes System wird openSUSE unterstützt. Ein Versuch, das RPM unter Fedora zu installieren, scheitert an Abhängigkeiten zu Paketen, die unter Fedora anders genannt werden, und letztendlich an einem inkompatiblen Installationsscript. Ich habe bisher keine Möglichkeit gefunden, die Ausweis-App trotzdem ans Laufen zu kriegen.

Kleines Fazit

Bei den Arbeiten zu diesem Artikel ertappte ich mich mehr als einmal, neidische Blicke zu Ubuntu geworfen zu haben. Es gibt fertige cyberJack-Treiber und offiziellen Support, wogegen bei Fedora die cyberJack-Unterstützung schon immer halbherzig war und nun wohl ganz eingestellt wurde. Auch die Ausweis-App genießt die Unterstützung seines Herausgebers. Selten wurde es mir so bewusst, dass Fedora zumindest als Desktop-Linux in Deutschland offenbar praktisch keine Rolle mehr spielt.

Eine gute Nachricht für alle Steuerzahler dürfte dagegen sein, dass es den Reiner SCT cyberJack RFID standard und komfort derzeit vergünstigt gibt – das Standard-Modell schon für unter 30 Euro. Der Staat fördert diese Modelle mit 25 Euro, also eine gute Gelegenheit, sich etwas von seinen Steuern zurückzuholen. ;-)

Written by Shred in Fedorado1 comment

Tags: AusweisApp, F15, HBCI

Fedora 15: Audio über das Netzwerk

Wednesday, November 2, 2011 11:55:46 PM

Was hatte ich mich geärgert, als Fedora auf PulseAudio umstieg und dann monatelang eigentlich nichts mehr so richtig lief. Zum Glück sind die Probleme ausgestanden, und jetzt ist es an der Zeit, auch einmal einen Vorteil von PulseAudio zu genießen: dessen Netzwerkfähigkeit. Ich habe Fedora auf einem kleinen HTPC installiert, der an der Stereoanlage angeschlossen ist. Diesen möchte ich verwenden, um vom PC aus Musik auch mal auf den großen Lautsprechern zu hören statt auf den PC-Brüllwürfeln.

Mit PulseAudio geht das verblüffend einfach, wie dieser Artikel zeigt.

Written by Shred in Fedoradono comments

Tags: F15, HTPC, PulseAudio

Arduino auf Fedora 15 einrichten

Saturday, October 22, 2011 5:39:11 PM

Die Arduino-Plattform ist eine offene Entwicklungsplattform für kleine Hardwareprojekte, inklusive einer Entwicklungsumgebung und verschiedener günstiger Boards wie dem Arduino Uno. Wegen verschiedener Bugs ist die Installation der Entwicklungsumgebung auf einem System mit Fedora 15 leider nicht ganz trivial.

Die notwendigen Pakete befinden sich im Fedora-Repository. Zuerst installieren wir also die Arduino-IDE und stellen die Gruppenrechte her, die zum Zugriff auf die USB-Schnittstelle benötigt werden:

sudo yum install 'arduino*'
sudo usermod -a -G uucp,dialout,lock $USER

Neben der IDE werden der C-Compiler avr-gcc in Version 4.6.1-2 und die avr-libc in Version 1.7.0 installiert. Diese Version des Compilers wirft allerdings nur Fehlermeldungen. Ein Update steht schon bereit, liegt derzeit aber noch in fedora-testing und muss deshalb explizit installiert werden:

sudo yum --enablerepo=updates-testing update 'avr-*'

Danach ist der avr-gcc in Version 4.6.1-3 und die avr-libc in Version 1.7.1 installiert. Die IDE kann nun gestartet und die Sketches können kompiliert werden.

Allerdings bleibt noch ein Problem: durch eine zu aggressive Compiler-Optimierung funktioniert die delay()-Funktion unter Umständen nicht. So leuchtet bei dem Beispiel Blink die Test-LED dauerhaft, statt zu blinken. Die Ursache dafür lässt sich zum Beispiel durch einen Eingriff in eine Datei beheben. Folgender Patch führt diese Änderung aus:

sudo patch -d /usr/share/arduino/hardware/arduino/cores/arduino wiring.c << __END__
25a26
> #include <avr/delay.h>
106c107
< {
---
> {/*
114a116
> */ _delay_ms(ms);
__END__

Danach steht der Experimentierfreude nichts mehr im Wege!

Written by Shred in Fedoradono comments

Tags: Arduino, F15

Fedora 15 vorerst ohne RPM fusion [Update]

Thursday, May 26, 2011 10:48:51 AM

Seit Dienstag ist Fedora 15 verfügbar. Eine Wolke trübt jedoch die Freude über “Lovelock”: RPM fusion hat den Sprung auf die neue Release bisher noch nicht geschafft.

Auf der Homepage wird Fedora 15 noch gar nicht erwähnt. Der Versuch, der Installationsanleitung zu folgen, endet mit der Fehlermeldung, dass zwei Zertifikatdateien nicht gefunden werden konnten. Und auch im Downloadbereich ist noch kein Verzeichnis für Fedora 15 vorgesehen.

Um das Problem erst einmal zu umgehen, kann man stattdessen die RPM fusion-Konfiguration für Rawhide durchführen. Alternativ stellt ein Blogeintrag von Xenode Systems die benötigten Zertifikatdateien zur Verfügung. Wie Xenode_Blogger an diese Dateien kam, konnte ich nicht herausfinden, daher ist ein wenig Vorsicht bei dieser Lösung vielleicht angebracht.

Besitzer von Nvidia-Grafikkarten können anschließend mit yum install akmod_nvidia ein Paket installieren, das den Nivida-Treiber für den aktuellen Kernel automatisch generiert. So umgeht man das Problem, dass in RPM fusion momentan kein Nvidia-Treiber für den Kernel von Fedora 15 verfügbar ist.

Doch was ist los bei RPM fusion? Anfragen in den Mailinglisten bleiben unbeantwortet. In Fedora-eigenen Mailinglisten wird nur auf RPM fusion weiterverwiesen, auch dort scheint man nichts Genaueres zu wissen, aber auch wenig Interesse zu zeigen.

Ich persönlich betrachte das Problem mit großer Sorge. RPM fusion ist wohl das wichtigste 3rd-Party-Repository für Fedora. Es stellt propriertäre Treiber, mp3-Codecs, VirtualBox und vieles mehr zur Verfügung, was Fedora selbst aus Lizenzgründen nicht bereitstellen kann. Sollte es für diese Verzögerung keine technischen, sondern personelle Gründe geben, sollten die Fedora-Entwickler schon aus Eigeninteresse für rasche Hilfe sorgen. Denn bricht RPM fusion weg, ist abzusehen, dass ein Großteil der Fedora-Anwender zu Ubuntu abwandern wird.

Update: Mittlerweile steht das Repository zur Verfügung. Wer die Rawhide-Pakete für RPM fusion installiert hatte, braucht nichts weiter zu tun als sein System zu updaten. Eine Antwort von den Entwicklern, was der Grund für die Verzögerung war, steht noch aus.

Written by Shred in Fedorado4 comments

Tags: F15, RPM fusion