web-dev-qa-db-ja.com

SCardEstablishContext:サービスを利用できません

次のパッケージをインストールしました。

  • libusb-dev
  • libusb ++-0.1-4c2
  • libccid
  • pCCD
  • libpcsclite1
  • libpcsclite-dev
  • リストアイテム
  • libpcsc-Perl
  • pcsc-tools

しかし、pcsc_scanコマンドを送信すると、次の出力が表示されます。

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:/#

どうして?

注:私はBackTrack5を使用しています

10
Abraham

Pcscdが実行されていないようです(サービスpcscd start)。

14
silhano

Quick strace pcsc_scanは、存在しないファイル/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 +++

そして確かにそれは存在しません:

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

これは、pcscdにはpcscd.servicepcscd.socketの2つの部分があるためです。ここで、 後者は、欠落しているファイルの原因です です。したがって、適切な解決策は次のとおりです。

Sudo systemctl restart pcscd.socket

デモ:

$ 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

これで、pcsc_scanを適切に楽しむことができます。

1
sanmai