Pn533

= Introduction =

Cet article décrit comment installer et utiliser les dongles nfc pn533.

= Installation =

libnfc
La libnfc dépend de libusb et pcsclite. Il n'existe pas pour le moment de package officiel libnfc. La libnfc contient aussi des outils tel que nfc-list ou pn53x-tamashell.

La page du projet : http://code.google.com/p/libnfc/

archlinux
Il y a un package dans les AUR disponible : https://aur.archlinux.org/packages/libnfc/

pacman -Sy libusbx libusb-compat pcsclite wget https://aur.archlinux.org/packages/li/libnfc/libnfc.tar.gz tar xvf libnfc.tar.gz cd libnfc makepkg sudo pacman -U libnfc*.tar.xz

autres
Voir ici : http://nfc-tools.org/index.php?title=Libnfc#Installation

ifdnfc
Permet d'utiliser pcscd avec le pn533.

La page du projet : https://code.google.com/p/ifdnfc/

git clone https://code.google.com/p/ifdnfc/ autoreconf -vis ./configure sudo make install

mfcuk
mfcuk dépend de la libnfc. Les sources doivent être corrigées pour fonctionner avec la dernière version de la libnfc.

La page du projet : http://code.google.com/p/mfcuk/

archlinux
Un package est disponible dans les AUR.

wget https://aur.archlinux.org/packages/mf/mfcuk/mfcuk.tar.gz tar xvf mfcuk.tar.gz cd mfcuk makepkg

Si l'erreur de compilation suivante se produit : "nfc-utils.c:121:3: error: incompatible type for argument 2 of ‘str_nfc_target’", changer la ligne 121 du fichier src/mfcuk-0.3.7/src/nfc-utils.c comme ceci :

- str_nfc_target(&s, nt, verbose); + str_nfc_target(&s, &nt, verbose);

Ensuite poursuivre la création et l'installation du package :

makepkg -e sudo pacman -U mfcuk*.tar.xz

autre
wget http://mfcuk.googlecode.com/files/mfcuk-0.3.7.tar.gz tar xvf mfcuk-0.3.7.tar.gz cd mfcuk-0.3.7

Changer la ligne 121 de src/nfc-utils.c :

- str_nfc_target(&s, nt, verbose); + str_nfc_target(&s, &nt, verbose);

Ensuite :

./configure sudo make install

mfoc
mfoc dépen de la libnfc. Démarche similaire à celle pour mfcuk, même correction du code source.

La page du projet : http://code.google.com/p/mfoc/

Le package dans les aur : https://aur.archlinux.org/packages/mfoc/

pcsc-tools
pcsc-tools nécessite pcscd et ifdnfc. Il comprend notamment l'utilitaire pcsc_scan.

Archlinux :

sudo pacman -Sy pcsc-tools

Debian :

apt-get install pcsc-tools

Pour avoir une meilleur détection du type de smartcard/tag, il faut mettre à jour smartcard_list.txt avec celle-ci : http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt

Sous archlinux il se trouve dans /usr/share/smartcard_list.txt.

sudo wget http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt -O /usr/share/smartcard_list.txt

= Utilisation =

Il faut d'abord s'assurer que le module pn533 et nfc ne soient pas chargés :

modprobe -r pn533 nfc

Il est possible de les blacklister de manière permanente en rajoutant un fichier /etc/modprobe.d/blacklist-libnfc.rules

blacklist pn533 blacklist nfc

Pour des raisons de permissions, il faut rajouter une règle udev. Créez le fichier /etc/udev/rules.d/pn533.conf :

ATTRS{idVendor}=="04cc", ATTRS{idProduct}=="2533", MODE="0666"

PC/SC
Pour utiliser pcsc, il faut que pcscd soit lancé et il faut utiliser ifdnfc-activate

sudo systemctl start pcscd ifdnfc-activate

Vous pouvez alors utiliser :

pcsc_scan

libnfc
Il faut que pcscd ne tourne pas :

sudo systemctl stop pcscd

Vous pouvez alors utiliser :

nfc-list pn53x-tamashell