Touchatag RFID Reader (Polski)

Touchatag to czytnik tagów RFID od
Touchatag
. Jest to tani zestaw składający się z czytnika tagów USB ACR122U i tagów MiFare Ultralight RFID (ID USB
072f:2200
, użyj
lsusb -v
, aby sprawdzić wersję oprogramowania układowego - 2.14 na dzień 2020-05-10 - pod deskryptorem
bcdDevice
).
Note
Zawsze umieszczaj znacznik na czytniku, w przeciwnym razie możesz napotkać problemy.
Instalacja
Zatrzymanie ładowania sprzecznych sterowników (
nfc
,
pn533
i
pn533_usb
).
Patrz uwaga dotycząca
blokowania
sterowników: wciąż mogą być ładowane ręcznie, więc powinieneś
utworzyć
następujący plik:
/etc/modprobe.d/blacklist.conf
install nfc /bin/false
install pn533 /bin/false
install pn533_usb /bin/false
Przeładuj reguły udev
, wyładuj sprzeczne moduły jeżeli zostały już załadowane:
# rmmod pn533_usb pn533 nfc
albo zwyczajnie uruchom system ponownie.
Istnieją dwie opcje podłączenia czytnika tagów do libnfc. Różnica między nimi jest szczegółowo opisana na stronie
stackoverflow
.
USB
Jest to nowoczesny i zalecany sposób korzystania z tego urządzenia.
Aby używać
acr122_usb
,
nie
trzeba uruchamiać demona pcsc (
README libnfc
obecnie mówi, że należy go uruchomić, ale jest to sposób dla PC/SC).
Zainstaluj
libnfc
.
PC/SC
Jest to starszy i przestarzały sposób korzystania z tego urządzenia.
Zainstaluj
ccid
oraz
pcsc-tools
.
Użycie
USB
Sprawdź, czy urządzenie zostało wykryte:
# nfc-list
nfc-list uses libnfc 1.7.1
NFC device: ACS / ACR122U PICC Interface opened
Odczyt kart NFC również działa:
# nfc-poll
nfc-poll uses libnfc 1.7.1
NFC reader: ACS / ACR122U PICC Interface opened
NFC device will poll during 30000 ms (20 pollings of 300 ms for 5 modulations)
ISO/IEC 14443A (106 kbps) target:
    ATQA (SENS_RES): 00  04
       UID (NFCID1): 42  14  3e  2e
      SAK (SEL_RES): 08
Waiting for card removing...nfc_initiator_target_is_present: Target Released
done.
PC/SC
Aby przetestować urządzenie, uruchom je:
# pcscd -f
Włącz
pcscd.service
, następnie umieść tag na czytniku, wynik powinien wyglądać następująco:
# pcsc_scan
PC/SC device scanner
V 1.4.17 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.6.6
Scanning present readers...
0: ACS ACR122U 00 00

Mon Mar 21 18:16:07 2011
 Reader 0: ACS ACR122U 00 00
  Card state: Card inserted, Shared Mode,
  ATR: 3B BE 95 00 00 41 03 00 00 00 00 00 00 00 00 00 02 90 00

ATR: 3B BE 95 00 00 41 03 00 00 00 00 00 00 00 00 00 02 90 00
+ TS = 3B --> Direct Convention
+ T0 = BE, Y(1): 1011, K: 14 (historical bytes)
  TA(1) = 95 --> Fi=512, Di=16, 32 cycles/ETU
    125000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 156250 bits/s
  TB(1) = 00 --> VPP is not electrically connected
  TD(1) = 00 --> Y(i+1) = 0000, Protocol T = 0
-----
+ Historical bytes: 41 03 00 00 00 00 00 00 00 00 00 02 90 00
  Category indicator byte: 41 (proprietary format)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B BE 95 00 00 41 03 00 00 00 00 00 00 00 00 00 02 90 00
        touchatag SAM card
Wskazówki i porady
tagEventor
tagEventor
działa w tle i wykonuje skrypty, gdy tag wchodzi lub wychodzi z czytnika tagów.
Pobierz
wersję binarną
lub
skompiluj
własną.
Uruchom tagEventor, aby przetestować instalację:
# tagEventor -v 1
Skrypty znajdują się w
/etc/gtagEventor
. Przeczytaj dokumentację
tagEventor
, aby dowiedzieć się, jak z nich korzystać.
Rozwiązywanie problemów
Firmware […] is bogus! Upgrade the reader firmware
Jeśli napotkasz taki problem:
ccid_usb.c:859:ccid_check_firmware() Firmware (1.00) is bogus! Upgrade the reader firmware or get a new reader.
ifdhandler.c:104:IFDHCreateChannelByName() failed
readerfactory.c:1050:RFInitializeReader() Open Port 200000 Failed (usb:072f/2200:libusb:006)
readerfactory.c:233:RFAddReader() ACS ACR122U PICC Interface init failed.
README libnfc
sugeruje wykonanie następujących czynności:
Usuwanie fałszywego wykrywania oprogramowania układowego libccid:
edytuj
libccid_Info.plist
plik konfiguracyjny (zwykle
/etc/libccid_Info.plist
) i zlokalizuj
<key>ifdDriverOptions</key>
, zmień
<string>0x0000</string>
na
0x0004
, aby zezwolić na fałszywe urządzenia i
zrestartuj
pcscd.service
.
Note
Jeśli używasz sterowników ACS CCID (acsccid), plik konfiguracyjny znajduje się w czymś takim jak:
/usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist
albo
/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
.