Another retrospective post, I did this in June 2018.
I have completely unlocked my CIC iDrive and activated all features

!!
The iDrive uses asymmetric key cryptography (private+public key set) to validate FSC codes that are required to unlock features. In very simple terms, the iDrive has a secret key made of 128-bits (called private key), no one knows it. This key is used to verify signature on FSC files (to prove that they really came from BMW, and aren't fake), FSC's are required to activate features on BMW's, FSC's are uploaded to the iDrive head unit before it leaves the factory based on the vehicle order and what options the buyer opted for.
A script can be used to virginise the device again as if it's brand new device with no data on it (iDrive runs a QNX Operating System), this wipes off the root certificate that contains the private key used to digitally sign the FSC's. And then upload a custom root certificate that contains a private key that we know. So now we can sign FSC codes using a public key that matches the private key that we uploaded to the iDrive (glad I paid attention in the Software Security lectures lmao

).
Once the iDrive checks the signature of the FSC's, and it matches, it’ll allow the feature to be unlocked. iDrive uses RSA algorithm (Rivest–Shamir–Adleman), and they combine this with MD5 hashing functions, these are one way functions that CANNOT be reversed (with all the computing power we have in the world today, it’ll take a few years just to reverse one MD5 hash function).
Crazy security for a car's infotainment system lol, if there's money it of course they'll beef it up.
The outcome:
Now you can retrofit CIC iDrive in a car that came with the older CCC without the need for an emulator! Maps, voice control and absolutely everything will work as if the car came from factory originally with a CIC. You can also generate the 9C FSC to unlock BMW Apps (this was previously impossible to unlock even with an emulator). The only way to get it, is to buy a secondhand CIC device, that came off a car that originally came with BMW Apps from factory, then you would have had to buy an emulator (DCAN filter), because the navigation and voice control functionalities will stop working due to VIN mismatch between the CAS and retrofitted iDrive.
This method of virgin-ising the iDrive and uploading a custom root certificate, can only be implemented on the latest iDrive software, CIC.C1A. Older firmware like .C16, .C17, .C18… etc. won’t work. So the iDrive needs to be updated to the latest firmware before performing this.
Initially I used an ICOM cable and a clone MOST-BUS adapter for updating, which resulted in my iDrive getting bricked and stuck in the bootloader screen (later found out the Chinese clone ICOM B was the culprit). Lucky I had a spare CIC iDrive to throw in until the Genuine ICOM MOST-BUS adapter came in the mail.
It flashed very quickly, and from the first try with the genuine ICOM! The CIC iDrive is a pain to flash the firmware on, three ECUs need to be flashed with a specific order, ECU addresses; 63 (CIC itself) flashed first, then 62 (MOST-BUS gateway) flashed second, and lastly A0 (CIC Hard disk). All up will take around an hour to update the firmware on them using the latest SP Daten v66 files.
Some pictures with annotations on them:
My car is 2007, it originally came with the older CCC iDrive, I upgraded to a CIC that came off a newer car, it has always bugged me that my new CIC iDrive had the wrong VIN stored in it (from the donor car), and I could only get the Navigation and Voice Control working using a cheap Chinese emulator (acts as a DCAN filter basically, to stop the iDrive requesting the car's real VIN from the CAS module to perform FSC checks).
As you can see, maps now work with the emulator removed.
2019 maps are at the dealers I believe, need to look for them online, and then it should be an easy straightforward process to upload them to the iDrive and generate a FSC for them to work, I am still on the 2018 version.
BMW Apps unlocked (needed to digitally sign and upload the 9C FSC to the iDrive to get that working). There are plenty of apps which I didn’t have time to go through them all yet, but I did check out a couple.
I can now search places/addresses on my phone and send them to the car’s navigation with one touch, instead of having to manually enter the address on the iDrive nav screen with it’s annoying user interface.
Apps that can be run on the car:
Spotify App:
Web radio App, can listen to any Digital radio station from any country in the world. Not bad hey!
///M Lap Timer App:
By far my favourite, the ///M Lap Timer App, it’ll display the g-forces on the screen as you corner or accelerate hard. It can record track sessions so you can later analyse them and compare corner speeds, maximum g-force achieved mid-corner on different tire/suspension setups, it'll also record the racing line… etc.
I can see myself using this next time I go on a mountain run, or head to the track!
Throwing it hard around a sharp right corner on the Yarra Scenic Drive in Kew:
Hard straight line acceleration:
And if you have a GoPro mounted anywhere on the car, you can display the live footage on the iDrive screen (wirelessly).
The ///M Lap Timer can also log throttle, RPM, steering angle, accelerator, brake and g-force. You can later replay the log on your phone and watch the car go around the circuit map with all logged data laid out. It also has support for GoPro, so you can overlay this data on the GoPro video. Definitely great to use on the track for analysing and comparing laptimes and to track my own driving for the purpose of improving.
Eligibility of adding BMW Apps to you BMW
- You need CIC iDrive and a Combox to achieve all the functionality shown above. The older CCC won’t work, and a CIC without Combox won’t work either, you need both (google Combox retrofit, it's well documented on this forums and everywhere online, when buying a Combox make sure you get the BN2000 version, not the BN3000. The BN3000 is for the F series cars and won't work on our cars. I can organise Comboxes for $250 plus shipping through a good mate of mine).
- BMW Apps don’t support Android, only iPhone.