mib-std2-pq-zr-toolbox
mib-std2-pq-zr-toolbox copied to clipboard
Head Unit Button Mapping
This isn't so much a but report as a potential feature request and also to spur on some conversion with folks who know more then I do about this topic. I'm interested in picking up one of the following displays,
https://www.ebay.com/itm/2020-VW-JETTA-ATLAS-TIGUAN-GTI-RADIO-MEDIA-NAV-APP-DASH-DISPLAY-UNIT-5G6919605D/254866104006?hash=item3b57341ec6:g:o9AAAOSw55ZgJ08f
These displays "can" be retrofit onto a 2016 Volkswagen Golf GTI my particular model is a 2016 Volkswagen Golf GTI with Autobahn Trim, Fender Audio, App Connect and MIB2 with Discovery Media + Nav.
It's been noted that these displays function correctly on the 2017 model year of GTI's/R's (mostly there are some potentially false reports of dysfunctional app buttons on 2017 as well but mostly they all work)
Considering these particular displays work 100% correctly with the exception of the App button on 2016 MIB2 (Discovery Media + Nav) I assume somewhere within the Firmware of the head unit there is a configuration that can be specified that will make this function correctly, I've spent a few hours digging through various MIB2 and MIB2 High Firmwares and haven't yet found anything that would specifically be controlling this functionality.
I was wondering if anybody here would have any ideas regarding how to make this work? I would imagine if it's simple enough folks would appreciate this as a feature, I'm happy to help out as well. A few outstanding questions to get a discussion started,
- Is there a difference between MIB2 2016 (Discovery Media + Nav) and MIB2 2017 (Discovery Media + Nav)
- If the answer to the previous question is false could this be firmware related? I don't have access to a 2017 (Discovery Media + Nav) system to dump both firmware's and compare them.
- The area that looked the most promising to me at first glance was the /tsd/tmp/HMI/config directory particularly the configurationmnanager_map.res
- Last note these displays are pulled from EU model Golf GTI's whereas I assume most of the customers were using NAR 2016 Golf GTI's (I know I am specifically) I wonder if this may have some impact as well.
Anyway hopefully this interests someone other then me I know there's quite a few users out there that would appreciate someone root causing this.
... as far as I know the button "App" works on firmware 04 ... and higher in Technisat / Preh units
Yeah there's a ton of information going back and forth on various forums, youtube, reddit etc. Is this on a 2016 Model Year MIB2 Discovery Media + Nav Technisat Head Unit? I've heard the 2017 of the exact same unit does indeed work but for some reason the 2016 doesn't. I'm honestly guessing that is due to having an older firmware revision (what started me down this path in the first place) I imagine most folks on the VW reddit/forums haven't actually done firmware updates to their MIB2 2016 units because it's such a pain to do.
I believe that you would have to modify screen firmware. If you look inside for example 0245 update package, there's a bunch of folders called DUV* and DUW*. Each for different version of the display.
Yeah that was my biggest concern that is was directly loaded into the touchscreen firmware :/
I believe that you would have to modify screen firmware. If you look inside for example 0245 update package, there's a bunch of folders called DUV* and DUW*. Each for different version of the display.
Thinking about this a little more if it was just the touchscreen firmware that is a difference between the two model years MIB2 units I would imagine there's somewhere else in the firmware that specifies which firmware to load depending on the display. If that isn't the case then simply removing or renaming the he 2017 models touchscreen firmware when updating to the new display should in theory resolve it
EDIT -
To add more fuel to the fire both of the firmwares in the 2016 and 2017 folder have identical sizes and filenames, granted I haven't dumped them yet to compare if they're actually identical or done any sort of checksum verification but at face value they appear to be the exact same file. So per @yox2019's comment it may just be folks haven't updated their MIB firmware in quite a while being the reason.
... as I wrote, the "App" button appeared for the first time in units from fw 04 ... at least in the PQ model
I did the switch between traffic and app screens and all work as the button is wrote, so, probably it's more about the hardware than the software
@ecarruda If you would mind providing the following it would be incredible helpful to try and root cause if this is a software configuration or hardware configuration issues,
- Model/Make of Vehicle (I.E. Volkswagen Golf GTI 2016)
- MIB Head Unit Version (Discover Pro, Discover Media, ETC along with MIB 1, MIB 2, MIB 2.5)
- Display Version (I.E. Retrofit eGolf 8" Classic Style Matte, Retrofit 8", Retrofit 9.2")
The reason why I'm asking is that I'm fairly certain the hardware between the two models of vehicle 2016 and 2017 in regards to the MIB unit is identical which really would leave software to be the only difference (most likely the touchscreen firmware included in the software updates post 2016). It would explain why 2016 owners mostly don't have functional app buttons whereas 2017 almost exclusive do work.
Hello, i have similar question to you. I have of course Technisat Discover Media in VW Sharan 2016. I have no "CAR" button on the right side, but only "TRAFFIC" button. I cannot enter menu with consumption statistics etc normally, only when activating and deactivating HYBRID menu via VCDS. is there any way to remap TRAFFIC button to CAR function? some units allows to enter the menu by VOICE+MENU+NAV triple push, but not my unit. Or some script that just adds the desired button to sliding menu?
thank you
Unit 5C0035680B, firmware MST2_EU_VW_PQ_P0254T
You have to update software 03xx or 04xx will make the app button work, it is a forced update that can be done in someway how the toolbox is installed.
You need to consider, that there are following Discover Media units: MIB STD2 PQ - for PQ35/PQ25 platform. They have the screen and the unit in one housing. Those are Technisat/Preh brand and have PQ 01xx/02xx/03xx/04xx/06xxT FW versions (depending on HW/brand). MIB STD2 ZR - for MQB/PQ26/PQ27/MQB-A0 platform. The screen is separate from the unit. They are connected by LVDS video cable. Those are also Technisat/Preh brand and use ZR 01xx/02xx/03xx/04xx/05xxT FWs (depending on the HW/brand). MIB2 STD - for PQ37 platform. The screen is separate from the unit. They are connected by LVDS video cable. Those are Delphi brand. And the latest FW version for them is 08xxD. But there are also new units with FW 05xxD
Depending on the car model/brand (VW/Skoda/Seat), there are different screens with different buttons. So if the screen does not match the unit (the pair was not officially tested by devs) - that is a lottery to get it working and you just need to play it or forget.
The FW part that handles presses of the buttons of the screen is not changable - signed by digital signatures so I doubt anybody will be able to fix that. In theory it is maybe possible to tweak screen's fw and just update but in practice it can lead to bricking the screen and nobody will be doing that.
Is there already a solution? I have a Discover Media PQ E version. Updated the system from FW 02xx to 04xx and today I swapped front to the version with the app button. I now also have WLAN option working. But after swapping front to new version front, the APP button stil functions as Traffic button.
looks to me that this is hidden in the firmware.
I'm not 100% sure, but it looks like DM/MIBHMI_480T/de/vw/mib/asl/internal/system/util/SystemKeyUtil.java
(which i found here) contains key mapping in the transformDsiKeyIdToKeyListenerId
function.
I'm guessing that case: 5
is traffic button. If one would change the return 4;
to maybe return 34;
it just might remap the button to AppConnect.

Thanks @mrfixpl
@NLdieseltje @mrfixpl Have you made any progress? I have a radio with a traffic button, which I would like to work to enter android auto/carplay, and I am interested in this.
@Albertron86 sorry no. Did not have the time. Next week I will receive some parts to repair an other DM. Then I can check if I´m able to modify that file.
@Albertron86 sorry no. Did not have the time. Next week I will receive some parts to repair an other DM. Then I can check if I´m able to modify that file.
Ok no problem. If you manage to do something about it, I would really appreciate it if you would share it here. Greetings
Curious if any further progress is made on this. I have an MIB 2 unit I swapped into my 2015 Golf. It came from a 2017 golf. I would love to remap one of the buttons to go to the carplay by default
Still nothing found.
Anyone know how to decompile the .res files?
Anyone know how to decompile the .res files?
https://github.com/olli991/mib-std2-pq-zr-toolbox/blob/master/tools/extract-mcf.py
Anyone know how to decompile the .res files?
https://github.com/olli991/mib-std2-pq-zr-toolbox/blob/master/tools/extract-mcf.py
And for .jxe files? I mean .res extensions not MCF, mcf already used to edit the themes!
Hope you can help me.
Anyone know how to decompile the .res files?
https://github.com/olli991/mib-std2-pq-zr-toolbox/blob/master/tools/extract-mcf.py
And for .jxe files? I mean .res extensions not MCF, mcf already used to edit the themes!
Hope you can help me.
Res is just a helper file to mcf. Take a look inside of the script. For jxe google for decompiler.
I'm not 100% sure, but it looks like
DM/MIBHMI_480T/de/vw/mib/asl/internal/system/util/SystemKeyUtil.java
(which i found here) contains key mapping in thetransformDsiKeyIdToKeyListenerId
function.I'm guessing that
case: 5
is traffic button. If one would change thereturn 4;
to maybereturn 34;
it just might remap the button to AppConnect.
Did you get it to work, or do you know how to compress every .jxe back to its normal jxe format back? So it will work how it should? Extractor is jxetools but no packer or compiler back.
Did you get it to work, or do you know how to compress every .jxe back to its normal jxe format back? So it will work how it should? Extractor is jxetools but no packer or compiler back.
I bet it simply won't work when you try to re-compile the decompiled code. i think also CFR decompiler warns about it. you also have no have all dependencies / imported files/function in decent quality. so it is not only about this one file. A simple solution is to take a hex editor and patch the bytes in the JAR or class file and decompile again and check what you did. But this is a pain/impossible with single byte numbers, as you likely wont find the correct one. It works ok with larger numbers that require 2 or better more bytes, as you wont have so many random search hits to try out. you can also try to open the class file with a java bytecode debugger to find the position in the file.
JAR /JXE is simply a ZIP file with 0 compression. But you might have issues with the CRC check failing after patching the JAR file. so be sure to change the CRC in the ZIP header as well, or patch your python zip library to ignore CRC fails instead of deleting the file.
Res is just a helper file to mcf.
not quite. res is a mostly generic ressourcefile format for multiple purposes, not only skins. but every res file has its own pitfalls
I was not able to solve this The issue is surely not in the screen. as soon as you swap screen, to newer version, the app button still works as traffic and if you use a old type screen on a new mainboard, the traffic button works as app button. This states clearly that it is managed by the mainboard.
We found a solution within the res files. Stay tuned might take some time but remapping and even mapping new functions is possible
Done https://www.drive2.com/b/670108632616028099/