| | |
| | | # Enable NFC on Dell ControlVault2 |
| | | # Enable NFC on Dell ControlVault2 and ControlVault3 |
| | | |
| | | ## Introduction |
| | | |
| | |
| | | |
| | | 1. Clone the repository. |
| | | 1. Install python3 and python3-usb. |
| | | 1. Run: `./bcm20795.py on` (use `sudo` if necessary). |
| | | 1. Run: `./nfc.py on` (use `sudo` if necessary). |
| | | 1. Run `pcsc_scan` or whatever you prefer. |
| | | 1. Enjoy! |
| | | |
| | |
| | | |
| | | Currently only the following devices were tested and are known to work: |
| | | |
| | | * `0a5c:5832` |
| | | * `0a5c:5834` |
| | | * `0a5c:5832` (ControlVault 2), |
| | | * `0a5c:5833` (ControlVault 3), |
| | | * `0a5c:5834` (ControlVault 2). |
| | | |
| | | Firmware update (done during driver installation on Windows) may be required. |
| | | |
| | |
| | | * Dell Latitude 5480 |
| | | * Dell Latitude 5491 |
| | | * Dell Latitude 7280 |
| | | * Dell Latitude 7400 |
| | | * Dell Latitude E5270 |
| | | * Dell Latitude E7470 |
| | | * Dell Latitude E7490 |
| | | |
| | | ## How it works? |
| | | |
| | | Python script sends the same sequence of commands the Windows driver does. The traffic was sniffed using USBPcap and Wireshark (kudos to [~jkramarz](https://github.com/jkramarz) for that). |
| | | Python script sends the same sequence of commands the Windows driver does. The traffic was sniffed using USBPcap and Wireshark (kudos to [~jkramarz](https://github.com/jkramarz) and [~lgarbarini](https://github.com/lgarbarini) and for that). |
| | | |
| | | The data is sent as-is and responses are read, but no error-checking is done. |
| | | |
| | | The semi-annotated traffic dump is available as [traffic.txt](traffic.txt) - feel free to decode it further! |
| | | The semi-annotated traffic dumps are available as [traffic_cv2.txt](traffic_cv2.txt) and [traffic_cv3.txt](traffic_cv3.txt) - feel free to decode it further! |
| | | |
| | | The communication protocol is based on NCI (NFC Controller Interface). Unfortunately the specs are not freely available and some proprietary extensions are used. libnfc-nci and kernel sources were used to decode some structs. |
| | | The communication protocol is based on NCI (NFC Controller Interface). Unfortunately the specs are not freely available and some proprietary extensions are used. libnfc-nci and kernel sources were used to decode vendor-independent structs. |
| | | |
| | | ## References |
| | | |