How updates work¶
JP150PCB 1.3PCB 1.4since 26.10.1Jan PřibyslavskýThis page does not apply to the product or PCB revision chosen in the header.
The update bundle¶
A release is published as one file, JPx_Update_<version>.zip. It holds the firmware update
package, the default DSP program for the boards whose boot memory MuraLink can write (PCB 1.4), the
release notes, and a manifest that names the boards the firmware supports.
MuraLink reads the bundle in place and checks every file against the manifest before it sends
anything to a module. The bundle contains nothing secret and may be passed on.
What the bootloader does¶
- Installs only MURA LABS firmware. The bootloader checks every package before it changes anything, and the installed firmware is verified before it is marked valid.
- Checks the firmware at every start. A firmware that fails the check is not started; the module waits in update mode instead.
- Refuses downgrades below the floor. Every package carries a security counter. A package below the module's floor is refused, so a withdrawn release cannot be reinstalled; ordinary older releases remain installable.
- Survives interruptions. A pulled cable or a power loss at any point leaves the module in update mode with the update ready to be repeated. There is no half-installed state that starts.
- Keeps the settings. Pending settings are written before the module restarts into update mode.
On a production module the update bundle is the only way to change the firmware; the ST ROM bootloader and the old FirmwareUpdater are not used any more.
Update mode¶
The module enters update mode:
- when MuraLink sends
SYS:BOOTLOADERat the start of an update (the module returns to its firmware by itself after 5 minutes if no update follows); - when there is no valid firmware, for example after an interrupted update;
- after three starts in a row in which the firmware did not come up completely;
- when the encoder button is held while the module is switched on.
In update mode the module appears on USB as a DFU device (16D0:15B7) and MuraLink lists it under
Units in update mode. The LEDs show the state: LED indication. On Linux and
macOS the package can be installed with dfu-util; this path is untested so far.
USB identity¶
From 26.10.1 the application identifies as 16D0:15B8 (USB Audio and the virtual COM port in one
composite device) and update mode as 16D0:15B7. Firmware 26.8.0 identified as 0483:5741. Windows
installs no driver for either; after the change the PC sees a new device and the COM port number can
change.