Skip to main content

firmware

The firmware command lists the available firmware files and updates the MCU or encoder of a compatible device.

info

SDVoE chipset firmware is updated with the update command.

Command TypeDisplayNet
Minimum Version3.x.x

Usage

firmware list
firmware updatemcu <target> <firmwarepackage>
firmware updateencoder <target> <firmwarepackage>

Subcommands

SubcommandDescription
listLists available firmware packages, the supported device models for each, and the component versions in each package
updatemcuUpdates the MCU firmware of the target device(s). See MCU updates
updateencoderUpdates the encoder chipset of the target device

Arguments

ArgumentRequiredDescription
targetupdatemcu, updateencoderDevice(s) to update: a single device ID, a comma-delimited list, or a group (ALL, ALL_TX, ALL_RX).
firmwarepackageupdatemcu, updateencoderThe firmware package to use, as returned by list.

MCU updates

updatemcu updates devices concurrently up to a configurable limit. Each device reports its own progress through stream_mcu_firmware_update notifications, and a failure on one device does not stop the others. During the update each targeted MCU reboots into its bootloader; devices remain otherwise in service.

Only one MCU update job runs at a time server-wide. A second updatemcu issued while one is in progress is rejected with an error.

The following configuration items tune the behavior:

ConfigurationDefaultControls
app.McuUpdateParallelism4How many devices update at once (1 = strictly sequential)
app.McuUpdateReconnectTimeout150Seconds to wait for an MCU to reappear after reboot
app.McuUpdateTftpRetries3TFTP upload attempts per device

Examples

List the available packages
firmware list
Update one device's MCU
firmware updatemcu dn300_UpperLeft 1.5.0.105-DN-300-R4.apz
Update several MCUs in parallel
firmware updatemcu 6cdffb00a097,6cdffb00a098,6cdffb00a099 1.5.0.105-DN-300-R4.apz
Update every transmitter's MCU
firmware updatemcu ALL_TX 1.5.0.105-DN-300-R4.apz
Update a device's encoder
firmware updateencoder 6cdffb00a097 1.5.0.105-DN-300-R4.apz

Return value

updatemcu and updateencoder return a SUCCESS envelope once the job is accepted; progress arrives as notifications.

firmware list
{
"status": "SUCCESS",
"request_id": null,
"result": {
"firmware_details": [
{
"filename": "1.4.0.0-DN-300-R3.apz",
"supported_devices": [
{
"device_name": "DN-300",
"vendorId": 122,
"productId": 11,
"mcuFwVer": "1.11.47",
"encoderFwVer": "1.12.06"
}
]
},
{
"filename": "1.5.0.1-DN-300-R5.apz",
"supported_devices": [
{
"device_name": "DN-300",
"vendorId": 122,
"productId": 11,
"mcuFwVer": "1.11.51",
"encoderFwVer": "1.12.10"
},
{
"device_name": "DN-300v2",
"vendorId": 122,
"productId": 111,
"mcuFwVer": "1.11.51",
"encoderFwVer": "3.10.06"
}
]
}
]
},
"error": null
}

Notifications

An update reports its progress per device as a DN_NOTIFICATION, under a result key naming the component being updated. Each entry carries the device, a status of running, complete, or failed, a percentage, and a human-readable status_message.

During firmware updatemcu dn300_UpperLeft 1.5.0.105-DN-300-R4.apz
{
"status": "DN_NOTIFICATION",
"request_id": null,
"result": {
"stream_mcu_firmware_update": [
{
"device_id": "6cdffb003882",
"status": "running",
"progress": 55,
"status_message": "Waiting for MCU to reconnect"
}
]
},
"error": null
}

REST API

Endpoint typeDisplayNet API command
AddressPOST /api/displaynet/<operation>, or name the operation in the body of a POST /api/displaynet. See Sending commands.
RoleUser
SubcommandOperationParameters
listfirmware_list
updateencoderfirmware_updateencoderdevice package
updatemcufirmware_updatemcudevices package

See also