# Dell ControlVault 2 fingerprint on Linux: adapting a driver for BCM5880

> Dell ControlVault 2 fingerprint on Linux adapts a locally obtained Broadcom driver to the older BCM5880 fingerprint reader through five signature-matched byte patches. The accompanying investigation maps the device’s USB endpoints, command header and driver checks. The author reports working capture, while enrollment and matching remain unreliable or unconfirmed.

- Type: Case study
- Targets: Binary · Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-06
- Original resource: <https://github.com/grosa787/dell-controlvault2-fingerprint-linux>
- Primary source: <https://github.com/grosa787/dell-controlvault2-fingerprint-linux/blob/45609bee93a622bec27a3d062f0b42d2d63d45d3/PATCHES.md>
- Catalog page: <https://awesomerea.org/resources/dell-controlvault2-fingerprint-linux-case/>
- Record JSON: <https://awesomerea.org/resources/dell-controlvault2-fingerprint-linux-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/dell-controlvault2-fingerprint-linux-case/index.md)

## Requirements & limits

- **Prerequisites:** A Dell ControlVault 2 / Broadcom BCM5880 device with USB ID 0a5c:5834, Linux x86_64 and TOD-enabled libfprint.
- **Prerequisites:** The proprietary stock driver must be obtained locally from Canonical’s OEM repository.
- **Limits:** The author reports enrollment commit failures on many units and unconfirmed verification with the included patches.
- **License:** MIT license applies to the repository’s original scripts, udev rule and documentation.

## Primary sources

1. <https://github.com/grosa787/dell-controlvault2-fingerprint-linux/blob/45609bee93a622bec27a3d062f0b42d2d63d45d3/PATCHES.md>
2. <https://github.com/grosa787/dell-controlvault2-fingerprint-linux/blob/45609bee93a622bec27a3d062f0b42d2d63d45d3/README.md>

## More in Protocols

- [epson-l3110-driver: investigating the printer's USB and ESC/P-R exchanges](https://awesomerea.org/resources/epson-l3110-driver-case/index.md) · Case study
- [MS5 WiFi Microscope: reconstructing the camera's UDP video protocol](https://awesomerea.org/resources/ms5-wifi-microscope-case/index.md) · Case study
- [lux-lat-long-log: reconstructing LUMIX S5 BLE GPS communication](https://awesomerea.org/resources/lux-lat-long-log-case/index.md) · Case study
- [Magene L308: reconstructing a smart taillight's BLE control protocol](https://awesomerea.org/resources/magene-l308-taillight-case/index.md) · Case study
- [xbloom-ble: a client for the xBloom Studio BLE protocol](https://awesomerea.org/resources/xbloom-ble-case/index.md) · Case study
- [ak820: reconstructing AJAZZ AK820 Pro HID control on macOS](https://awesomerea.org/resources/ajazz-ak820-pro-mac-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
