AT Commands for Firmware Update from Host#

This page describes the AT commands used to perform firmware updates on the SiWx91x device from the host.

Commands#

fwup-fast#

Enable fast firmware upgrade mode on the SiWx91x device.

Command Format#

at+fwup-fast

Related SDK API#

sl_si91x_set_fast_fw_up

Pre-conditions#

None

Parameters#

None

Response#

  • OK on success

  • ERROR <error-code> in case of failure. Possible error codes are the same as those returned by the sl_si91x_set_fast_fw_up API.

Examples#

at+fwup-fast        # Enable fast firmware upgrade mode
OK

fwup-start#

Send the RPS header content of the firmware file to the SiWx91x device.

Command Format#

at+fwup-start=<rps-header-length>

Related SDK API#

sl_si91x_fwup_start

Pre-conditions#

None

Parameters#

rps-header-length#

Length of the RPS header content in bytes. Must be greater than or equal to 64 bytes.

Response#

  • ERROR 1 on failing to enter data mode

  • OK on successfully entering data mode

    • On receiving this response, you must transmit rps-header-length number of characters

    • As soon as the given number of characters are transmitted, the sl_si91x_fwup_start API will be invoked and one of the following responses sent back:

      • OK on success

      • ERROR <error-code> in case of failure. Possible error codes are the same as those returned by the sl_si91x_fwup_start API

Examples#

at+fwup-start=32        # Send RPS header with 32-byte content
OK
# Transmit 32 characters of RPS header data
OK

fwup-load#

Send the firmware file content to the SiWx91x device.

Command Format#

at+fwup-load=<content-length>

Related SDK API#

sl_si91x_fwup_load

Pre-conditions#

None

Parameters#

content-length#

Length of the firmware file content in bytes.

Response#

  • ERROR 1 on failing to enter data mode

  • OK on successfully entering data mode

    • On receiving this response, you must transmit content-length number of characters

    • As soon as the given number of characters are transmitted, the sl_si91x_fwup_load API will be invoked and one of the following responses sent back:

      • OK on success

      • ERROR <error-code> in case of failure. Possible error codes are the same as those returned by the sl_si91x_fwup_load API

Notes#

We recommend breaking the file content into chunks as described in the Firmware Update Application Note, and using the fwup-load command to send each chunk to the SiWx91x device.

Examples#

at+fwup-load=1024        # Send firmware content with 1024-byte length
OK
# Transmit 1024 characters of firmware content
OK

fwup-abort#

Cancel the firmware upgrade that is about to be performed with the next reset of the SiWx91x device.

Command Format#

at+fwup-abort

Related SDK API#

sl_si91x_fwup_abort

Pre-conditions#

fwup-load

Parameters#

None

Response#

  • OK on success

  • ERROR <error-code> in case of failure. Possible error codes are the same as those returned by the sl_si91x_fwup_abort API.

Notes#

  • Send this command if you have previously sent the fwup-load command to transfer a firmware image to the SiWx91x device. This command will cancel the firmware update that would normally occur with the next soft or hard reset.

  • This command will have no effect if only partial firmware chunks have been transferred and the firmware update is not ready on the SiWx91x device.

Examples#

at+fwup-abort        # Abort firmware installation
OK