Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 18/12/2011, à 13:19

Maisondouf

[résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Je viens d'acquérir un lecteur CCID et je compte m'en servir pour comptabiliser les heures de service qui sont écrites dans une carte ChronoDrive.
Alors voilà, j'ai installé ça :
- libccid
- libacr38u
- pcscd
- libpcsclite1
- pcsc-tools

J'arrive à accéder au lecteur et à lire ce que je veux dans la carte avec le MAGNIFIQUE gscriptor (que j'ai un peu corrigé).
Donc en perl pas de soucis.

J'ai écris un soft de test en java (sous eclipse 3.7.1), mais là aucune réponse du lecteur.
Java ne détecte AUCUN lecteur !
Je suis sous Lucid à l'origine avec la jre 6-26 et j'ai installé manuellement (à grand coup de liens) la jre 6-30, mais ça ne détecte toujours pas ! sad

Par contre, si je crée un .jar exécutable et que je le lance sur un PC avec W7(avec jre 6-30), ça marche .....

Si quelqu'un peut débloquer cette situation, je lui ferai une bise au premier de l'an lol

edit:
le lsusb du lecteur:

Bus 005 Device 004: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader

Dernière modification par Maisondouf (Le 19/02/2012, à 14:17)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#2 Le 18/12/2011, à 15:51

Maisondouf

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Je viens de voir que dans les dépôts des versions  Ubuntu plus récentes que la mienne, il existe un driver CCID pour mon lecteur... libascccid1

Est ce que il va arriver en backport sous Lucid ?


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#3 Le 18/12/2011, à 16:30

Maisondouf

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Ça me fait pas rire, mais le programme fonctionne en démarrant Lucid en mode récup et low-graphics

81bfdb2e0a5d90f5ddc55fba868cet.jpg

Cherchez l'erreur  ....


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#4 Le 18/12/2011, à 16:39

Maisondouf

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Après un stage en mode dépannage :
- en re-installant pas à pas les paquets concernés avec ce bon vieux apt-get...
- faisant le ménage dans les paquets qui sont obsolètes pour ce type de lecteur (libacr38u par exemple)
- en faisant un autoremove pour que les restes de jre 6-26 soit désinstallés

ÇA MARCHE  !!!


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#5 Le 01/02/2012, à 11:16

Maisondouf

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Eh bien maintenant que mon bon vieux Lucid est mort de sa belle mort et que j'ai fini par installer une version plus moderne....

YA PLUS RIEN QUI MARCHE !

Enfin si, Gscriptor (en perl) détecte bien le lecteur et le lit bien.
Mais il utilise les drivers PC/SC..

Quant à Java, impossible de savoir comment il fait .

mon lecteur est bien dans le lsusb

Bus 005 Device 003: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader

en détail, ça donne ça :

papounet@p4papou:~$ lsusb -v -d 072f:90cc

Bus 005 Device 003: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x072f Advanced Card Systems, Ltd
  idProduct          0x90cc ACR38 SmartCard Reader
  bcdDevice            1.00
  iManufacturer           1 ACS
  iProduct                2 CCID USB Reader
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           93
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass        11 Chip/SmartCard
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      ChipCard Interface Descriptor:
        bLength                54
        bDescriptorType        33
        bcdCCID              1.00
        nMaxSlotIndex           0
        bVoltageSupport         7  5.0V 3.0V 1.8V 
        dwProtocols             3  T=0 T=1
        dwDefaultClock       4000
        dwMaxiumumClock      4000
        bNumClockSupported      0
        dwDataRate          10752 bps
        dwMaxDataRate      344100 bps
        bNumDataRatesSupp.      0
        dwMaxIFSD             247
        dwSyncProtocols  00000000 
        dwMechanical     00000000 
        dwFeatures       00010030
          Auto clock change
          Auto baud rate change
          TPDU level exchange
        dwMaxCCIDMsgLen       271
        bClassGetResponse      00
        bClassEnvelope         00
        wlcdLayout           none
        bPINSupport             0 
        bMaxCCIDBusySlots       1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              16
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)
papounet@p4papou:~$ 

Voila ce qui est installé :

ii  pcsc-tools        1.4.18-1          Some tools to use with smart cards and PC/SC
ii  pcscd             1.7.4-2ubuntu1    Middleware to access a smart card using PC/SC (dae
ii  libpcsc-perl      1.4.12-1build2    Perl interface to the PC/SC smart card library
ii  libpcsclite1      1.7.4-2ubuntu1    Middleware to access a smart card using PC/SC (lib

par contre je n'ai pas installé 'libccid', je vais tester....

A Suivre


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#6 Le 19/02/2012, à 14:30

Maisondouf

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Enfin !!!
Un gentil développeur de chez Debian m'a donné une réponse dont je vous fait part....

Java via son API javax.smartcardio se base sur la librairie linux 'libpcsclite'  pour lire les cartes à puces.

Mais depuis quelques temps (2008) cette lib a évolué et s'appelle maintenant 'libpcsclite1' et java, lui, n'a pas suivi....

En gros, avant il y avait un fichier lib qui était /usr/lib/libpcsclite.so et maintenant on a un fichier /lib/libpcsclite.so.1.

Donc en résumé, pas le même nom et en plus pas au même endroit !!!

La solution donnée est
- soit de créer un lien symbolique à la main:

sudo ln -s /lib/libpcsclite.so.1 /usr/lib/libpcsclite.so

- soit d'installer le paquet "libpcsclite-dev" qui contient ce lien symbolique et d'autres choses pas trop utiles pour tous les jours.

Après ça, les lecteurs de cartes à puces PC/SC et CCID sont reconnus et accessibles.

A quand un responsable des paquetages qui pense à mettre le lien dans le paquet de base ????


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#7 Le 19/02/2012, à 15:08

Maisondouf

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

mini scripte pour automatiser la mise en place du lien...
A sauver dans un fichier "cequevousvoulez.sh" et à lancer avec "sudo sh cequevousvoulez.sh"

#! /bin/sh
if [ -f /usr/lib/libpcsclite.so ];
then
    echo "library already exists"
    exit
fi
for aa in /lib /usr/lib /usr/local/lib
do
  ll=`find $aa -name libpcsclite.so.1`
  if [ -f $ll ]
  then
     ln -s $ll /usr/lib/libpcsclite.so
     echo "done"
     exit
  fi
done

ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#8 Le 02/01/2013, à 12:35

Nialalala

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Bonjour,

Sous Ubuntu 12.04.1 64 bits, j'ai le même lecteur de carte que toi.
Pour ma part, j'ai trouvé la lib libpcsclite.so.1 sous /lib/x86_64-linux-gnu/libpcsclite.so.1.
J'ai donc modifié la ligne d'activation du lien symbolique en :

sudo ln -s /lib/x86_64-linux-gnu/libpcsclite.so.1 /usr/lib/libpcsclite.so

Pour faire bon poids, j'ai aussi installé libpcsclite-dev par Synaptic et pcscd par la logithèque (proposé avec libpcsclite1 qui était déjà installé).

Après redémarrage de l'ordinateur ça marche (mais je ne sais pas exactement ce qui était strictement nécessaire).
Merci pour le déboguage initial !

Dernière modification par Nialalala (Le 02/01/2013, à 14:56)


La documentation et les forum quotidiennement tu liras.

Hors ligne

#9 Le 02/01/2013, à 18:47

Maisondouf

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

En fait depuis quelques versions, le lien symbolique est installé en même temps que la librairie 'dev'.
On avait réussi à faire avancer la chose avec Ludovic Rousseau (le créateur de pcsc et gscriptor).
Tout les lecteurs modernes sont maintenant bien détectés par Java.

EDIT: c'est quel type de cartes que tu veux lire ?

Dernière modification par Maisondouf (Le 02/01/2013, à 18:51)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#10 Le 31/05/2013, à 18:56

Nialalala

Re : [résolu]Lecteur de carte à puce ACS38U-CCID invisible sous Java

Il s'agit de lire et recharger une carte d'abonnement de transport en commun à Grenoble.
(Excuse-moi pour le délai de réponse, mais je n'ai pas vu passer la tienne - le changement de version d'Ubuntu m'a contraint à revenir chercher le "truc")


La documentation et les forum quotidiennement tu liras.

Hors ligne

Haut de page ↑