olli991 / mib-std2-pq-zr-toolbox

Toolbox for MIB STD2 PQ/ZR Technisat/Preh units.
https://discord.gg/YU3rjatWjT
MIT License
464 stars 77 forks source link

Enhancement: eeprom read/dump and write/restore #91

Closed mattcabb closed 2 years ago

mattcabb commented 2 years ago

Hi! Is it doable to dump eeprom data in MIB STD2 like in MIB2 High units with on -f rcc /net/rcc/usr/apps/modifyE2P r 0 10000 > $DUMPFOLDER/eepromdump.txt ?

lprot commented 2 years ago

Alas there is no modifyE2P utility for mib std2 pq/zr existing/available.

mattcabb commented 2 years ago

Thank you for quick reply. I've investigated some things, checked the J5 dump, and it looks like: 0x003B00 data is available in /tsd/etc/audio/soundcurves/configuration.bin; 0x003000 data is in /tsd/etc/audio/soundcurves/vw/soundparams0.bin (there are configs for VW, Seat, Skoda in separate folders). I have no idea if this is copy of eeprom data, backup data, default data for the mib to restore, or even something completely different.

mattcabb commented 2 years ago

OK, I've created custom configuration.bin and wanted to upload in to MIB. Sadly, I can overwrite original over FTP. Any advice? Zrzut ekranu 2022-03-31 o 12 01 29

lprot commented 2 years ago

It was a nice finding - yes those are default 0x3000 (the frequency filters) and 0x3B00 (the mixer GUI settings) datasets to handle situation when you have no such a dataset in the eeprom but switch modes of the amplifier in 11th byte of long coding of 5F (for example from Canton/Fender to 4, 6 or 8 passive speakers). You cannot upload those files to J5 filesystem easily because the filesystem of J5 CPU is located not in eMMC but SPI chip on the motherboard. SPI filesystem is read only and you cannot remount it in rw mode like the filesystem of eMMC. That is exactly the system that gets flashed when you update stock fw and after reboot emerncies start to get updated.

mattcabb commented 2 years ago

I know that originally this topic was about eeprom, so I hope that you don't mind if I go deeper into datasets and sound configuration.

So about GUI and 0X3B00: In my unit (MIB2 Standard, Technisat, ZR, VW, 0478, Golf MK7, standard system) i had no data in 0x3B00. File /tsd/etc/audio/soundcurves/configuration.bin shows: 004064 F70009 F70009 F70009 000000 F70009 000000 F70009 000000 0003070000 001E262E373F474F5764707D8995A6B6C7DBF0 4446 5FCA. This data means that _ should have three sliders for equalizer (low, mid, high). This is correct.

I took this data, edited it to add information about additional two sliders, parametrized 0x3B00 with it, rebooted MIB, but no new sliders visible -everything is the same as before.

Next I asked my friend with Seat Leon to take a picture of the equalizer in his car, and to dump J5 from his unit. 5 sliders are available in GUI, but the configuration.bin looks identical as in my VW - there's info just about 3 sliders.

My assumptions:

Need to check:

My target:

lprot commented 2 years ago

Take a look at this article: https://www.drive2.com/l/611261670785849626/

mattcabb commented 2 years ago

Seen it. Great piece of work. Based on it I was able to create the custom dataset for my MST2. But still, car in this article is Audi with MIB2 High, which behave different than my VW MIB2 Std.

Will experiment more and post details here: https://github.com/mattcabb/mib2-parameter-tool

tomcollins commented 1 year ago

Hi @mattcabb. I'm looking to modify the 0x3000 data and write it back to the unit. I can understand how I may dump the data.

How did you achieve writing the configuration data back into the head unit? Any guidance would be appreciated thanks.

mrfixpl commented 1 year ago

@tomcollins CarScanner with PRO license and Carista ELM327 dongle.

tomcollins commented 1 year ago

Thanks @mrfixpl. I have CarScanner Pro and the Carista dongle. I'm able to read a couple of low 5F addresses but not 0x3000 and 0x3B00. I've not tried writing to these addresses as I want to read from them first.

I have a VW T6 with Discover Media, which is PQ platform and I'm not certain that the app supports this.

I was able to activate developer mode using the MQB platform in CarScanner.