web-dev-qa-db-fra.com

ScardestablishContext: Service non disponible

J'ai installé les paquets suivants:

  • librusb-dev
  • libusb ++ - 0,1-4C2
  • libccidé
  • pcscd
  • libpcsclite1
  • libpcsclite-dev
  • Élément de la liste
  • libpcsc-perl
  • pCSC-TOOLS

Mais lorsque j'envoie la commande PCSC_SCAN, j'ai reçu la sortie ci-dessous:

root@bt:/# pcsc_scan
PC/SC device scanner
V 1.4.16 (c) 2001-2009, Ludovic Rousseau <[email protected]>
Compiled with PC/SC lite version: 1.5.3
SCardEstablishContext: Service not available.
root@bt:/#

Pourquoi?

Remarque : J'utilise BackTrack5

10
Abraham

Il semble que votre PCSCD ne fonctionne pas (service PCSCD START).

14
silhano

Rapide strace pcsc_scan révèle qu'il tente d'ouvrir un fichier non existant /var/run/pcscd/pcscd.comm:

stat("/var/run/pcscd/pcscd.comm", 0x7fff315e9dc0) = -1 ENOENT (No such file or directory)
....
SCardEstablishContext: Service not available.
...
exit_group(-1)                          = ?
+++ exited with 255 +++

Et en effet, cela n'existe pas:

$ ls /var/run/pcscd/pcscd.comm
ls: cannot access '/var/run/pcscd/pcscd.comm': No such file or directory

En effet, il y a deux parties de PCSCD: pcscd.service et pcscd.socket, où ce dernier est responsable de ce fichier manquant . Par conséquent, la solution appropriée sera:

Sudo systemctl restart pcscd.socket

Démo:

$ ls /var/run/pcscd/pcscd.comm
ls: cannot access '/var/run/pcscd/pcscd.comm': No such file or directory
$ Sudo systemctl restart pcscd.socket
$ ls /var/run/pcscd/pcscd.comm
/var/run/pcscd/pcscd.comm

Maintenant, vous pouvez bien profiter de votre pcsc_scan.

1
sanmai