fwupd/plugins/solokey
Richard Hughes d99f86023f trivial: Add getters to FuChunk
At the moment FuChunks are sometimes mutable, and sometimes immutable, and it's
all a bit too low level for comfort.

Before we can do any kind of optimisation or verification we need plugins to
stop reading directly from the C structure. The aim here is to make FuChunk
optionally mutable without making assumptions about the memory model, and also
to be able to introspect it for the docs.
2021-01-28 16:42:54 +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 trivial: Add getters to FuChunk 2021-01-28 16:42:54 +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 Convert libfwupdprivate to a shared library libfwupdplugin 2019-11-27 11:32:43 +00:00
README.md Add external interface messages 2020-10-26 12:05:20 -05: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

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.