What do we know about the MMI in the A3?

Zygote

Registered User
Joined
Sep 2, 2013
Messages
73
Reaction score
13
Points
8
Location
NULL
As a information security specialist / developer by trade, Im extremely interested in the MMI system in the Audi. While I wont be taking things as far as Charlie Miller did (hilarious talk at Defcon this year by the way), Im curious how the MMI system works under the hood as I like to understand the technology I use, so I have started to compile some initial info.

I have barely scratched the surface, and If I decide to dig deeper I will be sure to write my findings down somewhere, but here is what I know so far:


The MMI-version in the new A3 runs QNX Neutrino, a *nix based POSIX-compliant RTOS that first came out back in 2001, which is now widely used in everything from cars to nuclear powerplants. QNX was interestingly enough recently acquired by Blackberry and the Blackberry 10 OS used in the new Blackberry Devices is also based on QNX. Surprisingly, at least to me, QNX also powers the later generations of BMW’s iDrive. I think this is cool! I see plenty of similarities in the way we use systems such as Audi MMI’s with how we use modern smartphones so having QNX under the Blackberry umbrella sounds like a good idea to me. There’s actually an official suite of QNX plugins for Eclipse available for the adventurous developer out there, which is kinda cool! QNX Neutrino runs a microkernel called procnto which looks kinda fun. There’s a ton of documentation on QNX, most of it dating back to 2004 and earlier, so if I get the time to take a deep dive, I should have enough reading material available. I wonder how much the system has developed over the recent years though. I get the impression that QNX Neutrino is all about reliability, which is why its used in Cisco’s IOS-XR for example.


There’s a Tegra 3 chip powering the graphics, and an ARM Cortex A9 processor with an unknown number of cores. Well, I havent been able to confirm but its either dual core or quad core, as QNX states “multiple cores” and the A9 only supports up to four independent cores. QNX also state that they utilize SMP (Symmetric MultiProcessing) to get the most out the A9-CPU, but Im not sure how SMP really does any good as long as there is only one CPU in there. SMP is basically a way to effectively utilize multiple CPU’s so I guess it can have the same benefit on multiple cores as well. One limitation there though is that two CPU’s/Cores cant access the same memory at the same time, but caching mitigates this so no worries. Speaking of memory, I have not been able to figure out how much RAM is in the Audi MMI in the A3. So your guess is as good as mine here.

So questions: Have anyone here developed for QNX before? Im under the impression that its a bit old fashioned but extremely reliable but probably has its fair share of odd quirks (though not anywhere near as odd as in zArchitecture I hope).

Thats all for now! I find these embedded magic black box-like systems very intriguing as there doesnt seem to be that many people out there who knows how they work, yet they interface with so many systems in your car!

Here's to hoping I'm not the only tech geek out there :)
 
Last edited:
  • Like
Reactions: dantdi and Silky-S3
Interesting post!
 
Interesting! I played with QNX a little bit back in probably 2000 or early 2001 when we were considering using it for a project at work. That project didn't come to anything, but I had no idea my new car was running the same OS!
 
Mmmmm, interesting. I didn't know that, hadn't thought of the hardware/software behind the MMI. At work we used QNX in a project back in 2003
 
Just checked in my desk draw and found a CD with "QNX 19-3-2001" written on it. I think I maybe need to sort through my desk one of these days...
 
You'd be surprised on OS'. A lot of consumer devices run Linux.

At the end of the day though, an OS is just that - an operating system - it typically just schedules what is going on and gets out of the way when there's stuff to do. SMP is just used to schedule tasks onto different cores. You need multiple tasks ready to run before you can make use of multiple cores - and that's down to a mix of what the system is responsible for and how the UI programmers have partitioned the problem.
 
Interesting. I guess we need someone to get hold of a software update disk before any progress can be made on hacking around with it though - and even then it'll likely need decompiling etc.
 
You'd be surprised on OS'. A lot of consumer devices run Linux.

At the end of the day though, an OS is just that - an operating system - it typically just schedules what is going on and gets out of the way when there's stuff to do. SMP is just used to schedule tasks onto different cores. You need multiple tasks ready to run before you can make use of multiple cores - and that's down to a mix of what the system is responsible for and how the UI programmers have partitioned the problem.

QNX is not Linux :)
 
QNX is not Linux :)
I know... I'm an embedded s/w developer for complex consumer products :p I was just saying that a lot of consumer devices run a complex OS - most people don't know that...

(although I admit my reply could have been better worded)
 
MMI versions I have seen:

Standard (Non-tech pack)
MSTD_EU_AU_P2310
MSTD_EU_AU_P2440
MSTD_EU_AU_P3151 (believe this is current version).
 
My Tech Pack High Cabriolet version, Build June this year is MHIG_EU_AU_P1531
 
Do the Audi technicians install the newest version as a matter of course when they service the car?
 
I don't think so no, which is a bit annoying - you would have thought that was a matter of course by now! Unless there are any recalls to do, in which case they would install the latest.
 
Do the Audi technicians install the newest version as a matter of course when they service the car?


No they don't unless
1. It's part of a campaign
2. You're having a specific problem with that component

The reasons are many and varied (involving homologation, type approval, EMC/RFI approvals, backward compatibility with other components in the system etc.)., but it applies across the board with other components/systems as well. eg: Your ABS module will not automatically get the latest release, subject to 1&2 above.
 
  • Like
Reactions: steverobertsbbc
I suppose unless there is new functionality to be added it's got to be case of if it ain't broke don't fix it!
 
  • Like
Reactions: veeeight
Hi guys. Picked up car last week (already done over 200 miles :) and it's amazing on the motorway!!!...) anyway someone suggested I post firmware version. I have the standard unit with SD nav. The firmware version is MSTD_EU_AU_P5101
 
Standard MMI System (non navigation) in the US.
11423423_10100545978741283_680071198_o.jpg
 
So the 7inch screen is now standard in the US?

No, I "upgraded" the screen because I put in the aftermarket Android system which comes with the 7 inch screen. 5Inch are still standard on the non-navigation units here in the states.
 
  • Like
Reactions: Minion Bob!
No, I "upgraded" the screen because I put in the aftermarket Android system which comes with the 7 inch screen. 5Inch are still standard on the non-navigation units here in the states.

Ahhh. Looks nice, didnt think Audi would start giving those 7inchs our for "free"
 
  • Like
Reactions: JOBRIEN and rcnacura
MMI versions I have seen:

Standard (Non-tech pack)
MSTD_EU_AU_P2310
MSTD_EU_AU_P2440
MSTD_EU_AU_P3151 (believe this is current version).

What would be then:
MSTD_EU_AU_K3151

Have anybody tried to update software??
 
Anyone knows were can i download firmwire/software for a3 8v MSTD_EU_AU_P2440.
Stuck in initializing 33%
Please help
 

Attachments

  • 20210608_080257.jpg
    20210608_080257.jpg
    2 MB · Views: 159
Hi guys. Picked up car last week (already done over 200 miles :) and it's amazing on the motorway!!!...) anyway someone suggested I post firmware version. I have the standard unit with SD nav. The firmware version is MSTD_EU_AU_P5101Hi can you send me this firmware?
 
Hi guys. Picked up car last week (already done over 200 miles :) and it's amazing on the motorway!!!...) anyway someone suggested I post firmware version. I have the standard unit with SD nav. The firmware version is MSTD_EU_AU_P5101
Can you send this firmware?