Probleme mit pcsc in Verbindung mit Moneyplex

Hallo zusammen,

ich habe seit meinem Update auf openSUSE 12.1 (vorher 11.3) große Probleme mit meiner Homebanking Anwendung Moneyplex in Verbindung mit der neuen pcsc Version.

Ich habe hier im Forum gesehen, dass es scheinbar ein Problem mit der Powerdown Funktion geben soll. Dies ist jedoch laut Matrica wohl bereits behoben. Daher schliesse ich dies mal aus. Ich bin auch schon lange in Kontakt mit Matrica und laut deren Aussage kann es nur noch an meiner Installation liegen.

Ok… meine Daten…
openSUSE 12.1 (32bit)
pcsc-lite 1.7.4
pcsc-ccid 1.4.5
moneyplex Version 11 (32bit)
Kartenleser SCR335 (USB)

Nun das Problem… beim Zugriff auf die Karte bleibt Moneyplex manchmal hängen. Z.B. beim Abfragen der Kontoauszüge wird noch eine Verbindung aufgebaut (Dialoginitialisierung), signieren, verschlüsseln… dann die Auszüge abgefragt, signieren, verschlüsseln… dann das Dialogende, signieren und Ende… alles bleibt hängen :frowning:
Dieses “hängen bleiben” ist nicht immer an der gleichen Stelle des Vorgangs. Manchmal läuft alles durch, manchmal schafft er schon die Initialisierung nicht.

Nach einem Resart des pcscd funktioniert es meist einmal… danach ist auch wieder Schluss.

Die neuere Version pcsc-lite 1.8.x wird von moneyplex noch nicht unterstützt.

Wenn ich den pcscd in einer Konsole starte (pcscd -d -f -a) sieht eigentlich alles prima aus… es gibt keine Fehler oder ähnliches (zumindest kann ich nichts aussergewöhnliches erkennen)… die Ausgaben bleiben einfach plötzlich stehen. Die letzte Ausgabe ist dann…

ifdhandler.c:1292:IFDHTransmitToICC() usb:04e6/5115:libudev:0:/dev/bus/usb/008/003 (lun: 0)

Ich habe leider keine Ahnung mehr, was ich noch probieren kann.

Vielleicht hat ja jemand einen Tipp?!?

Gruß Alf

Hängt der Leser an einem USB-Hub ohne externe Stromversorgung?

Mal direkt anschließen bzw. an einen USB-Hub mit Stromversorgung.

Der Leser steckt direkt am PC… kein extra HUB.
Ist der selbe Anschluss wie unter openSUSE 11.3, wo er jahrelang problemlos lief.

Ähnliches Problem auch bei mir - es gab schon bei den letzten releases immer wieder migrationsprobleme, aber dieses mal geht gar nichts.

Zusammenfassung:
openSUSE 12.2 (64bit) (tumbleweed update und neuinstallation)
pcsclite 1.8.6-79.1 und 1.8.3-2.1.3
pcsc-cyberjack 3.99.5final.SP03-59.2 und 3.99.5final.SP03-3.1.2
moneyplex 11.0 2011 (registrierte Version)
ReinerSCT CyberJack RFID Komfort und ReinerSCT CyberJack (älteres Modell)
zwei unterschiedliche PCs
moneplex meldet in Einstellungsdialog “ungültige gleitkomma operation”

Zum normalen Repository wurde auch das “security:chipcard” Repository mit
pcsc-tools 1.4.18-1.4
installiert (daher commt die zweite Version der pscs tools)
Index of /repositories/security:/chipcard/openSUSE_12.2

> pcsc_scan 
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.6
Using reader plug'n play mechanism
Scanning present readers...
0: REINER SCT cyberJack RFID komfort (8518434781) 00 00

Fri Sep 14 21:18:51 2012
Reader 0: REINER SCT cyberJack RFID komfort (8518434781) 00 00
  Card state: Card inserted, 
  ATR: 3B FF 96 00 FF 81 31 FE 45 65 63 0D [09 71 07 64 00 0](http://forums.opensuse.org/)D [00 06 98 09 07 11 01](http://forums.opensuse.org/)

defined(@array) is deprecated at /usr/lib/perl5/vendor_perl/5.16.0/x86_64-linux-thread-multi/Chipcard/PCSC.pm line 69.
        (Maybe you should just omit the defined()?)
ATR: 3B FF 96 00 FF 81 31 FE 45 65 63 0D [09 71 07 64 00 0](http://forums.opensuse.org/)D [00 06 98 09 07 11 01](http://forums.opensuse.org/)
+ TS = 3B --> Direct Convention
+ T0 = FF, Y(1): 1111, K: 15 (historical bytes)
  TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU
    250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s
  TB(1) = 00 --> VPP is not electrically connected
  TC(1) = FF --> Extra guard time: 255 (special value)
  TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1 
-----
  TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1 
-----
  TA(3) = FE --> IFSC: 254
  TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5
+ Historical bytes: 65 63 0D [09 71 07 64 00 0](http://forums.opensuse.org/)D [00 06 98 09 07 11](http://forums.opensuse.org/)
  Category indicator byte: 65 (proprietary format)
+ TCK = 01 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B FF 96 00 FF 81 31 FE 45 65 63 0D [09 71 07 64 00 0](http://forums.opensuse.org/)D [00 06 98 09 07 11 01](http://forums.opensuse.org/)
3B FF .. 00 FF 81 31 .. 45 65 63 .. .. .. .. .. .. .. .. .. .. .. .. .. ..
         Debit card (Germany): ec-cash, GeldKarte(EUR), Maestro, Cirrus,  ...                                                                                                               

Die Ausgabe bleibt hier dann stehen.

Abhilfe scheint ein downgrade auf pscs 1.7.4 zu sein - aber wo bekommt man dass für openSUSE 12.2 angepasst?

Werde wohl morgen einen der Rechner mit zusätzlichen 12.1 einrichten - um die überfälligen Überweisungen zu tätigen.

Irgend welche tips?

Gruß
Ulf

PS: Folgende Pakete wurden installiert (incl. oben erwähntes Repository):


zypper in pcsc-cyberjack moneyplex-suse moneyplex-daten glibc-locate-32bit libX11-6-32bit
zypper in yast2-dbus-server libdbus-1-3-32bit libdbus-1-qt3-0-32bit
zypper in libpcsclite1-32bit pcsc-openct libchipcard libchipcard6
zypper ar -f -n security:chipcard http://download.opensuse.org/repositories/security:/chipcard/openSUSE_12.2/ security:chipcard
zypper in pcsc-tools perl-pcsc

Nachtrag - ergebnisse von cyberjack:


> cyberjack 
BEGIN: ermittle Distribution (0/5)
END  : ermittle Distribution (1/5) [OK]
BEGIN: ermittle Systeminformationen (1/5)
END  : ermittle Systeminformationen (2/5) [OK]
BEGIN: ermittle Gruppeninformation (2/5)
END  : ermittle Gruppeninformation (3/5) [ERROR]
BEGIN: ermittle laufende Dienste (3/5)
END  : ermittle laufende Dienste (4/5) [OK]
BEGIN: ermittle und teste angeschlossene Leser (4/5)
SCardControl: RPC transport error. (80100013)
SCardDisconnect: Service not available. (8010001D)
SCardReleaseContext: Service not available. (0x8010001D)
END  : ermittle und teste angeschlossene Leser (5/5) [ERROR]

Es wurden 3 Dateien im aktuellen Verzeichnis angelegt:
- cyberjack-report.log: Enthaelt die Ergebnisse der Tests
- cyberjack-hints.log : Enthaelt moeglicherweise Hinweise
                        zu gefundenen Problemen und deren
                        Behebung.
- cyberjack.xml       : Enthaelt die Testergebnisse in fuer
                        den Support aufbereiteter Form.
Bitte senden Sie bei Problemen die Datei "cyberjack.xml"
an den Linux-Support von Reiner SCT.


 cat cyberjack-report.log
Distribution: SuSE 12.2 
System: Linux, 3.4.6-2.10-desktop, #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197), x86_64
*HINWEIS* Gruppe "cyberjack" existiert nicht
PC/SC Interface
Leser REINER SCT cyberJack RFID komfort (8518434781) 00 00 (vendorid="0c4b", productid="0501")
Ergebnis des Lesertests:
  PC/SC-Interface nicht verfuegbar.


cat cyberjack-hints.log
Die Gruppe "cyberjack" existiert nicht.
Wenn Sie die richtigen Pakete von Reiner SCT fuer Ihr jeweiliges System installieren, wird diese Gruppe automatisch erzeugt.
Es wird empfohlen, nur die Pakete von Reiner SCT zu installieren, auch wenn von Ihrem Distributor andere Pakete angeboten werden.
Nur mit unseren Paketen ist es uns moeglich, Ihnen im Falle von Problemen schnell zu helfen.
Sollten fuer Ihr System keine Pakete verfuegbar sein, muessen Sie die Gruppe "cyberjack" mit Hilfe Ihrer Systemadministrations-Tools (z.B. yast, KUser etc) selbst erstellen.

openSUSE Hinweis:
Ein Fehlen dieser Gruppe unter openSUSE sollte die Funktion nicht beeintraechtigen, da die Zugriffsrechte durch ein anderes
Verfahren sichergestellt werden (HAL/resmgr/PolicyKit).
Sollten Probleme mit dem Geraetezugriff bestehen, berichten Sie uns das bitte unter http://bugzilla.novell.com/


cat cyberjack-hints.log
Die Gruppe "cyberjack" existiert nicht.
Wenn Sie die richtigen Pakete von Reiner SCT fuer Ihr jeweiliges System installieren, wird diese Gruppe automatisch erzeugt.
Es wird empfohlen, nur die Pakete von Reiner SCT zu installieren, auch wenn von Ihrem Distributor andere Pakete angeboten werden.
Nur mit unseren Paketen ist es uns moeglich, Ihnen im Falle von Problemen schnell zu helfen.
Sollten fuer Ihr System keine Pakete verfuegbar sein, muessen Sie die Gruppe "cyberjack" mit Hilfe Ihrer Systemadministrations-Tools (z.B. yast, KUser etc) selbst erstellen.

openSUSE Hinweis:
Ein Fehlen dieser Gruppe unter openSUSE sollte die Funktion nicht beeintraechtigen, da die Zugriffsrechte durch ein anderes
Verfahren sichergestellt werden (HAL/resmgr/PolicyKit).
Sollten Probleme mit dem Geraetezugriff bestehen, berichten Sie uns das bitte unter http://bugzilla.novell.com/ub22@charly:~> 
ub22@charly:~> cat cyberjack.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<cyberjack>
  <check-version>
    <vmajor>3</vmajor>
    <vminor>99</vminor>
    <vpatchlevel>5</vpatchlevel>
    <vbuild>0</vbuild>
    <vtag>final.SP03</vtag>
  </check-version>
<check type="distri">
  <result type="success"></result>
  <distname>SuSE</distname>
  <distver>12.2</distver>
</check>
<check type="uname">
  <result type="success"></result>
  <systemname>Linux</systemname>
  <release>3.4.6-2.10-desktop</release>
  <version>#1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197)</version>
  <machine>x86_64</machine>
</check>
<check type="group">
  <result type="error">Gruppe cyberjack existiert nicht  </result>
</check>
<check type="services">
  <result type="success"></result>
</check>
<api type="pcsc">
    <result type="success">
    <reader name="REINER SCT cyberJack RFID komfort (8518434781) 00 00" vendorid="0c4b" productid="0501">
      <readertest result="success">
      </readertest>
</api>
</cyberjack>


groups
users tty disk uucp video

Nachtrag: Weitere erkenntnisse mit CyberJack Tool:


~> groups
users tty disk uucp video cyberjack
ub22@charly:~> cyberjack
BEGIN: ermittle Distribution (0/5)
END  : ermittle Distribution (1/5) [OK]
BEGIN: ermittle Systeminformationen (1/5)
END  : ermittle Systeminformationen (2/5) [OK]
BEGIN: ermittle Gruppeninformation (2/5)
END  : ermittle Gruppeninformation (3/5) [OK]
BEGIN: ermittle laufende Dienste (3/5)
END  : ermittle laufende Dienste (4/5) [OK]
BEGIN: ermittle und teste angeschlossene Leser (4/5)
SCardControl: RPC transport error. (80100013)
SCardDisconnect: Service not available. (8010001D)
SCardReleaseContext: Service not available. (0x8010001D)
END  : ermittle und teste angeschlossene Leser (5/5) [ERROR]

Es wurden 3 Dateien im aktuellen Verzeichnis angelegt:
- cyberjack-report.log: Enthaelt die Ergebnisse der Tests
- cyberjack-hints.log : Enthaelt moeglicherweise Hinweise
                        zu gefundenen Problemen und deren
                        Behebung.
- cyberjack.xml       : Enthaelt die Testergebnisse in fuer
                        den Support aufbereiteter Form.
Bitte senden Sie bei Problemen die Datei "cyberjack.xml"
an den Linux-Support von Reiner SCT.

ub22@charly:~> cat cyberjack-report.log
Distribution: SuSE 12.2
System: Linux, 3.4.6-2.10-desktop, #1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197), x86_64
PC/SC Interface
Leser REINER SCT cyberJack RFID komfort (8518434781) 00 00 (vendorid="0c4b", productid="0501")
Ergebnis des Lesertests:
  PC/SC-Interface nicht verfuegbar.
~> cat cyberjack-hints.log
~> cat cyberjack.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<cyberjack>
  <check-version>
    <vmajor>3</vmajor>
    <vminor>99</vminor>                                                                                                                                                                 
    <vpatchlevel>5</vpatchlevel>                                                                                                                                                        
    <vbuild>0</vbuild>                                                                                                                                                                  
    <vtag>final.SP03</vtag>                                                                                                                                                             
  </check-version>                                                                                                                                                                      
<check type="distri">                                                                                                                                                                   
  <result type="success"></result>                                                                                                                                                      
  <distname>SuSE</distname>                                                                                                                                                             
  <distver>12.2</distver>                                                                                                                                                               
</check>                                                                                                                                                                                
<check type="uname">                                                                                                                                                                    
  <result type="success"></result>                                                                                                                                                      
  <systemname>Linux</systemname>                                                                                                                                                        
  <release>3.4.6-2.10-desktop</release>                                                                                                                                                 
  <version>#1 SMP PREEMPT Thu Jul 26 09:36:26 UTC 2012 (641c197)</version>                                                                                                              
  <machine>x86_64</machine>                                                                                                                                                             
</check>                                                                                                                                                                                
<check type="group">                                                                                                                                                                    
  <result type="success">                                                                                                                                                               
    Benutzer "" ist Mitglied der Gruppe "cyberjack"                                                                                                                                 
  </result>                                                                                                                                                                             
</check>                                                                                                                                                                                
<check type="services">
  <result type="success"></result>
</check>
<api type="pcsc">
    <result type="success">
    <reader name="REINER SCT cyberJack RFID komfort (8518434781) 00 00" vendorid="0c4b" productid="0501">
      <readertest result="success">
      </readertest>
</api>
</cyberjack>

~>

Ich bin mittlerweile dabei ein neues Konto einzurichten. Dann werde ich ein anderes Programm testen. Bei meiner bisherigen Bank ging das wegen der Chipkarte leider nicht. Mal schauen, ob es dann besser funktioniert.

Moneyplex läuft mit pcsc 1.8.x nicht, da mußt Du Dich bei Matrica melden, die schicken Dir dann eine angepasste Version:
www.onlinebanking-forum.de :: Thema anzeigen - Moneyplex Linux + pcsc-lite 1.8.3

Hatte ich auch probiert… lief aber auch nicht “rund” :frowning:

Taucht denn Dein Reader in /lib/udev/rules.d/92_pcscd_ccid.rules auf, so wie ich das sehe nicht.

usb:04e6/5115

cat /lib/udev/rules.d/92_pcscd_ccid.rules
# udev rules to set the access rights of CCID smart card readers
# so they can be used by pcscd

# $Id: 92_pcscd_ccid.rules 5706 2011-04-22 14:37:45Z rousseau $

# Gemplus PCMCIA Card
#SUBSYSTEMS=="pcmcia", DRIVERS=="serial_cs", ACTION=="add", ATTRS{prod_id1}=="Gemplus", ATTRS{prod_id2}=="SerialPort", ATTRS{prod_id3}=="GemPC Card", RUN+="/usr/sbin/pcscd --hotplug" 

# If not adding the device, go away
ACTION!="add", GOTO="pcscd_ccid_rules_end"
SUBSYSTEM!="usb", GOTO="pcscd_ccid_rules_end"
ENV{DEVTYPE}!="usb_device", GOTO="pcscd_ccid_rules_end"

# Kobil mIDentity
ATTRS{idVendor}=="0d46", ATTRS{idProduct}=="4081", RUN+="/usr/sbin/Kobil_mIDentity_switch"

# generic CCID device (bInterfaceClass = 0x0b)
# change group from default "root" to "pcscd"
ENV{ID_USB_INTERFACES}=="*:0b0000:*", GROUP="scard"

# set USB power management to auto. "power/level" has been deprecated in
# Linux 2.6.35 and replaced by "power/control"
ENV{ID_USB_INTERFACES}=="*:0b0000:*", RUN+="/bin/sh -c 'echo auto > /sys/$devpath/power/level ; echo auto > /sys/$devpath/power/control'"

# non CCID generic (InterfaceClass: 0xFF)
# CherrySmartTerminalST2XXX.txt
ATTRS{idVendor}=="046a", ATTRS{idProduct}=="003e", GROUP="scard"
# DellSK-3106.txt
ATTRS{idVendor}=="413c", ATTRS{idProduct}=="2100", GROUP="scard"
# MySmartPad.txt
ATTRS{idVendor}=="09be", ATTRS{idProduct}=="0002", GROUP="scard"
# SCR331-DI-NTTCom.txt
ATTRS{idVendor}=="04e6", ATTRS{idProduct}=="5120", GROUP="scard"
# SCR331-DI.txt
ATTRS{idVendor}=="04e6", ATTRS{idProduct}=="5111", GROUP="scard"
# SDI010.txt
ATTRS{idVendor}=="04e6", ATTRS{idProduct}=="5121", GROUP="scard"
# SPR532.txt
ATTRS{idVendor}=="04e6", ATTRS{idProduct}=="e003", GROUP="scard"
# Verisign_secure_storage_token.txt
ATTRS{idVendor}=="08e6", ATTRS{idProduct}=="1359", GROUP="scard"
# Verisign_secure_token.txt
ATTRS{idVendor}=="08e6", ATTRS{idProduct}=="ace0", GROUP="scard"
# SchlumbergerSema Cyberflex Access e-gate
ATTRS{idVendor}=="0973", ATTRS{idProduct}=="0003", GROUP="scard"

# All done
LABEL="pcscd_ccid_rules_end"

Was sagt:

/usr/sbin/hwinfo --usb

Hier bitten nur den Block zu Deinem Reader.

zypper se -si pcsc chip

Meine hwinfo Ausgabe…

15: USB 00.0: 10e00 Chipcard Reader
[Created at usb.122]
Unique ID: hhw5.GXT+5imewg0
Parent ID: FZIx.RTX9xWW_uz4
SysFS ID: /devices/pci0000:00/0000:00:1d.2/usb8/8-1/8-1:1.0
SysFS BusID: 8-1:1.0
Hardware Class: chipcard
Model: “SCM Microsystems SCR335 SmartCard Reader”
Hotplug: USB
Vendor: usb 0x04e6 “SCM Microsystems, Inc.”
Device: usb 0x5115 “SCR335 SmartCard Reader”
Revision: “5.18”
Serial ID: “21120549406692”
Driver: “usbfs”
Driver Modules: “usbcore”
Speed: 12 Mbps
Module Alias: “usb:v04E6p5115d0518dc00dsc00dp00ic0Bisc00ip00”
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #13 (Hub)

zypper…

i | libpcsclite1 | PCSC Smart Card Library | package
i | pcsc-ccid | PCSC Driver for CCID Based Smart Card Readers and GemPC Twin Serial Reader | package
i | pcsc-lite | PCSC Smart Cards Library | package
i | pcsc-lite-devel | Development package for the MUSCLE project SmartCards library | package
i | pcsc-tools | PC/SC tools | package

i | libchipcard | Library That Allows Easy Access to Smart Cards (Chipcards) | package
i | libchipcard6 | Library That Allows Easy Access to Smart Cards (Chipcards) | package

Ich habe mittlerweile eine andere Karte (neue Bank). Damit hatte ich bisher keine Probleme… klopf auf Holz :slight_smile:

Das es mit der neuen Karte/Bank jetzt funktioniert, freut mich.

Allerdings noch etwas zu Deiner Ausgabe:

i | libpcsclite1 | PCSC Smart Card Library | package
i | pcsc-ccid | PCSC Driver for CCID Based Smart Card Readers and GemPC Twin Serial Reader | package
i | pcsc-lite | PCSC Smart Cards Library | package
i | pcsc-lite-devel | Development package for the MUSCLE project SmartCards library | package
i | pcsc-tools | PC/SC tools | package

i | libchipcard | Library That Allows Easy Access to Smart Cards (Chipcards) | package
i | libchipcard6 | Library That Allows Easy Access to Smart Cards (Chipcards) | package

Das ist aber nicht die Ausgabe dieses Befehls:

zypper se -si pcsc chip

Beispiel:

zypper se -si pcsc chip
Daten des Repositories laden ...
Installierte Pakete lesen ...

S | Name           | Typ   | Version                | Arch | Repository                                 
--+----------------+-------+------------------------+------+--------------------------------------------
i | libpcsclite1   | Paket | 1.7.4-4.3.1            | i586 | Aktualisierungen für openSUSE 12.1 12.1-1.4
i | pcsc-ccid      | Paket | 1.4.5-2.1.3            | i586 | openSUSE-12.1-Oss                          
i | pcsc-cyberjack | Paket | 3.99.5final.SP02-4.1.3 | i586 | openSUSE-12.1-Oss                          
i | pcsc-lite      | Paket | 1.7.4-4.3.1            | i586 | Aktualisierungen für openSUSE 12.1 12.1-1.

Uups… ‘-si’ vergessen… sorry :open_mouth:

S | Name            | Type    | Version     | Arch | Repository                                 
--+-----------------+---------+-------------+------+--------------------------------------------
i | libpcsclite1    | package | 1.7.4-4.3.1 | i586 | Aktualisierungen für openSUSE 12.1 12.1-1.4
i | pcsc-ccid       | package | 1.4.5-2.1.3 | i586 | Haupt-Repository (OSS)                     
i | pcsc-ccid       | package | 1.4.5-2.1.3 | i586 | openSUSE-12.1-12.1-1.4                     
i | pcsc-lite       | package | 1.7.4-4.3.1 | i586 | Aktualisierungen für openSUSE 12.1 12.1-1.4
i | pcsc-lite-devel | package | 1.7.4-4.3.1 | i586 | Aktualisierungen für openSUSE 12.1 12.1-1.4
i | pcsc-tools      | package | 1.4.18-1.3  | i586 | rpm                                        

S | Name         | Type    | Version     | Arch | Repository            
--+--------------+---------+-------------+------+-----------------------
i | libchipcard  | package | 5.0.2-4.1.2 | i586 | Haupt-Repository (OSS)
i | libchipcard  | package | 5.0.2-4.1.2 | i586 | openSUSE-12.1-12.1-1.4
i | libchipcard6 | package | 5.0.2-4.1.2 | i586 | Haupt-Repository (OSS)
i | libchipcard6 | package | 5.0.2-4.1.2 | i586 | openSUSE-12.1-12.1-1.4