Audi TT Forum banner
301 - 320 of 2,843 Posts
gAgNiCk said:
21tesla said:
I was asked about navigation today by another forum member
After a quick search I can confirm that nav updates are enabled by a FEC entry which dictates the latest map year that can be installed.
A quick check of my FEC file on my 2016 TT with a friend's 2015 TT, indeed shows that a counter is different in the last digits

  • 0231001e / maps NAR / 2016 car
    0231001c / maps NAR / 2015 car

It's an increment of 2 difference between our cars that at most, are one year apart but could be six months. I don't have a 2019 update for my car to test the hypothesis that > 02310020 in my table is sufficient to allow the update to proceed. I do, however, have my last 2018 update that I can test on my friend's car with a value similar to mine. Unless someone on the forum has already tried that.
 
21tesla said:
You're almost there.

The stage2-mod.ifs file is a 15 MB file that has three bytes changed in it from the original that bypasses the checks on your modified Fec file.

Rename your FecContainer-Carplay.fec file to FecContainer.fec and copy it to the SDcard. You can copy the unmodified FecContainer-original.fec file there, too, for safe keeping. The modified Fec file has two extra entries on it so it should be 16 bytes larger than the original.

While the other software tools (flashlock, flashit, mib2_ioc_flash) are on the car, I think it's good to have a copy of them on the SDcard. Copy the stage2-mod.ifs file onto the SD card as well. At this point, you will have an SDcard containing the following files

FecContainer.fec (your modified file)
FecContainer-original.fec (your original file)
flashit
flashlock
mib2_ioc_flash
stage2-mod.ifs

Place the SDcard in the car, login to port 123, and then issue the flash commands exactly as shown. The flashing takes about 1-2 min. The reboot takes about a minute. There is a log file in my previous post so you can see what should happen.

Login to the car again and copy the FecContainer.fec file that you modified. Reboot the car again.

Finally, make the adaptation changes in unit 5F with VCDS/Obdeleven if they haven't been done yet.
Thank's for all, i already paid someone to activate my Carplay an SatNav but i'm already curious to know how.
 
21tesla said:
After that I'm a little lost and don't understand exactly what to do
What did I have to do with FecContainer-Carplay.fec ?
You give us a stage2-mod.ifs, did we have to use yours ?


At the end, we must flash stage2-mod.ifs in the car and reboot
Code:
telnet 172.16.250.248 123                 
mount -uw /net/mmx/fs/sda0  
cd /net/mmx/fs/sda0                            
./flashlock                                    
./flashit -a ba0000 -v -d -f stage2-mod.ifs       
./flashlock                                    
./mib2_ioc_flash reboot
If I'm right, could you detail me the process that I don't understand please ?
Thank your for all
You're almost there.

The stage2-mod.ifs file is a 15 MB file that has three bytes changed in it from the original that bypasses the checks on your modified Fec file.

Rename your FecContainer-Carplay.fec file to FecContainer.fec and copy it to the SDcard. You can copy the unmodified FecContainer-original.fec file there, too, for safe keeping. The modified Fec file has two extra entries on it so it should be 16 bytes larger than the original.

While the other software tools (flashlock, flashit, mib2_ioc_flash) are on the car, I think it's good to have a copy of them on the SDcard. Copy the stage2-mod.ifs file onto the SD card as well. At this point, you will have an SDcard containing the following files

FecContainer.fec (your modified file)
FecContainer-original.fec (your original file)
flashit
flashlock
mib2_ioc_flash
stage2-mod.ifs

Place the SDcard in the car, login to port 123, and then issue the flash commands exactly as shown. The flashing takes about 1-2 min. The reboot takes about a minute. There is a log file in my previous post so you can see what should happen.

Login to the car again and copy the FecContainer.fec file that you modified. Reboot the car again.

Finally, make the adaptation changes in unit 5F with VCDS/Obdeleven if they haven't been done yet.
I've been swamped with work these days, but Ive seen you very comprehensive replies! Very much appreciated!!
I received my D-link adaptor today, so I'm planning to work on the instructions you gave us :)
My Linux skills are kind of limited so I hope I can get through with the commands.
I'll post updates/results when I have any.
Thank you again!
 
I can confirm 21tesla's instructions appear to work.

Unfortunately I had little luck with the scripts. Managed to fumble my way through the Python one and get it to work (maybe Phython 3 on Ubuntu was the wrong choice). But the PorschePCMStuff/MIB2_FEC_Generator.sh script would only output 8 bytes. Obviously wrong.

As all I wanted to do for now was update the maps (AA and CP may come later), I dug out the hex editor and modified the existing FecContainer.fec by hand.

If you're interested in extending your map entitlement, then it looks like you need to replace one of your existing FECs:
EU: Change 023000?? to 0230003F
NAR: Change 023100?? to 0231003F
RoW: Change 023D00?? to 023D003F
The format of the file is given on the Porsche GitHub page.

The last 2 hex digits indicate the last map update you are entitled to:
0x22 = 2019/2020
0x24 = 2020
0x26 = 2020/2021
...
0x3F = 2026/2027

0x3F was just the value I saw used on another site. I expect you may be able to set this value higher...

The last update I was entitled to was 0x22 and up until now my car would not load update 0x24 as supplied by another forum member. However following the above update procedure that map update is now loading. :p
 
@21Tesla @Gerald57 @pcbbc @gAgNiCk - you guys surely are wizzards!

So far, I'm stuck on establishing TelNet connection and can't figure out where the problem is... :?

-I've checked and Developer Mode is enabled in 5F (also reset MMI)

I'm using a Windows laptop and enabled Telnet services on it...rebooted, but whenever I try to Telnet with the car I'm getting "could not open connection to HOST"
Also tried to connect via PuTTy...and that can't connect to the Host either :(

I've opened all UTP ports via the Windows Firewall and getting the same result...Disabled AntiVirus...

I suspect I'm doing something wrong here??

Could it be the USB to RJ45 adaptor I purchased? I didn't get a D-Link, but a GTmedia GA508 (pictured below). I've tested it between my pc and my laptop (on in the ETH plug, the other USB) and I can successfully PING the one connected to the USB end.

I also tried to Telnet with my Android phone via various Telnet intended apps (Hotspotted my phone and grabbed the IP assigned to it)
Would you think that method should be possible (if yes, the I can narrow it down to the car blocking the connection or my "user fault")

Any help would be highly appreciated, please.
 

Attachments

m4k4r0vbf said:
@21Tesla @Gerald57 @pcbbc @gAgNiCk - you guys surely are wizzards!

So far, I'm stuck on establishing TelNet connection and can't figure out where the problem is... :?
The firmware is only configured to work with a few chipsets. The Dlink DUB E-100 is the adaptor that seems to work the best.
 
pcbbc said:
I can confirm 21tesla's instructions appear to work.

Unfortunately I had little luck with the scripts. Managed to fumble my way through the Python one and get it to work (maybe Phython 3 on Ubuntu was the wrong choice). But the PorschePCMStuff/MIB2_FEC_Generator.sh script would only output 8 bytes. Obviously wrong.

As all I wanted to do for now was update the maps (AA and CP may come later), I dug out the hex editor and modified the existing FecContainer.fec by hand.

If you're interested in extending your map entitlement, then it looks like you need to replace one of your existing FECs:
EU: Change 023000?? to 0230003F
NAR: Change 023100?? to 0231003F
RoW: Change 023D00?? to 023D003F
The format of the file is given on the Porsche GitHub page.

The last 2 hex digits indicate the last map update you are entitled to:
0x22 = 2019/2020
0x24 = 2020
0x26 = 2020/2021
...
0x3F = 2026/2027

0x3F was just the value I saw used on another site. I expect you may be able to set this value higher...

The last update I was entitled to was 0x22 and up until now my car would not load update 0x24 as supplied by another forum member. However following the above update procedure that map update is now loading. :p
Once you make the changes, do you need to do checksum?
 
21tesla said:
m4k4r0vbf said:
@21Tesla @Gerald57 @pcbbc @gAgNiCk - you guys surely are wizzards!

So far, I'm stuck on establishing TelNet connection and can't figure out where the problem is... :?
The firmware is only configured to work with a few chipsets. The Dlink DUB E-100 is the adaptor that seems to work the best.
I think that's very much the case!
Just checked and the D-Link DUB-E100 uses ASIX AX88772 chipset, while the GTMEDIA GA-508 i purchased uses RTL8153B chipset, so my fault for thinking 'any would do'....
I'm ordering a DUB-E100 and hopefully retry in a couple of days.
Thank you!
 
Mokorx said:
pcbbc said:
Once you make the changes, do you need to do checksum?
The thing is it isn't really a checksum... it's a signature.

To make a signature you first hash the file to get a checksum, and then you sign that checksum by encrypting it with a secret key. Now the secret key we should sign with is known only by Audi. The unit knows the public key to reverse the encrypted signature and then compares the resulting checksum. If there's a mismatch (or the file was signed with the wrong private key) then the checksums won't match. Ergo the file is a fake.

The whole point of this process is that only the person with the secret key can make a valid signature, and any changes to the file are protected by the encrypted checksum. But we removed the entire check on the signature by flashing the replacement ifs block. The unit now no longer cares if the file is signed or not. Therefore the wrong checksum, or total absence of it, is entirely ignored, and the file declared valid regardless.

So in theory we could sign the file with out own private key (which the Porsche utility does), but unless we then tell the car the matching public key, the whole process is academic. Signing can be bypassed by creating our own public keys to our own known private key, and then telling the device the new public key, but usually it is just easier to remove the signing check altogether (as has been done here).

I should also point out, for anyone who doesn't know, that the map updates are available for download for free from the VW site:
https://webspecial.volkswagen.de/vwinfotainment/gb/en/index/downloads/maps-download
Select the e-Golf from 2017 on and the DiscoverPro nav system
Latest update is P187_N60S5MIBH3_EU_NT.7z

Loaded 0x26 2020/2021 EU maps onto the TT last night and it accepted them and appears to be working (it was late and I didn't do a test drive).

One thing to note is the VW updates are a lot larger (Europe is 25GB) than the Audi ones as they contain a lot of extra files in the MIB1 folders that our system doesn't use. Unfortunately you still have to download it all and copy to a SD card.

But a small price to pay for continued map updates.

Edit: Anyone in London/SE area or if your willing to travel wants to borrow use of my compatible DLink adapter you are more than welcome. FoC. Drop me a PM.
 
Here's my very basic Windows FEC Container Editor.

Absolutely no waranties offered of any kind. Suggest you check the output carefully, and ALWAYS backup your original FecContainer.

Sorry no Mac version. You'll have to find a way to run the Windows version. :?

Instructions:
1. Unzip and run the attached .NET WinForm application
No install required, it's just a standalone executable
2. Drag and drop the backup of your existing FecContainer.fec onto the application window
Validate your VIN number and timestamp are correct
3. Edit the list of FECs - you can add new ones, or change or delete existing ones
There's a modicum of validation before it saves, but don't expect it to protect you from your own stupidity
I recommend double and tripple checking everything in this whole process
4. Click the 'Save New FecContainer.fec' button
Probably best to do a binary diff and/or visual compare in a hex editor of the new and old files before uploading

Please PM me with any bugs issues. I'll try to address them.

Note the resulting file isn't signed. The application just blindly outputs the same signature bytes it read in. But there's zero point faking a signature as we're uploading onto a unit that won't be checking signing.

Download Version 1.0
Download Version 1.1 Added support for multiple FEC sets in container
Download Version 1.2 Added Module 5F Confirmation of Installation Change (I'm so XORy) calculator
 
21tesla said:
m4k4r0vbf said:
@21Tesla @Gerald57 @pcbbc @gAgNiCk - you guys surely are wizzards!

So far, I'm stuck on establishing TelNet connection and can't figure out where the problem is... :?
The firmware is only configured to work with a few chipsets. The Dlink DUB E-100 is the adaptor that seems to work the best.
Ok, for now i'm not completed all, here where i am :

Connection to the car ok, extract files ok
View attachment 2

but, the App ModifyFec doesn't work for me :
View attachment 1

So i have manually do the first one :


but after that ? i have to use MIB2_FEC_Generator.sh ? extract_efs.py ?
I think i have to read your topic one more time :)
 

Attachments

Gerald57 said:
21tesla said:
m4k4r0vbf said:
@21Tesla @Gerald57 @pcbbc @gAgNiCk - you guys surely are wizzards!
but after that ? i have to use MIB2_FEC_Generator.sh ? extract_efs.py ?
I think i have to read your topic one more time :)
The internal bits to run the program aren't installed your computer (probably the dev tools). Please send me your file and I'll send it right back back to you with the CarPlay bits or I see there is a Windows option available, too

logan
 
pcbbc said:
Here's my very basic Windows FEC Container Editor.

Absolutely no waranties offered of any kind. Suggest you check the output carefully, and ALWAYS backup your original FecContainer.

Sorry no Mac version. You'll have to find a way to run the Windows version. :?

Instructions:
1. Unzip and run the attached .NET WinForm application
No install required, it's just a standalone executable
2. Drag and drop the backup of your existing FecContainer.fec onto the application window
Validate your VIN number and timestamp are correct
3. Edit the list of FECs - you can add new ones, or change or delete existing ones
There's a modicum of validation before it saves, but don't expect it to protect you from your own stupidity
I recommend double and tripple checking everything in this whole process
4. Click the 'Save New FecContainer.fec' button
Probably best to do a binary diff and/or visual compare in a hex editor of the new and old files before uploading

Please PM me with any bugs issues. I'll try to address them.

Note the resulting file isn't signed. The application just blindly outputs the same signature bytes it read in. But there's zero point faking a signature as we're uploading onto a unit that won't be checking signing.
Thank's for the program, i've just try it, here the result :

With my original fec :
View attachment 1

But when i try with the fec extracted from my car i have :
 

Attachments

pcbbc said:
Here's my very basic Windows FEC Container Editor.

Absolutely no waranties offered of any kind. Suggest you check the output carefully, and ALWAYS backup your original FecContainer.

Sorry no Mac version. You'll have to find a way to run the Windows version. :?

Instructions:
1. Unzip and run the attached .NET WinForm application
No install required, it's just a standalone executable
2. Drag and drop the backup of your existing FecContainer.fec onto the application window
Validate your VIN number and timestamp are correct
3. Edit the list of FECs - you can add new ones, or change or delete existing ones
There's a modicum of validation before it saves, but don't expect it to protect you from your own stupidity
I recommend double and tripple checking everything in this whole process
4. Click the 'Save New FecContainer.fec' button
Probably best to do a binary diff and/or visual compare in a hex editor of the new and old files before uploading

Please PM me with any bugs issues. I'll try to address them.

Note the resulting file isn't signed. The application just blindly outputs the same signature bytes it read in. But there's zero point faking a signature as we're uploading onto a unit that won't be checking signing.
Thanks a lot !
 
21tesla said:
The internal bits to run the program aren't installed your computer (probably the dev tools). Please send me your file and I'll send it right back back to you with the CarPlay bits or I see there is a Windows option available, too

logan
Hi, thank you for the help, but i've (like you) already paid someone for the Carplay activation, and now i try to understand how to do it from my own. Like that i can activate for my friend (my good one because it was no so easy).
So did you already want my fec files ?
 
Gerald57 said:
Thank's for the program, i've just try it, here the result:]
Okay, no problem for the program. I needed it for modifying my own car as I can't get the other tools to work.

What was the source of the modified one you are pulling off the car that doesn't work?

My origina FEC from Audi has 5 manufacture supplied FECs in it. I see your original one only has 3.
BUT both of these files are passed as valid from the point of view of my tool, and as documented here:
https://github.com/askac/PorschePCMStuff

The tool is checking the trailer bytes as documented:
01 00 00 00 03 00 00 00 FF 00 00 00

Your modified fec from the car doesn't have those, or they are not correct.

1. Are you able to send me a copy? I can PM you an email address if you want.
2. Can you not just recreate the modified fec from your original? Assuming of course you know what was added.
 
pcbbc said:
Gerald57 said:
Thank's for the program, i've just try it, here the result:]
Okay, no problem for the program. I needed it for modifying my own car as I can't get the other tools to work.

What was the source of the modified one you are pulling off the car that doesn't work?

My origina FEC from Audi has 5 manufacture supplied FECs in it. I see your original one only has 3.
BUT both of these files are passed as valid from the point of view of my tool, and as documented here:
https://github.com/askac/PorschePCMStuff

The tool is checking the trailer bytes as documented:
01 00 00 00 03 00 00 00 FF 00 00 00

Your modified fec from the car doesn't have those, or they are not correct.

1. Are you able to send me a copy? I can PM you an email address if you want.
2. Can you not just recreate the modified fec from your original? Assuming of course you know what was added.
Email send :p
 
Gerald57 said:
Email send :p
Reply sent, but just to update everyone else on the thread....

Your "broken" file has these trailer bytes...
04 00 00 00 06 00 00 00 bf 00 00 00

Instead of the more "normal" (at least according to the few samples and references I've seen so far)...
01 00 00 00 03 00 00 00 ff 00 00 00

I've no idea why the change was made, or what the differences mean. But as you say even the car VIN did not match then I think we should assume those changes are not necessary.

In the interests of keeping as much the same about the container file as possible, and only changing what is absolutely necessary to add the needed FECs, I'd start again from your original file and add the mods...
00040100 Added navigation
0230003f Added maps up to version 0x3F
00050000 Existing Bluetooth
00070200 Existing SDS for Nav
00030000 Existing AMI (USB enable)
00060300 Added mirror link
00060800 Added Apple CarPlay
00060900 Added Google Android Auto
 
301 - 320 of 2,843 Posts