SCardEstablishContext: сервис недоступен
Я установил следующие пакеты:
- libusb-DEV
- libusb ++ - 0.1-4c2
- libccid
- pcscd
- libpcsclite1
- libpcsclite-DEV
- Элемент списка
- libpcsc жемчужно
- PCSC-инструменты
Но когда я посылаю команду pcsc_scan, я получаю следующий вывод:
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:/#
Зачем?
Примечание: я использую BackTrack5
2 ответа
Решение
Быстрый 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.service
а также pcscd.socket
где последний отвечает за этот пропавший файл. Therefore, the proper solution will be:
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
Now you can properly enjoy your pcsc_scan
,