Бесконтактный считыватель SCL01x с PCSC lite на Ubuntu

У меня есть устройство чтения смарт-карт от Ingenico, и я пытаюсь заставить его работать в Ubuntu 12.4. 64 бит

Я уже установил pcsc lite и libusb и драйвер для считывателя, который является драйвером бесконтактного считывателя SCL01x.

Ситуация такова, когда я подключаю ридер к своему USB-порту, сигнальная лампочка на ридере не горит.

Когда я пытаюсь запустить pcscd, я получаю его ошибки:

00000000 dyn_unix.c:37:DYN_LoadLibrary() /usr/local/lib/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09: /usr/local/lib/pcsc/drivers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09: wrong ELF class: ELFCLASS32
00000096 readerfactory.c:996:RFInitializeReader() RFLoadReader failed: 0xFFFFFFFF80100014
00000074 readerfactory.c:312:RFAddReader() SCL011G Contactless Reader [SCL01x Contactless Reader] (21161207200555) init failed.
00000047 hotplug_libudev.c:391:HPAddDevice() Failed adding USB device: SCL011G Contactless Reader

когда я запускаю pcsc_scan:

PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau <[email protected]>
Compiled with PC/SC lite version: 1.7.4
Using reader plug'n play mechanism
Scanning present readers...
0: SCL011G Contactless Reader [SCL01x Contactless Reader] (21161207200555) 00 00

Fri Jan 17 03:27:45 2014
Reader 0: SCL011G Contactless Reader [SCL01x Contactless Reader] (21161207200555) 00 00
  Card state: 

И ничего...

Я попробовал также пример с пакетом smartcardio в java, и ошибка: нет терминалов, кард-ридер не может быть найден. Когда я запускаю lsusb, в списке устройств появляется мой ридер, помеченный как SCM Microsystem.

[EDIT][1.0] Мне удалось запустить службу pcscd, теперь я вижу, что устройство работает по сигнальным индикаторам Когда я провожу по нему смарт-картой, индикаторы работают . Установлен 64-битный драйвер

Trying to figure out why do i get error: SCardEstablishContext: Service not available.
after pcsc_scan command

person Goran Bralo    schedule 17.01.2014    source источник


Ответы (2)


Не удалось загрузить драйвер: wrong ELF class: ELFCLASS32 00000096

Вы пытаетесь загрузить 32-битную библиотеку на 64-битную платформу. Либо запустите 32-битную установку chroot/multilib, либо получите/скомпилируйте библиотеку для 64-битной версии.

person Ludovic Rousseau    schedule 17.01.2014
comment
Вы можете подкрепить это более подробной информацией, иначе это может быть удалено. - person Roy M J; 17.01.2014
comment
Да, очевидно, я загрузил 32-битную библиотеку. Можете ли вы дать мне более подробную информацию о том, как запустить 32-битную установку chroot/multilib? Как я вижу, для этого устройства нет 64-битного драйвера. РЕДАКТИРОВАТЬ Я запустил sudo service pcscd start и вижу, что устройство работает, сигнальные индикаторы мигают, когда я провожу по нему картой nfc. Когда я использую pcsc_scan, я получаю следующее: SCardEstablishContext: Служба недоступна. - person Goran Bralo; 17.01.2014
comment
Я нашел 64-битный драйвер, установил, когда я запускаю pcsc_scan, я всегда получаю ошибку: SCardEstablishContext: Service not available. Как я могу запустить эту службу? Как я вижу, демон pcscd работает. - person Goran Bralo; 17.01.2014

РЕШЕНО После того, как я нашел и установил 64-битный драйвер, я просто убил службу pcscd. Я сделал это так:

sudo killall pcscd
sudo pcscd -fd

После этого я смог прочитать смарт-карту с помощью моего ридера.

Также хорошо работал пример кода из java.samrtcardio.

person Goran Bralo    schedule 18.01.2014