Skip to Content
HardwareDevice APIfirmwareUpdateV3
On this page

firmwareUpdateV3

Firmware update (V3)

Protocol V1 update flow for OneKey Pro. Supports updating Bootloader, Main firmware, BLE firmware and the resource package in a single flow as needed.

  • Device: OneKey Pro (Protocol V1) only
  • Boot requirement: Boot version ≥ 4.8.0
  • Pro 2 / Neo: use firmwareUpdateV4
// Select versions from verified release metadata for this device. declare const targetFirmwareVersion: number[]; declare const targetBleVersion: number[]; declare const targetBootloaderVersion: number[]; const res = await HardwareSDK.firmwareUpdateV3(connectId, { platform: 'desktop', // 'native' | 'desktop' | 'ext' | 'web' | 'web-embed' // Option A: specify versions (pick any subset) firmwareVersion: targetFirmwareVersion, bleVersion: targetBleVersion, bootloaderVersion: targetBootloaderVersion, // Option B: custom binaries (as needed) // firmwareBinary: ArrayBuffer, // bleBinary: ArrayBuffer, // bootloaderBinary: ArrayBuffer, // resourceBinary: ArrayBuffer, // Optional: force updating resource package forcedUpdateRes: false, }); if (!res.success) throw new Error(res.payload.error);

The example assumes the user has selected this device and approved the update. Resolve target versions from verified release metadata; do not hard-code a version copied from documentation.

Params

Optional common params

  • platform - required "native" | "desktop" | "ext" | "web" | "web-embed" execution environment
  • firmwareVersion - optional number[] target main firmware version
  • firmwareBinary - optional ArrayBuffer custom main firmware
  • bleVersion - optional number[] target BLE firmware version
  • bleBinary - optional ArrayBuffer custom BLE firmware
  • bootloaderVersion - optional number[] target Bootloader version
  • bootloaderBinary - optional ArrayBuffer custom Bootloader
  • resourceBinary - optional ArrayBuffer resource package binary
  • forcedUpdateRes - optional boolean force updating resource package

Result

{ success: true, payload: { bleVersion: string, firmwareVersion: string, bootloaderVersion: string, } }

Error

{ success: false, payload: { error: string, // error message code?: string | number // error code } }
Last updated on