MPC
MPC is inMusic's MPC operating system, with some additional custom software on top of a stock embedded Linux base.
Like Engine OS, that base changed generation: MPC 2.x was built with Buildroot, and MPC 3.x is built with Yocto/OpenEmbedded (scarthgap). See Base distribution for the evidence and the version boundary.
Custom Applications
This is additional custom software that I've noticed in the firmware, along with documentation pages for them.
Hardware and product codes
MPC is one image for the whole family. Which unit it is comes from the device tree, not the application — see Device identity. The 3.9.1 image ships 14 .dtbs in /boot, covering two board generations:
Product code | Model | Board | DTS |
|---|---|---|---|
| (generic |
| |
| Akai Professional MPC X SE |
| |
| (generic |
| |
| Akai Professional MPC One |
| |
| Akai Professional MPC One+ |
| |
| Akai Professional MPC Live Mk 2 |
| |
| Akai Professional MPC Key 61 |
| |
| Akai Professional MPC Key 37 |
|
All are Rockchip RK3288, the same SoC as the Denon DJ units. Each code also has a -c .dtb variant, which is the rockchip,rk3288-c SoC revision rather than a separate product.
The table above is what this firmware ships device trees for. The application itself recognises a larger set of 25 product codes, including several with no .dtb in any image examined — see Recognised product codes.
Update image format
The container format changed at the same boundary as the base distribution:
MPC version | Container | Magic |
|---|---|---|
| flattened device tree |
|
|
|
|
Both are described in Signed Firmware Layout. Unlike the Denon AZ01 images, an MPC AZ01 image holds a single rootfs partition: no splash, no recoverysplash, no kernel. The 3.9.1 image (MPC-3.9.1-Gen1-update.img) declares eight device IDs in one container:
HWID | Device ID | HWID | Device ID |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note the 0x09e8 vendor prefix (Akai) against Denon's 0x15e4 and Rane's 0x1cc5.
Base distribution
MPC 2.x is Buildroot; MPC 3.x is Yocto/OpenEmbedded, the same az0x base distribution the Denon units moved to. Read from /usr/lib/os-release in each image:
MPC version |
|
|
|---|---|---|
| (no | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
On 3.x the full identity is:
with /etc/az01-release carrying BUILD_TAG=jenkins-ACVS-MPC3-SME0-MPC3-Yocto-563. So current MPC and current Engine OS share a Yocto base distribution and differ only in the application layer above it.
Device information tooling
/usr/bin/az0x-info and /usr/bin/az01-info dump hardware identity as key="value" pairs over libaz0x-info.so, covering serials, eMMC/SD identity, eFuse CPU ID, touch panel, wireless chip and USB-C state. /usr/bin/az0x-hwctl is the matching control utility. See Device identity for the key list.