firmware
The firmware command lists the available firmware files and updates the MCU or encoder of a compatible device.
SDVoE chipset firmware is updated with the update command.
| Command Type | DisplayNet |
| Minimum Version | 3.x.x |
Usage
firmware list
firmware updatemcu <target> <firmwarepackage>
firmware updateencoder <target> <firmwarepackage>
Subcommands
| Subcommand | Description |
|---|---|
list | Lists available firmware packages, the supported device models for each, and the component versions in each package |
updatemcu | Updates the MCU firmware of the target device(s). See MCU updates |
updateencoder | Updates the encoder chipset of the target device |
Arguments
| Argument | Required | Description |
|---|---|---|
target | updatemcu, updateencoder | Device(s) to update: a single device ID, a comma-delimited list, or a group (ALL, ALL_TX, ALL_RX). |
firmwarepackage | updatemcu, updateencoder | The 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:
| Configuration | Default | Controls |
|---|---|---|
app.McuUpdateParallelism | 4 | How many devices update at once (1 = strictly sequential) |
app.McuUpdateReconnectTimeout | 150 | Seconds to wait for an MCU to reappear after reboot |
app.McuUpdateTftpRetries | 3 | TFTP upload attempts per device |
Examples
List the available packagesfirmware list
Update one device's MCUfirmware updatemcu dn300_UpperLeft 1.5.0.105-DN-300-R4.apz
Update several MCUs in parallelfirmware updatemcu 6cdffb00a097,6cdffb00a098,6cdffb00a099 1.5.0.105-DN-300-R4.apz
Update every transmitter's MCUfirmware updatemcu ALL_TX 1.5.0.105-DN-300-R4.apz
Update a device's encoderfirmware 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.
- updatemcu
- updateencoder
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
}
During firmware updateencoder dn300_UpperLeft 1.5.0.105-DN-300-R4.apz{
"status": "DN_NOTIFICATION",
"request_id": null,
"result": {
"stream_encoder_firmware_update": [
{
"device_id": "6cdffb003882",
"status": "running",
"progress": "10",
"status_message": "Updating Firmware..."
}
]
},
"error": null
}
REST API
| Endpoint type | DisplayNet API command |
|---|---|
| Address | POST /api/displaynet/<operation>, or name the operation in the body of a POST /api/displaynet. See Sending commands. |
| Role | User |
| Subcommand | Operation | Parameters |
|---|---|---|
list | firmware_list | — |
updateencoder | firmware_updateencoder | device package |
updatemcu | firmware_updatemcu | devices package |
See also
update: SDVoE chipset firmwaregetinitdata:firmware/firmware_detailsdatasets