SCardEstablishContext: servizio non disponibile


7

Ho installato i seguenti pacchetti:

  • libusb-dev
  • libusb ++ - 0.1-4c2
  • libccid
  • pcscd
  • libpcsclite1
  • libpcsclite-dev
  • Voce di elenco
  • libpcsc-perl
  • PCSC-tools

Ma quando invio il comando pcsc_scan ho ricevuto l'output seguente:

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

Perché?

Nota: utilizzo BackTrack5

Risposte:


12

Sembra che il tuo pccd non sia in esecuzione (servizio di avvio pccd).


Ho eseguito questo sudo service pcscd startcomando su Mint LMDE. Il LED sul lettore di smart card inizia a lampeggiare, ma quando sudo pcsc_scanPC/SC device scanner V 1.4.27 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr> Compiled with PC/SC lite version: 1.8.17 SCardEstablishContext: Service not available.
scrivo di

0

Quick strace pcsc_scanrivela che tenta di aprire un file inesistente /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 +++

E infatti non esiste:

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

Questo perché ci sono due parti di pcscd: pcscd.servicee pcscd.socket, dove quest'ultima è responsabile per quel file mancante . Pertanto, la soluzione corretta sarà:

sudo systemctl restart pcscd.socket

demo:

$ 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

Ora puoi goderti correttamente il tuo pcsc_scan.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.