*-
* Free/Libre Near Field Communication (NFC) library
*
* Libnfc historical contributors:
* Copyright (C) 2009 Roel Verdult
* Copyright (C) 2009-2015 Romuald Conty
* Copyright (C) 2010-2012 Romain Tartière
* Copyright (C) 2010-2013 Philippe Teuwen
* Copyright (C) 2012-2013 Ludovic Rousseau
* Additional contributors:
* See AUTHORS file
-*
libnfc adalah perpustakaan yang memungkinkan akses aplikasi ruang pengguna ke perangkat NFC.
Situs web resminya adalah: http://www.nfc-tools.org/
Situs forum resminya adalah: http://www.libnfc.org/community/
Situs pengembangan resminya adalah: https://github.com/nfc-tools/libnfc
Catatan penting: file ini mencakup sistem POSIX, untuk Windows harap baca README-Windows.md
Beberapa driver NFC bergantung pada perangkat lunak pihak ketiga:
pn53x_usb & acr122_usb:
acr122_pcsc:
buah:
Rangkaian pengujian regresi bergantung pada kerangka pemotong: http://cutter.sf.net
Catatan: Jika bekerja langsung dari git clone repositori, beberapa file perlu dibuat terlebih dahulu. Untuk melakukan ini jalankan autoreconf -vis
Atau gunakan versi .tar.bz2 dari rilis paket (yang sudah berisi ./configure): https://github.com/nfc-tools/libnfc/releases/
Pembuatannya harus sesederhana menjalankan perintah berikut:
./configure
make
Untuk membangun dengan driver tertentu, lihat opsi --with-drivers=...
yang dirinci dalam ./configure --help
.
make install
Anda mungkin perlu memberikan izin kepada pengguna untuk mengemudikan perangkat Anda. Pada sistem GNU/Linux, jika Anda menggunakan udev, Anda dapat menggunakan aturan udev yang disediakan. misalnya di Debian, Ubuntu, dll.
sudo cp contrib/udev/93-pn53x.rules /lib/udev/rules.d/
Di FreeBSD, jika Anda menggunakan devd, ada juga file aturan: contrib/devd/pn53x.conf.
Untuk mengubah perilaku default perpustakaan, libnfc menggunakan file konfigurasi yang terletak di sysconfdir (seperti yang disediakan untuk ./configure).
Contoh file yang dikomentari tersedia di sumber: libnfc.conf.sample
Jika Anda telah mengkompilasi menggunakan:
./configure --prefix=/usr --sysconfdir=/etc
Anda dapat membuat direktori konfigurasi dan menyalin file sampel:
sudo mkdir /etc/nfc
sudo cp libnfc.conf.sample /etc/nfc/libnfc.conf
Untuk mengonfigurasi beberapa perangkat, Anda dapat memodifikasi libnfc.conf atau membuat file per perangkat di direktori nfc/devices.d:
sudo mkdir -p /etc/nfc/devices.d
printf 'name = "My first device"nconnstring = "pn532_uart:/dev/ttyACM0"n' | sudo tee /etc/nfc/devices.d/first.conf
printf 'name = "My second device"nconnstring = "pn532_uart:/dev/ttyACM1"n' | sudo tee /etc/nfc/devices.d/second.conf
Anda dapat mengganti opsi konfigurasi tertentu saat runtime menggunakan variabel lingkungan berikut:
LIBNFC_DEFAULT_DEVICE=
: LIBNFC_DEFAULT_DEVICE=pn532_uart:/dev/ttyACM0
akan menggunakan pn532 di /dev/ttyACM0 sebagai perangkat defaultLIBNFC_DEVICE=
akan mengabaikan semua perangkat di file konfigurasi dan hanya menggunakan perangkat yang ditentukan dalam variabelLIBNFC_AUTO_SCAN=
mengesampingkan allow_autoscan
di file konfigurasiLIBNFC_INTRUSIVE_SCAN=
mengesampingkan allow_intrusive_scan
di file konfigurasiLIBNFC_LOG_LEVEL=<0|1|2|3>
mengganti opsi log_level
di file konfigurasi Untuk mendapatkan koneksi perangkat yang dikenali, Anda dapat menggunakan nfc-scan-device
: LIBNFC_AUTO_SCAN=true nfc-scan-device
akan menampilkan nama & koneksi semua perangkat yang ditemukan.
Untuk melaporkan bug, kunjungi https://github.com/nfc-tools/libnfc/issues dan isi formulir laporan bug.
Jika Anda memiliki pertanyaan, komentar, kami mendorong Anda untuk memposting ini di komunitas pengembang: http://www.libnfc.org/community
Harap pastikan untuk menyertakan:
Versi libnfc
Informasi tentang sistem Anda. Misalnya:
Dan hal lain yang menurut Anda relevan.
Jejak dengan debug diaktifkan.
Reproduksi bug dengan debug, misalnya jika:
$ nfc-list -v
jalankan sebagai:
$ LIBNFC_LOG_LEVEL=3 nfc-list -v
Cara mereproduksi bug.
Harap sertakan program tes singkat yang menunjukkan perilaku tersebut.
Sebagai upaya terakhir, Anda juga dapat memberikan penunjuk ke bagian yang lebih besar
perangkat lunak yang dapat diunduh.
Jika bugnya adalah crash, teks persis seperti yang dicetak
saat kecelakaan itu terjadi.
Informasi lebih lanjut seperti pelacakan tumpukan mungkin berguna, namun
tidak diperlukan.
Patch dapat diposting ke https://github.com/nfc-tools/libnfc/issues
Jika patch memperbaiki bug, biasanya merupakan ide bagus untuk menyertakan semua informasi yang dijelaskan dalam "Cara Melaporkan Bug".
Jika perangkat Touchatag atau ACR122 Anda gagal terdeteksi oleh libnfc, pastikan daemon PCSC-lite ( pcscd
) diinstal dan dijalankan.
Jika perangkat Touchatag atau ACR122 Anda gagal terdeteksi oleh daemon PCSC-lite ( pcsc_scan
tidak melihat apa pun), coba hapus deteksi firmware palsu dari libccid: edit file konfigurasi libccid_Info.plist (biasanya /etc/libccid_Info.plist
) dan cari
, ubah nilai
menjadi 0x0004
menjadi izinkan perangkat palsu dan mulai ulang daemon pcscd.
Menggunakan perangkat ACR122 dengan libnfc dan tanpa tag (misalnya untuk menggunakan mode NFCIP atau emulasi kartu) memerlukan penyesuaian PCSC-lite lainnya: Anda harus mengizinkan penggunaan perintah CCID Exchange. Untuk melakukannya, edit file konfigurasi libccid_Info.plist
(biasanya /etc/libccid_Info.plist
) dan cari
, ubah nilai
menjadi 0x0001
untuk mengizinkan pertukaran CCID atau 0x0005
untuk mengizinkan Pertukaran CCID dan perangkat palsu (lihat komentar sebelumnya) dan restart daemon pcscd.
Peringatan: jika Anda menggunakan driver ACS CCID (acsccid), file konfigurasi terletak di sesuatu seperti: /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist
Libnfc tidak dapat digunakan bersamaan dengan driver milik PCSC SCL3711. Dua kemungkinan solusi:
Sejak kernel Linux versi 3.1, beberapa modul kernel tidak boleh dimuat untuk menggunakan libnfc : "nfc", "pn533" dan "pn533_usb". Untuk mencegah kernel memuat modul-modul ini secara otomatis, Anda dapat memasukkan modul-modul tersebut ke dalam daftar hitam di file conf modprobe. File ini disediakan dalam arsip libnfc:
sudo cp contrib/linux/blacklist-libnfc.conf /etc/modprobe.d/blacklist-libnfc.conf
Libnfc dapat bekerja dengan driver milik PCSC bR500 dan R502, yang sudah tersedia di sebagian besar pengaturan Linux. Untuk mengaktifkan dukungan PCSC: ./configure --with-drivers=pcsc
. Pembaca diketahui bekerja:
Pembaca ini didukung oleh CCID sejak v1.4.25, pastikan versi driver CCID Anda lebih tinggi atau sama dengan 1.4.25.
Di MacOS, Anda dapat memeriksa versi CCID Anda dengan perintah berikut, dan jika diperlukan, Anda dapat menginstal driver CCID terbaru dari https://github.com/martinpaljak/osx-ccid-installer/releases
grep -A 1 CFBundleShortVersionString /usr/local/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist
Di Linux, Anda dapat memeriksa versi CCID Anda dengan perintah berikut, dan jika diperlukan, Anda dapat menginstal driver CCID terbaru dari https://ccid.apdu.fr/
grep -A 1 CFBundleShortVersionString /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
FeliCa adalah merek dagang terdaftar dari Sony Corporation. MIFARE adalah merek dagang dari Semikonduktor NXP. Jewel Topaz adalah merek dagang dari Innovision Research & Technology. Semua merek dagang lainnya adalah milik dari pemiliknya masing-masing.