Skip to main content

Tool to flash firmware onto any Silicon Labs radio running EmberZNet, CPC multi-PAN, or just a bare Gecko Bootloader

Project description

Universal Silicon Labs Flasher

Automatically communicates with radios over CPC, EZSP, or Spinel to enter the bootloader and then flashes a firmware image with XMODEM.

Installation

$ pip install universal-silabs-flasher

Usage

Usage: universal-silabs-flasher [OPTIONS] COMMAND [ARGS]...

Options:
  -v, --verbose
  --device PATH_OR_URL           [required]
  --bootloader-baudrate NUMBERS  [default: 115200]
  --cpc-baudrate NUMBERS         [default: 460800, 115200, 230400]
  --ezsp-baudrate NUMBERS        [default: 115200]
  --spinel-baudrate NUMBERS      [default: 460800]
  --probe-method TEXT            [default: bootloader, cpc, ezsp, spinel]
  --bootloader-reset [yellow|ihost|slzb07|sonoff]
  --help                         Show this message and exit.

Commands:
  dump-gbl-metadata
  flash
  probe
  write-ieee

Flashing firmware

For safety, firmware GBL image files are validated and their checksums verified both before sending, and by the device bootloader itself.

In addition to validating the firmware image, the version number of the firmware image currently running on the device is read.

  • If the provided firmware image type does not match the running image type, the firmware will not be flashed. Cross-flashing can be enabled with --allow-cross-flashing.
  • If the provided firmware image is a lower version than the currently running image, the downgrade will not be allowed. Downgrades can be enabled with --allow-downgrades.
  • To always upgrade/downgrade firmware to a specific version (i.e. as the entry point for an addon bundling firmware), use --ensure-exact-version.
  • All of the above logic can be skipped with --force.

Yellow

The Yellow's bootloader can always be activated with the --bootloader-reset yellow option:

$ universal-silabs-flasher \
    --device /dev/ttyAMA1 \
    --bootloader-reset yellow
    flash \
    --firmware NabuCasa_RCP_v4.1.3_rcp-uart-hw-802154_230400.gbl \

SkyConnect

The SkyConnect will be rebooted into its bootloader from the running application: either EmberZNet or CPC.

$ universal-silabs-flasher \
    --device /dev/cu.SLAB_USBtoUART \
    flash \
    --firmware NabuCasa_SkyConnect_EZSP_v7.1.3.0_ncp-uart-hw_115200.gbl

Writing IEEE address

Ensure a target device running EmberZNet firmware has the correct node IEEE address:

$ universal-silabs-flasher \
    --device /dev/cu.SLAB_USBtoUART \
    write-ieee \
    --ieee 00:3c:84:ff:fe:92:bb:2c

The IEEE address can also be specified without colons: --ieee 003c84fffe92bb2c.

If the current device's IEEE address already matches the provided one, the command will not write it unnecessarily.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

universal_silabs_flasher-0.0.22.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

universal_silabs_flasher-0.0.22-py3-none-any.whl (45.8 kB view details)

Uploaded Python 3

File details

Details for the file universal_silabs_flasher-0.0.22.tar.gz.

File metadata

File hashes

Hashes for universal_silabs_flasher-0.0.22.tar.gz
Algorithm Hash digest
SHA256 226ca6a9c9b086ffc2d691f7e900d8348acdd8232f3a4c5247ef0e6dc83710d7
MD5 48ea9b605dbc0fd42ca1a8cf6b3664c7
BLAKE2b-256 ab3de4170f7a40d6f30707cc5000e99469b5d6b8c97e657d2e46edb58b156bf1

See more details on using hashes here.

File details

Details for the file universal_silabs_flasher-0.0.22-py3-none-any.whl.

File metadata

File hashes

Hashes for universal_silabs_flasher-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 05163cc6666fb4d98009c64d51954d798c08d80b7ed1e82d1615831f2f6225ec
MD5 adc97f320e0af4d6c3bfcb3a701dfdcc
BLAKE2b-256 aec74a3cac31f5facdf294def4f08608680d2a116a46029e72c74440ab9b7df7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page