It’s been a long break since my last article (you know, the war is happening), and I’ve finally found time to continue my research. Previous article:
The template for the 010 Editor to parse both generations (2 and 2.5) was published half a year ago, but these were purely my theoretical considerations. Now I got the real GEN2.5 unit to play with.
The base part number of the hardware is 81A 907 159 A for the solid brick or 4K0 907 159 for the unit with mounting brackets. The main differences with GEN2 are the hardware version H08 and the new “Kendrion” logo in the sticker.
The module is installed in several modern Audis and MQB-Evo cars, so you may also find it by “personal” numbers:
4K0 907 159 C 4K0 907 159 D 4M8 907 159 A 4M8 907 159 B 5FE 907 159 5FF 907 159 5FF 907 159 A 5FF 907 159 C |
81A 907 159 B 82A 907 159 A 83A 907 159 83A 907 159 A 8S0 907 159 E 8S0 907 159 F |
8W0 907 159 L 8W0 907 159 M 8W0 907 159 N 8Y0 907 159 |
The only real change in GEN2.5 hardware is that they added one more graph to control the gain: pedal pressure. They’ve also doubled the sound sample rates, but I haven’t seen any real advantage of that – most of the firmware use old formats.
New VIN / engine / model lock became the real pain in the ass: this part was completely redesigned and split into two tables. There is a new logic to assign firmware profiles to FPA modes of the car. They also tried to save space and use half-bytes (4 bits) to store the values in the FPA lists (and a variable number of them per entry). It makes them really hard to edit – you can’t simply make properties for the 010 template but need to count byte shift every time.
The complete list of entries for facelift Audi TTRS looks like this:
The firmware contains two car profiles: the first is a regular body type (I still don’t know what “G” means), and the second is for the Cabrio model. The table with FPA mode assignments now has a “Schema” byte, declaring the presence of the second (or even the third) configuration per car: in our case, this is the additional set of sound profiles used with an open roof. There should be more options available for half cylinders firing, gearbox in the parking mode, electric motor engadged and so on.
0 value indicates the Basic schema, 4 – Cabrio. Other numbers require double-check and verification.
I’m not sure where the “Default” profile column is located in the new structure, so it’s an open question how the car without Drive Select modes would behave. FPA flag (J / N / 0 values) in the Car table limits only the detection part.
It could be (potentially) stored in one of the halves of “byte_1”.
All in all, what we know so far is enough to unlock all publicly available GEN2.5 firmware.
Sound Actuator
File | Car | Comments |
---|---|---|
FL_5FF907159___0002.UNLOCKED.odx | Seat Leon4 1.4TSI Hybrid | This fw is a direct replacement of 5FE907159, both have the same graphs |
FL_5FF907159C__0001.UNLOCKED.odx | Cupra Formentor 2.0TSI EA888evo4 | |
FL_4ML907159C__0005.UNLOCKED.odx | Lamborghini Urus | The new king of the road. The lion's roar of the mighty V8 |
FL_8S0907159F__0002.UNLOCKED_1.odx FL_8S0907159F__0002.UNLOCKED_2.odx |
Audi TTRS Facelift | The Cabrio model uses a second profile |
Active Exhaust
File | Car | Comments |
---|---|---|
FL_4M0907160A__0002.UNLOCKED.odx | Audi Q7 3.0TDI | Q7 / Q8 firmwares are 99.99% identical. There is only a few bytes difference in filters applied. |
FL_4M8907160A__0002.UNLOCKED.odx | Audi Q8 3.0TDI | |
FL_80A907160A__0002.UNLOCKED.odx | Audi SQ5 3.0TDI |
Just an interesting find: new AGA units also use new “cauldrons” to produce the sound.
A New Era of Mutants starts here
While not many cars use the GEN2.5 and even fewer devices are in the hands of the community, I decided to try converting my new favorite Urus to the old, GEN2 format. Sound samples and speed / acceleration / RPM graphs could be directly copy-pasted. The only changes needed were to update the “Samples_count” and “Sample_rate” values (other table dimensions remained the same). I also copied the columns of all the 8x16 index tables to the old 8x12 placeholders, but still not sure they are used in the same way. The biggest challenge is the new quantifiers and formulas for the Gain, Pitch-Shift, and Delay tables. They all need to be recalculated and I left the old values from the 8W0 donor. The firmware still needs more work – let’s call it BETA for now. Burbling is very similar to the original GEN2.5, but it definitely does so between ignition sparks. Volume gain at lower RPMs is also a bit different.
Since I already opened Pandora’s box, I also did an AGA to SAK conversions for GEN2 formwares, because why not?
I hope you will do more experiments and interesting findings.
Stay tuned…
PS: Some may not know this, but my bin2odx tool automatically calculates the checksum. --debug
command-line parameter will show the new values.
Comments
temp temp