Activare cititor NFC/RFID pe laptop DELL (E7440)

Dacă tot folosesc în prezent cheia de securiate FEITIAN ePass FIDO2-NFC care are oferă și funcții NFC, am zis că e momentul să testez cititorul NFC încorporat în laptop DELL Latitude E7440.

Rulând în linux (Mint) comanda pcsc_scan observ că este detectat doar cititorul de carduri cu contact, nu și cititorul de carduri fără contact:

Broadcom 5880 activare NFC RFID

După ceva săpaturi online am descoperit că sunt necesari ceva pași pentru activarea funcționalitătii NFC/RFID pe laptop-urile DELL din gama Latitude.
Astfel, un prim pas este activarea în BIOS a functiei TPM Security, iar apoi trebuie folosit un utilitar furnizat de Broadcom pentru activarea diverselor functii.

Dacă pentru sistemele pe care rulează Windows este destul de ușor, pentru linux este o altă poveste, nefiind disponibil utilitarul respectiv pentru acest sistem de operare. Soluția este să descărcați fișierul de aici (și apoi îi schimbați extensia din .exe în .zip sau de aici direct în format .zip.

Urmează să extragem conținutul arhivei și ne interesează în mod deosebit conținutul directorului DOS.

Următorul pas este să realizăm un stick USB cu sistem de operare DOS de pe care să bootăm laptopul.

A. Realizare stick USB bootabil cu FreeDOS din Linux

O soluție care se poate aplica sub linux este:

  • se introduce stick-ul în portul USB (atenție daca la voi este tot /dev/sdb) și, daca este montat automat, se demonteaza cu comanda următoare:

umount /dev/sdb1

  • urmează să distrugem schema de partiționare de pe el și să creem un nou label de tip msdos (datele propriu-zis nu sunt șterse, se pot recupera după acest pas doar cu programe dedicate):

sudo parted /dev/sdb mklabel msdos

  • verificăm tabela de partiții și vom observa că nu exista în acest moment nici o partiție și obținem și informații importante despre capacitatea dispozitivului USB:

sudo parted /dev/sdb print

  • creem o nouă partiție cu dimensiunea cât este capacitatea stick-ului – la mine e 4010MB, atenție să înlocuiți această valoare cu numărul corect:

sudo parted /dev/sdb mkpart primary fat16 0 4010MB

  • urmează să facem această partiție bootabila cu comanda:

sudo parted /dev/sdb toggle 1 boot

  • pe această primă și singură partiție de pe stick-ul USB o vom formata FAT32:

sudo mkfs.vfat -F 32 /dev/sdb1

În imaginea următoare vedeți toți acesti pași rulați și răspunsurile obținute la comenzile rulate pe sistemul meu.

Linux creare stick bootabil cu FreeDOS

În acest moment dacă dorim să vizualizăm informațiile despre partiții vom avea ceva de genul:

linux sitck usb bootabil

Așadar acum există o partiție primară, formatată FAT32 si bootabila. Urmează să instalăm unetbootin, prin metoda care o preferăm. Eu am ales să folosesc Ubuntu PPA:

sudo add-apt-repository ppa:gezakovacs/ppa
sudo apt update
sudo apt install unetbootin

Dacă doriți puteți descărca binarul de pe pagina oficială sau binarul pe 64 de biti pentru versiunea 6.7.7 de aici.

Înainte de a rula programul UNetbootin este necesar să deconectați și să reconectați stick-ul USB de la/la sistem. În interfața programului alegem Distribuția FreeDOS, Type USB Drive, Drive /dev/sdb1 (atenție sa fie partiția de pe stick-ul USB) și apăsăm butonul OK. În câteva minute va termina toate operațiile, dar încă nu restartăm laptop-ul.

Repetăm pașii cu reconectarea stick-ului și dupa ce sistemul îl va monta automat, vom copia directorul DOS de care discutam anterior pe stick-ul USB. Abia acum putem reporni sistemul și selectăm din BIOS bootarea de pe stick-ul USB.


B. Realizare stick USB bootabil cu FreeDOS din Windows

O altă soluție care funcționează sub Windows (eu am testat sub Windows 10) este următoarea:

  • folosind un calculator pe care rulează Windows descărcăm programul Rufus (aveți aici versiunea 3.9 portabilă)
  • introduceți stick-ul USB în PC-ul cu Windows, lansați Rufus și alegeți în câmpul Device stick-ul corespunzător, la Boot selection alegeti FreeDOS, Partition scheme MBR, Target System BIOS (or UEFI-CSM) și apăsați butonul START
Rufus FreeDOS

Și în acest caz vom copia directorul DOS pe stick și vom boota laptop-ul DELL Latitude E7440 de pe stick-ul USB astfel creat.

Pentru a boota sistemul de pe stick-ul USB, apăsăm tasta F12 pentru a intra în Boot Manager de unde selectăm opțiunea dorită. Cănd vom ajunge la prompt-ul sistemului de operare DOS verificăm dacă suntem pe drive-ul corect (am observat că imaginea realizată cu unetbootin pornește pe A: și trebuie să executam comanda CD C:, dar imaginea realizată cu Rufus pornește direct pe drive-ul C: unde avem directorul nostru DOS). Urmează sa rulăm comanda următoare pentru a ajunge in directorul unde avem executabilul ushdiag.exe:

cd DOS

freedos usb boot

Verificăm starea componentelor Broadcom cu comanda:

ushdiag -u -stat

Observăm că status-ul pentru RFID Radio este enabled dar și că CV Only Radio este enable. Acest lucru nu permite funcționarea NFC/RFID pe laptop-ul DELL Lattitude E7440 cu alte aplicații decât cele oferite de producător.

broadcom activare nfc rfid Dell Latitudee E7440

Tot ce trebuie să facem este să dezactivăm această opțiune, rulând o singură comanda. Comanda este defapt aceași (ushdiag), diferă doar parametrii.

Dacă analizăm fișierul release.txt din directorul DOS observăm că putem dezactiva dispozitive cu argumentul -dd (device disable )urmat de <devMask>. Ei bine, această valoare trebuie calculată având în vedere semnificația biților dată de producător.

broadcom ushdiag disable cv radio

Așadar, este necesar să avem doar bit-ul 3 setat în 1 (pentru că dorim să dezactivăm doar opțiunea CV Only Radio), iar ceilalti biți să fie în zero. Rezultă 1000. Corect?
Această valoare hexazecimală 1000 transformată în binar devine cifra 8. Deci comanda care trebuie executată este:

ushdiag -u -dd 8

Durează câteva secunde bune, nu trebuie să vă speriați și după execuție se indică și starea nouă a componentelor:

ushdiag disable cv radio only

Tot ce trebuie să facem acum este să repornim sistemul Dell Latitude E7440 și să revenim în linux (Mint).

În acest moment dacă rulăm comanda menționată în al doile paragraf al acestui articol și anume pcsc_scan, observăm că este disponil și al doilea cititor și anume cel contactless:

Dell E7440 Linux contactless reader activated

Putem verifică și cu ajutorul comenzii opensc-tool urmat de argumentul -l pentru afișarea tuturor cititoarelor de card-uri.

Linux contactless card reader enabled

Dacă în timp ce comanda pcsc_scan rulează apropii de cititorul NFC al laptop-ului Dell E7440 cheia FEITIAN ePass FIDO2-NFC aceasta estee detectată și sunt afișate informațiile din imaginea de mai jos.

FEITIAN ePass FIDO2-NFC
Broadcom 5880 contactleess

Articole asemanatoare:

Bogdan Turcanu

Bogdan Turcanu

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.