Skip to main content

Firmware updates

After the first USB flash, boards update over the network. Settings and the admin password are kept across updates.

Build​

idf.py build

The image is build/etherjax.bin.

Update one board​

On the board's page, under Firmware, choose the file and Update. Or from a script:

curl -u admin --data-binary @build/etherjax.bin http://etherjax-XXXX.local/api/ota

Update every board​

On the matrix, choose the file under Firmware. The page reads its version and updates every board that isn't on it yet, one at a time, waiting for each to come back before starting the next. The board serving the page goes last.

Rollback​

The new image goes into the board's spare firmware slot, and the board reboots into it on probation. It keeps the new firmware once its health checks (see health and self-healing) have run for 20 seconds without a fault, about 40 seconds after boot.

If the new firmware crashes, hangs or fails a health check before then, the board goes back to the previous firmware.

Firmware on the board's page shows the Version, when it was Built, which Slot it is running from, and the Last reset reason.

Boards flashed before network updates​

Boards flashed before network updates existed need one more USB flash, to install the two-slot layout that network updates use.