Skip to content

What Changes Inside the CMU from v70 to v74.00.324A

We extracted three Gen 6 Mazda Connect firmware packages and diffed them file by file: 70.00.335C (the 2019 “echo fix” build), 74.00.230A (the first NA v74, 2021), and 74.00.324A (the final Gen 6 release, 2022). The CMU carries its own build registry at jci/version.ini — about 52 functional modules, each with its own version number — so the comparison is exact, not guesswork. This page is the result: which modules actually move between versions, what you get on screen, and where the difference is a recompile with no change you’ll ever feel.

For the short, owner-facing version of “is this worth it for my car?”, start at Should you update?. If you only want the dealer- request script and the USB procedure, go to Getting to v74.00.324A. This page is the why — the case, from inside the firmware, for going all the way to the end-of-life build.

The one fact that explains everything below

Section titled “The one fact that explains everything below”

The gains are not spread evenly across versions. They land in two places:

  • v70 → v74 (2019 → 2021) is a platform rebuild. Wireless CarPlay capability appears, CarPlay and Android Auto learn to hand a phone back and forth, the entire Bluetooth stack is rebuilt, and a new u-blox GPS receiver path is added. The CarPlay engine alone grows from 1.74 MB to 2.74 MB.
  • v74.00.230A → v74.00.324A (2021 → 2022) is a focused finish. Bluetooth, Wi-Fi, and the kernel are already current at 230A and don’t move. What advances is media (DAB digital radio, the Gracenote database, AM/HD radio, SiriusXM), the driver-assist menus, the GPS firmware, and a short list of documented CarPlay and camera bug fixes.

Both steps are worth taking. The practical reading: 324A is the right target no matter where you start — it’s the latest, it carries every fix below, and it’s the version Mazda’s own service bulletin tells dealers to install — but if you’re already on 230A, expect a media-and-bug-fix update, not new phone features.

v70’s CarPlay engine, blmjcicarplay.so, contains zero wireless markers. The v74 engine contains the full wireless API surface — EnableWirelessCarPlayConnection, WirelessSearchStatusChange, the conflict-handling path when a second phone tries to connect. The settings filesystem grows a whole WirelessCarPlay tree (15 nodes, three stored profiles with their BT and Wi-Fi MACs). A new boot script, get_board_type.sh, probes a GPIO line to detect the “New Hardware” wireless- CarPlay board.

The capability is real in the firmware; whether your car drives it depends on the head unit’s Wi-Fi hardware and region. Wireless CarPlay on Gen 6 is tied to 2021-era replacement CMU hardware, not granted by flashing 324A onto an older unit. See wireless CarPlay adapters for the hardware side.

v74’s Android Auto engine, blmjciaapa.so, gains 137 new control strings absent in v70 — NotifyCPState, DisplayTerminateCPAndLaunchAADialog, DisconnectCP, and the rest of the machinery behind “end the current Android Auto session to use this phone for Apple CarPlay?” On v70 the two projection modes barely coexisted. On v74 the device manager swaps cleanly between them and prompts you when it has to.

Every host-side Bluetooth module moves at this step, then freezes. The numbers from version.ini:

Modulev70.00.335Cv74 (230A and 324A)What it runs
BTECA00.60.00000.66.000Echo cancellation
BTHF-IHU00.63.02200.63.102Hands-free calling
BTMUSIC-IHU00.55.00400.56.008BT audio, AVRCP, album art
BDS03.35.12303.35.207Core Bluetooth stack
BLUEGO202.56.00402.57.005Bluetooth stack
BTPAIRING-IHU00.74.12900.74.222Pairing UI
MSGS / MSG00.39 / 01.11.00100.41 / 01.12.000SMS read-aloud, messaging

The echo canceller binary, svcjcibteca.so, grows about 8.5 KB across the jump; the BT music service grows about 10 KB; a new transport shim, libbtTransport.so, exists in v74 and not in v70. This is the single biggest Bluetooth-reliability move in the platform’s late history, and it happens at v70 → v74 — not later.

The update package itself changes shape: v70 ships a gps/ folder, both v74 builds ship gnss/. v70 flashes one receiver — the ST Teseo STA8088, GPS only. v74 ships a hardware-detecting flasher that probes the board and installs either the legacy ST receiver or a newer u-blox NEO-M8L, an automotive dead- reckoning receiver that fuses vehicle motion with satellite fixes. The location service svcjcilds.so has no u-blox code in v70 and full u-blox support in v74. The Wi-Fi radio firmware (TI WL128x) is refreshed at the same step.

By 230A, Bluetooth, Wi-Fi, and the Linux 3.0.35 kernel are already current and stay byte-for-byte identical through 324A. The final build spends its effort elsewhere.

These modules sat untouched from v70 all the way through 230A and only advance in the final build:

Modulethrough 230Av74.00.324AWhat you get
DAB (radio/UI/GUI)00.51 / 00.41 / 00.3500.56 / 00.45 / 00.37Newer DAB digital radio, plus a traffic-announcement dialog
GRACENOTEDB00.09.00000.12.003Updated recognition database — better album, artist, and cover-art matching on USB and Bluetooth
AMRADIO / BUS_RADIO00.91.300 / 00.99.20400.91.500 / 00.99.210AM/HD radio refresh
XMAUDIO / XMMGR01.17 / 00.3701.18 / 00.038ASiriusXM refresh

The Gracenote engine never changes across any of the three builds — only the database does. The benefit is recognition coverage, not new behavior.

324A adds settings and on-screen messages that don’t exist in 230A. A new Mazda Radar Cruise Control “Distance Control” toggle appears in Vehicle Settings (MRCCDistanceControl in the settings registry, with matching UI). The warning guide gains 18 new messages and two icons for Cruising & Traffic Support (CTS) and Traffic Jam Assist (TJA) — malfunction notices, “clean the radar sensor,” “insufficient camera visibility,” and heat-disable warnings. These are hardware-gated; you see the menu only if your car has the matching radar and camera systems, but the screens themselves ship only from 324A.

Mazda’s service bulletin attributes specific fixes to specific builds in this range, and 324A carries all of them:

  • 74.00.310+: false high-temperature warnings and an inaccurate clock — fixed.
  • 74.00.311+: CarPlay sound not coming from the driver-side speaker — fixed.
  • 74.00.324: the backup-camera screen not returning to CarPlay after a quick shift, and the screen not restoring when you shift from R into P — both fixed.

The u-blox receiver firmware moves from ADR 4.31 (230A) to ADR 4.50 (324A) — the latest dead-reckoning firmware Mazda shipped for that receiver. The location service is rebuilt to carry it. If your car has the u-blox hardware, 324A is the only build here that flashes 4.50.

What does not change (so you can set expectations)

Section titled “What does not change (so you can set expectations)”

Honesty keeps this useful:

  • The Bluetooth radio firmware is identical in all three builds. The TI chip blob (TIInit_10.6.15.bts) never changes. The host stack was rebuilt at v70 → v74; the radio itself wasn’t. Don’t expect 324A to cure Bluetooth dropouts or echo on a car already on 230A — that improvement was the v70 → v74 step.
  • The kernel and boot path don’t move within v74. Linux 3.0.35, the init scripts, and the watchdog config are byte-identical between 230A and 324A. There’s no kernel-level “fewer freezes” to claim in that step; the freeze fixes are the documented v70-era software fixes.
  • No apps or services are added or removed, ever. All three builds boot the same 117 services and carry the same 42 apps in the launcher. Updates are version bumps inside a fixed set, not new subsystems.
  • The 230A → 324A Bluetooth binaries are pure recompiles — same size, only renumbered compiler symbols. No behavior change.
You’re onUpdating to 324A gets you
v70.00.335C or olderThe whole platform rebuild and the finish — wireless-CarPlay capability, CarPlay/Android Auto swapping, the rebuilt Bluetooth stack, u-blox GPS, every documented fix, plus the media and driver-assist work below
v74.00.230AMedia (DAB, Gracenote, AM/HD, SiriusXM), the radar-cruise and CTS/TJA menus, ADR 4.50 GPS firmware, and the documented CarPlay/camera/temperature/clock fixes — Bluetooth and Wi-Fi are already current
74.00.324AYou’re at the final build; only reinstall for recovery or a dealer-documented issue

324A is the last general-public Gen 6 release for NA, EU, and ADR, and it’s the version this site’s tooling targets. 74.00.331 shows up on some replacement CMUs but has no public package or changelog and isn’t a normal update path — see firmware versions and risky configurations.

All three packages were unpacked from their .up files and compared with standard diff tooling. The lowest-guesswork evidence is jci/version.ini, which records each module’s build version directly; binary sizes and embedded strings confirm it and separate real changes from recompiles. The documented bug fixes come from Mazda’s own service bulletins.

SourceWhat it supports
Mazda / NHTSA v74 service alert MC-11006998Per-version fix list; “update to 74.00.324 or later”
Mazda / NHTSA service bulletin MC-10226834Independent “74.00.324A or later” direction