From 456615e3010ad7294fb15709747f594a6a91b88e Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 24 Jul 2020 19:17:35 +0000 Subject: [PATCH] ControlVault 3 - initial support --- README.md | 26 ++++++++++++++++++++------ 1 files changed, 20 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8cdc287..659ed04 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Enable NFC on Dell ControlVault2 +# Enable NFC on Dell ControlVault2 and ControlVault3 ## Introduction @@ -14,7 +14,7 @@ 1. Clone the repository. 1. Install python3 and python3-usb. -1. Run: `./bcm20795.py on` +1. Run: `./nfc.py on` (use `sudo` if necessary). 1. Run `pcsc_scan` or whatever you prefer. 1. Enjoy! @@ -24,19 +24,33 @@ Currently only the following devices were tested and are known to work: -* `0a5c:5834` +* `0a5c:5832` (ControlVault 2), +* `0a5c:5834` (ControlVault 2), +* `0a5c:5843` (ControlVault 3). Firmware update (done during driver installation on Windows) may be required. +## Tested on + +* Dell Latitude 5480 +* Dell Latitude 5491 +* Dell Latitude 7280 +* Dell Latitude 7290 +* Dell Latitude 7390 +* 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 -- Gitblit v1.9.1