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.
The v70 → v74 rebuild
Section titled “The v70 → v74 rebuild”Wireless CarPlay capability arrives
Section titled “Wireless CarPlay capability arrives”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.
CarPlay and Android Auto stop fighting
Section titled “CarPlay and Android Auto stop fighting”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.
The Bluetooth stack is rebuilt
Section titled “The Bluetooth stack is rebuilt”Every host-side Bluetooth module moves at this step, then freezes. The numbers
from version.ini:
| Module | v70.00.335C | v74 (230A and 324A) | What it runs |
|---|---|---|---|
BTECA | 00.60.000 | 00.66.000 | Echo cancellation |
BTHF-IHU | 00.63.022 | 00.63.102 | Hands-free calling |
BTMUSIC-IHU | 00.55.004 | 00.56.008 | BT audio, AVRCP, album art |
BDS | 03.35.123 | 03.35.207 | Core Bluetooth stack |
BLUEGO2 | 02.56.004 | 02.57.005 | Bluetooth stack |
BTPAIRING-IHU | 00.74.129 | 00.74.222 | Pairing UI |
MSGS / MSG | 00.39 / 01.11.001 | 00.41 / 01.12.000 | SMS 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.
GPS becomes GNSS
Section titled “GPS becomes GNSS”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.
The v74.00.230A → v74.00.324A finish
Section titled “The v74.00.230A → v74.00.324A finish”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.
Media moves
Section titled “Media moves”These modules sat untouched from v70 all the way through 230A and only advance in the final build:
| Module | through 230A | v74.00.324A | What you get |
|---|---|---|---|
DAB (radio/UI/GUI) | 00.51 / 00.41 / 00.35 | 00.56 / 00.45 / 00.37 | Newer DAB digital radio, plus a traffic-announcement dialog |
GRACENOTEDB | 00.09.000 | 00.12.003 | Updated recognition database — better album, artist, and cover-art matching on USB and Bluetooth |
AMRADIO / BUS_RADIO | 00.91.300 / 00.99.204 | 00.91.500 / 00.99.210 | AM/HD radio refresh |
XMAUDIO / XMMGR | 01.17 / 00.37 | 01.18 / 00.038A | SiriusXM refresh |
The Gracenote engine never changes across any of the three builds — only the database does. The benefit is recognition coverage, not new behavior.
New driver-assist menus and warnings
Section titled “New driver-assist menus and warnings”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.
The documented CarPlay and camera fixes
Section titled “The documented CarPlay and camera fixes”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 newest GPS firmware
Section titled “The newest GPS firmware”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.
Bottom line
Section titled “Bottom line”| You’re on | Updating to 324A gets you |
|---|---|
v70.00.335C or older | The 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.230A | Media (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.324A | You’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.
How we know
Section titled “How we know”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.
| Source | What it supports |
|---|---|
| Mazda / NHTSA v74 service alert MC-11006998 | Per-version fix list; “update to 74.00.324 or later” |
| Mazda / NHTSA service bulletin MC-10226834 | Independent “74.00.324A or later” direction |
Related
Section titled “Related”- Should you update? — the short, owner-facing case
- Getting to v74.00.324A — dealer script and USB procedure
- How firmware updates work — what an update replaces, by starting version
- Firmware versions — the full Gen 6 catalog
- Check your firmware — read your current version
- Firmware region codes — match your suffix