понедельник, 20 июля 2015 г.

Установка драйвера для NFC-картридера ACR1251 на BBB под управлением Debian 8

На плате BBB используется один из последних дистрибутивов GNU/Linux Debian 8, в котором есть пакетный репозитарий.

Мы подключаемся по RS-232 к BBB через собранную на коленке плату-конвертор. Подробнее тут . На нашей рабочей ОС Ubuntu 14.04 amd64 зайдем в терминал и установим связь:

sudo screen /dev/ttyS0 115200,cs8 

Подключим BeagleBone Black через коммутатор к сети и поставим уже собранные пакеты демона (pcscd) и драйвера (libacsccid) (middleware-библиотека libpcsclite уже стоит):

sudo apt-get update
sudo apt-get install pcscd
sudo apt-get install libacsccid1

Команда lsusb (sudo lsusb) видит картридер ACR1251:

Bus 001 Device 007: ID 072f:221a Advanced Card Systems, Ltd 
Bus 001 Device 006: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
Bus 001 Device 005: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Команда lsusb -d 072f:221a -v :

Посмотреть вывод...


Запустим демон в режиме отладки (/usr/sbin/pcscd -fd), чтобы увидеть, что драйвер картридера libacsccid корректно загрузился при подключении устройства.


Посмотреть вывод...



Возникает ошибка: "Can't claim interface 001/007: Device or resource busy".

При загрузке ядра на BBB мы получаем следующие сообщения инициализации USB (dmesg | grep usb).

Посмотреть вывод...


Однако, несмотря на ошибки, картридер корректно выполняет чтение и запись на карту. Моё приложение, использующее динамическую библиотеку libpcsclite, корректно работает (даже при соединение через USB2.0 Hub, что по непонятным для меня причинам мешало работать другому картридеру ACR122, возможно, поддержка последним только USB1.0 (?)).


Комментариев нет:

Отправить комментарий