Kartenlesegerät unter Wine
Hallo Marius,
hast du ein 32 bit oder 64 bit ubuntu? Wie hast du VR-Networld installiert (mit PlayOnLinux oder manuell)? Ich habe zwar kein Kartenlesegerät aber über Googeln habe ich eine Lösung gefunden. Ich habe sie etwas modifiziert und an einer PlayOnLinux-Installation angepasst. Schreibe bitte, ob es funktioniert. Falls es nicht geht, starte VR-Networld bitte im Debug-Modus und poste den Bericht hierher. Hier nun die Anleitung:
1. Das Paket "ctapi-cyberjack" mit dem software-center installieren (falls es nicht dabei ist, gibts Pakete bei
http://www.reiner-sct.com). Bitte immer die 32-Bit Version verwenden (auch auf x86_64 Systemen).
2. Alle User, die Zugriff auf den Leser benötigen, in die Gruppe "cyberjack" aufnehmen.
3. Die Datei "ctapi32.dll.so" als root nach /usr/local/lib/wine/ kopieren:
su -
cd /usr/local/lib
mkdir wine
cp /usr/lib/wine/ctapi32.dll.so wine/
4. Falls die Datei "/usr/lib/libctapi.so" nicht existiert, als root einen Symlink unter /usr/local/lib/ anlegen:
cd /usr/local/lib
ln -s ../../lib/readers/libctapi-cyberjack.so libctapi.so
ldconfig
5. Damit wine die neuen Libraries findet, müssen die Verknüpfungen für das Chipkartenleser Setup und für VR-Networld geändert werden. Dazu das Feld "Befehl" beim VR-Networld-Icon auf dem Desktop bearbeiten (Mausklick rechts, Eigenschaften, Programm):
Aus
/usr/share/playonlinux/playonlinux --run "VRNetWorld" %F
wird
env WINEDLLPATH=/usr/local/lib/wine LD_LIBRARY_PATH=/usr/local/lib wine VRNetWorld.exe
Im Feld „Arbeitsordner“ muss eingefügt werden:
PlayOnLinux's virtual drives/wine
(hier der Name der Prefix)/drive_c/Program Files/VR-NetWorld/
Und nun die Änderungen beim Chipkartenleser Setup:
6. Das Chipkartenleser Setup starten (dauert etwas).
6.1 "CtAPI" auswählen und "OK" klicken
6.2 Auf "Manuell Einrichten ..." klicken
6.3 Weiter
6.4 Hersteller und Typenbezeichnung sind egal
6.5 DLL-Name auf ctapi32.dll setzen (ohne Pfadangabe)
6.6 Port auf 1
6.7 PIN-Modus auf 2 (Kartenleser mit eigener Tastatur) oder 0 (ohne Tastatur)
6.8 Auf "Testen" klicken
Es sollte jetzt die Meldung "Der Kartenlesertest war erfolgreich!" angezeigt werden.
6.9 Auf OK und dann auf Beenden klicken. Der Kartenleser ist jetzt fertig für VR-Networld eingerichtet.
Hinweise:
1. Im Gegensatz zu Windows erscheint bei der Pineingabe kein Popup-Fenster. Wenn die LED am Leser anfängt zu blinken, einfach die PIN eintippen und mit OK bestätigen.
2. Das Archiv enthält die Sourcen sowie einer fertig kompilierte Binärdatei (ctapi32.dll.so für x86_32 und x86_64). Um die Sourcen selbst zu übersetzen, wird u.a. das Paket wine-devel benötigt. Das Paket muss auf einem x86_32-System übersetzt werden (auch für x86_64). Ich habe die Sourcen bereits an das Wine-Projekt weitergeleitet und hoffe, dass die DLL bereits in einer der nächsten Wine-Versionen enthalten sein wird.
3. Es sollten auch andere Kartenleser funktionieren, falls ein CT-API kompatibler Treiber vorhanden ist. Meine DLL setzt nur voraus, dass irgendeine libctapi.so existiert.
Fehlersuche:
1. Im Schritt 6.8 erscheint die Meldung "Fehler beim Laden einer Programmkomponente (ctapi32.dll)"
Wine kann die DLL ctapi32.dll.so nicht finden. Stellen Sie sicher, dass Sie den Zusatz "WINEDLLPATH=/usr/local/lib/wine" in den Aufruf des Chipkartenleser Setups und von StarMoney eingefügt haben.
2. Im Schritt 7.8 erscheint die Meldung "Zugriff auf den Kartenleser fehlgeschlagen. Bitte überprüfen Sie Ihren Chipkartenleser (-127)"
Möglicherweise kann meine DLL die Datei "libctapi.so" nicht finden. Bitte prüfen Sie, ob Sie den Zusatz "LD_LIBRARY_PATH=/usr/local/lib" in den Aufruf des Chipkartenleser Setups und von VR-Networld eingefügt haben.
3. Im Schritt 6.8 erscheint die Meldung "Zugriff auf den Kartenleser fehlgeschlagen. Bitte überprüfen Sie Ihren Chipkartenleser (-1)"
Der verwendete CT-API Treiber kann mit der Portnummer nichts anfangen. Beim cyberJack USB muss scheinbar immer eine 1 einstellt werden, mit anderen Lesern oder CT-APIs habe ich noch keine Erfahrung.