Question

How can I update the ONEKEY ID firmware?

Answer

The firmware of the ONEKEY ID can be updated via USB by using the integrated USB boot loader.

Step-by-Step

To put the ONEKEY ID into the boot loader mode you need to perform the following steps: 

  1. Install the "STM VCP_V1.3.1.exe" for 32Bit Windows Systems or "STM VCP_V1.3.1_x64.exe" if you use a 64Bit Windows System. This installs a Virtual Com Port driver to use the USB cable for connection.
  2. Connect the ONEKEY ID via USB cable to a Windows™ PC.
  3. Power off the ONEKEY ID by pressing the left button for 4 seconds. After this operation the device will be switched off.
  4. Enter the boot loader by simultaneously pressing both buttons until the boot loader logo appears on the display like it is shown on the picture



  5. At this moment the boot loader initializes the internal USB device and will show up in the windows system as a Virtual Serial Port. 
  6. To work with the token boot loader shell you need a terminal software. You can use TeraTerm (https://en.osdn.jp/projects/ttssh2/) or the attached HyperTerminal software.
    In the terminal software you have to create a new connection via File->New Connection (Alt+N) and specify the COM port that is assigned to the device by operation system. The com port number can be looked up in the Windows device manager in the "COM & LTP" section (as shown below).



    After that the connection can be opened. After that you should see the shell prompt – “>” value. 


    FYI: All commands that are supported by the token’s shell can be displayed by using the “help” command.
  7. To update the ONEKEY ID firmware you need to use the “update” command. This command provides ability to load a signed firmware image to the flash memory of the ONEKEY ID. 
    Usage: After typing “update” in the shell and pressing enter, go to the “File->Transfer->YMODEM->Send” menu and select the firmware image file (.msb extension) that you want to use. An information about the update status will be printed in the token shell.

    FYI: In the first step, the image is loaded to the external SPI-Flash memory. Afterwards it is checked for validity (CRC, Certificate, Hash), decrypted if needed and reloaded into the internal flash memory of the device. The loading procedure is implemented via Y-Modem protocol. 
  8. As the last entry of the update status, the terminal has to show "Image successfully reloaded to CPU", which signals that the image was validated and successfully reloaded to the CPU. At this moment you can issue the “exit” command in the shell prompt or simply power of the ONEKEY ID by pressing the left button.
  9. After powering the ONEKEY ID on again, the new image is validated by it’s HASH and started by the normal boot loader procedure. You're done.


  File Modified
ZIP Archive hyperterminal .zip Apr 16, 2018 by Silvia Baumgartner
File VCP_V1.3.1_Setup_x64 (2).exe Apr 16, 2018 by Silvia Baumgartner
File VCP_V1.3.1_Setup.exe Apr 16, 2018 by Silvia Baumgartner

Was this answer helpful?

Please rate & help us to improve our FAQ.