fwupd/plugins/solokey
Richard Hughes b3f9841924 Support more than one protocol for a given device
Devices may want to support more than one protocol, and for some devices
(e.g. Unifying peripherals stuck in bootloader mode) you might not even be able
to query for the correct protocol anyway.
2021-03-01 16:14:36 +00:00
..
data Add support for the SoloKey Secure 2019-07-30 16:16:14 +01:00
fu-plugin-solokey.c Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
fu-solokey-device.c Support more than one protocol for a given device 2021-03-01 16:14:36 +00:00
fu-solokey-device.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-solokey-firmware.c solokey: Fix a possible critical warning for invalid firmware 2020-12-10 14:58:11 +00:00
fu-solokey-firmware.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
meson.build Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
README.md Add a new internal flag to opt-in to GUID matching 2021-02-25 15:47:25 +00:00
solokey.quirk Add support for the SoloKey Secure 2019-07-30 16:16:14 +01:00

SoloKey Support

Introduction

The SoloKey Secure and Hacker is an affordable open source FIDO2 security key.

All hardware supports the U2F HID flashing protocol. The Hacker version is not supported and the existing DFU update procedure should be used.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in a JSON wrapped, base-64, Intel hex file.

This plugin supports the following protocol ID:

  • com.solokeys

GUID Generation

These devices use the standard USB DeviceInstanceId values, e.g.

  • USB\VID_0483&PID_A2CA&REV_0001
  • USB\VID_0483&PID_A2CA

Update Behavior

The firmware is deployed when the device is in normal runtime mode, and the device will reset when the new firmware has been written.

Vendor ID Security

The vendor ID is set from the USB vendor, in this instance set to USB:0x0483

External interface access

This plugin requires read/write access to /dev/bus/usb.