Publicerad Lämna en kommentar

Så installerar du libnfc på Ubuntu 18.04

NFC-läsaren ACR122U är en populär läsare som kan användas med programbiblioteket libnfc.

Programbiblioteket libnfc behövs för att kunna skriva till och läsa från bland annat ett Mifare-kort av typen som kallas för generation 1 (men kan göra mycket mer än så också). libnfc finns för alla vanligt förekommande operativsystem. Detta programbibliotek är möjligen det mest populära när man vill koppla en NFC-läsare till sin dator och använda den på olika sätt. Däremot var det länge sedan libnfc uppdaterades och de beskrivningar som finns av hur man installerar programbiblioteket börjar bli utdaterade. Det är inte helt självklart hur man faktiskt installerar den, och speciellt inte om man vill att den ska lira snällt med andra mjukvaror. I den här guiden kommer vi beskriva hur man installerar libnfc på Ubuntu 18.04 LTS på bästa möjliga sätt.

Vad du behöver

1. En dator med en Linux-distribution installerat (eller Windows med en virtuell maskin). I den här guiden använder vi Ubuntu 18.04.2 LTS.
2. En NFC-läsare, och vi rekommenderar ACR122U.

Ladda ned och installera libnfc

Man kan installera libnfc på flera olika sätt. Vi rekommenderar att man laddar ned den senaste utvecklingsversionen från GitHub och kompilerar koden själv. Vi följde instruktionerna för installation av libnfc som finns på denna sida, men det funkar inte att följa instruktionerna rakt av, så vi gjorde med några variationer som är beskrivet här nedan.

1. Ladda ned källkoden från GitHub.

2. Extrahera mappen från zipfilen.

3. Öppna terminalen och byt mapp till libnfc-mappen som du precis laddade ned och extraherade.

4. Se till att installera dh-autoreconf med

sudo apt-get install dh-autoreconf

5. Kör sedan autoreconf i den mappen där alla filer för libnfc finns med

autoreconf -v -i -s

6. Nu ska du köra ./configure. Men det finns vissa saker att tänka på innan du gör det. För det första kommer configure kontrollera att du har diverse andra programbibliotek installerade innan den skapar makefilen. Vi saknade doxygen. Det var bara att installera med sudo apt-get install doxygen.

Det andra man behöver tänka på är var man vill installera nfclib. Vi rekommenderar att man installerar enligt kommandot nedan då den binära filen bör hamna i en mapp som vanligtvis finns med i PATH-variabeln (då kan operativsystemet hitta det). Och konfigurationsfilerna hamnar i etc-mappen (vilket är standard). Om du är nöjd med detta kan du köra följande kommando

./configure --enable-doc --prefix=/usr --sysconfdir=/etc

Förhoppningsvis får du inga felmeddelanden. Om det kommer ett felmeddelande om att det saknas ett programbibliotek så kan du prova om du kan installera det med sudo apt-get install.

7. Kör kommandot make. Koden kommer nu att kompileras.

Testa om libnfc kan hitta läsaren och läsa ett kort
Innan vi forsätter installationen ska vi testa så att libnfc kan hitta läsaren och även läsa av ett kort. I mappen utils finns det verktyg för att testa dessa saker.

1. Sätt in din läsare i USB-porten och skriv i terminalen:

utils/nfc-scan-device -v

Du kommer troligen få ett felmeddelande i stil med:

Unable to claim USB interface (Device or resource busy)

Felmeddelandet innebär att en modul håller USB-gränssnittet upptaget. Följ instruktionerna nedan för att lösa problemet.

2. För att se vilken modul som hållet gränssnittet upptaget skriv

lsmod | grep nfc

Du får en output i likhet med:

nfc 118784 1 pn533

För att ta bort denna modul (tillfälligt) skriv:

sudo rmmod pn533_usb pn533

3. Testa igen att skriva:

utils/nfc-scan-device -v

Denna gång bör du få ett meddelande i stil med:

1 NFC device(s) found:
- ACS / ACR122U PICC Interface:
acr122_usb:002:004

4. Lägg nu ett Mifare-kort på läsaren. Vi ska testa om nfclib kan använda läsaren för att läsa av kortet. Skriv i terminalen:

utils/nfc-list

Du får grundläggande information om chippet i stil med:

NFC device: ACS / ACR122U PICC Interface opened
1 ISO14443A passive target(s) found:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 02
UID (NFCID1): 8e 37 b1 51
SAK (SEL_RES): 18

Du kanske även får felmeddelandet Command Code verification failed. Vi kunde inte någon lösning på detta felmeddelande och fortsatte installationen utan att ha löst problemet. Det verkar lösa sig efter att man genomfört det sista steget.

Slutför installationen av libnfc

Nu kan du avsluta installationen av nfclib genom att skriva följande i terminalen:

sudo make install

Nu ska libnfc vara installerat. Du kan testa genom att lägga ett kort på läsaren och skriva

nfc-list

Den här gången behöver man inte skriva utils före efter som operativsystemet kommer leta efter verktyget i /usr mappen som du angav när du installerade programmet. Om du återigen får information om kortet så har installationen lyckats.

Det finns inget program/kommando som heter nfclib. libnfc består av en rad olika program/kommandon/verktyg och en lista på dessa finns här. Det finns bland annat verktyg att skriva och läsa från Mifare Classic- och Ultralight-kort. Vi kommer visa hur dessa verktyg fungerar i kommande inlägg.

Publicerad Lämna en kommentar

Välkomna till Chipster!

Nu slår ännu en webbutik upp dörren i Sverige. Vårt namn är Chipster och vi fokuserar på RFID- och NFC-produkter. Vi som driver den här webbutiken tycker att RFID och NFC är bland det roligaste som finns och vi har lekt med dessa tekniker i många år. Sedan cirka fem år jobbar vi även professionellt med dessa tekniker och det har blivit hög tid att även öppna en webbutik.

Vår ambition är att inom några år ha det största utbudet av RFID och NFC-produkter i Sverige. Man ska som både privatperson och som företagare kunna besöka Chipster och hitta de produkter och tjänster man söker inom RFID-fältet. Vi kommer börja med ett relativt litet utbud, men ett utbud som vi vet det finns en stor efterfrågan på. Vi börjar med NFC-läsare, RFID-läsare, RFID-programmerare, nyckeltaggar (med olika transpondrar), nyckelkort (med olika transpondrar) och klistermärken (NTAG213 i dagsläget).

Känner man att det börjar bli lite för många prylar nu som innehåller RFID och NFC eller om man hört rapporter om hackare som kommit över känslig information genom att hacka kort och nycklar som innehåller dessa tekniker så kan vi snart erbjuda vårt egna RFID-skyddskort. Detta kort blockerar effektivt alla signaler mellan en NFC-läsare och dina kort. Du stoppar helt enkelt detta kort i plånboken och kan därefter känna dig trygg med att ingen kommer över informationen på dina kort. Alla moderna pass innehåller också RFID-tekniker och med detta kort kan man skydda sig från att någon på avstånd läser informationen i passet.

Vår målsättning är att med tiden även kunna erbjuda fler typer av produkter, såsom RFID-armband, handhållna skanners och injicerbara taggar för husdjur (som veterinärer kan använda för att id-märka husdjur), men även kunna erbjuda tjänster där vi kan skriva text och nummer på taggar och loggor på kort. Självklart anstränger vi oss för att kunna erbjuda marknadens bästa priser.

Vår nya resa börjar här och vi ser väldigt mycket fram emot den.