E46 Fanatics Forum banner

[MS4X] Siemens MS43 Community Patchlist for Tuner Pro

209K views 435 replies 98 participants last post by  330CIBOSS 
#1 · (Edited)
Hello E46 fanatics and all you other visitors passing by!

As you all know there are some nice extra functions for the MS43 available at the moment that require editing the program code section inside the 512kb file.

Also, the MS430056 software version is kind of outdated, even when talking about a 20 year old vehicle, and lacks support of some handy things, like six speed transmission.

Because of these two good reasons we want to move on to the latest software version MS430069 and also combine all the existing special functions in one solution.

So we, the MS4X dev team, decided to offer the community this new "All-In-One" solution to keep track about all those features and make further developement way easier for us:thumbup:



There is one major difference in concept between Daniels first release binary in 2015 and this patchlist, you can now basically create your own firmware with all the features you want!

To do this, just install Tuner Pro or Tuner Pro RT if you want to make use of the logging features and load the patchlist XDF file and of course your desired MS430069 variant from HERE.

You can apply the patches you want and save the binary file after that. Thats it, no more manually copy and pasting HEX values, just clicking and flashing.

Please excuse that the feature list will only be available at the wiki page itself, because its easier and avoids redundancy.

Important things to know:
  • Only possible with the full flash file that is 512KB in size. Not compatible with KESS or other universal flashers.
  • Every program code altering obviously needs checksum correction, use Ultimo Checksum Corrector, or the MS4X Flasher from the wiki that corrects the checksums on the fly. (available HERE)
  • Bootmode flashing is only needed when you want to virginize the ECU and readapt it to a another EWS module. Every other feature works without bootmode flashing!
  • Yes, the launch control was revised and yes there will be a ignition cut feature soon :)
  • Unfortunately there is a bug in MSS5X flasher corrupting the checksums of your files. Please apply "[PATCH] Checksum Bypass" if your car doesn't start or "TPS adaption" error shows up.
  • When coming from 430056 EWS delete, you must flash in bootmode first, read out the fresh flashed ECU with MS4X Flasher and the apply all the mods in that file.
  • Chipster Flashtool for MSS5x is incompatible with most of the mods because it has a wrong checksum correction method.

Download is available at www.ms4x.net here: TunerPro MS43 Community Patchlist

If you have problems please use the following template to report in this thread:

  • What car do you have?
  • Any modifications done to the car? (engine, gearbox, cluster swapped, removed immo module, etc.)
  • What is the actual problem, what doesnt work?
  • What have you tried so far?
  • Was the engine already tuned, or flashed with another software?
  • If errors are present please attach pictures of all INPA error codes from DME.
  • Also attach full 512K readout of the ecu when the error is present.

Credits of these functions belong to their creators and thanks fly out to Daniel_F. whos outstanding work made the E46 enthusiasts community become what it is today. Cheers!
 
See less See more
1
#50 ·
maybe has something to do with ecu hw number ? after flashing v69 i`m unable to comunicate with ecu ,no inpa connection - module doesnt match -kind of error ,mssflasher - unsupported ecu. tried multiple times,unable to start , no connection to ecu. Maybe someone is willing to share their working full file...
 
#55 ·
Firs at all Thank yousda2 Great job!
Every day i`ve been waiting update of wiki!

What about Extended DS2 Logging? I`ve already activated, but where may i monitor new parameters? Automatically will have added to test-o/inpa ?

Main errors from inpa,for nonstarting v69
View attachment 780129
View attachment 780131
View attachment 780133


Sent from my iPhone using E46Fanatics mobile app
Same error..

Somebody know, what does it mean LHD and RHD?:
Siemens_MS43_MS430069_E46_M54B30_EU2_LHD.bin
Siemens_MS43_MS430069_E46_M54B30_EU2_RHD.bin
 
#68 ·
JMGarage doesn't work with the wiki files. I did get it flashed with Chipster and had no problems with the automatic checksum correction it does... Used ultimo to check before flashing and checksum was not correct, the flashed with Chipster and it worked. Didn't have to patch the checksum check either.
 
#75 ·
does somebody works on the checksum fix,or v69 will remain unflashable for those with EWS physically removed ?
If you used Ultimo and JMGarage then the checksum shouldn't be the problem. If you could post any error codes that you receive and upload the corrected file you flashed to the ecu it would help debugging the issue.

by the way, is there a semnificative advantage over the older software versions ? is there a "why should we upgrade" thing?
As with all program updates the newer firmwares contains bugfixes and some updated logic. One reason to update would be if your car needs OBD VIN reporting to pass vehicle inspection then you need to be at least on firmware 430066.
 
#77 · (Edited)
Update:

1. We can say that there is definately a bug inside the checksum correction of the Chipster tools. This affects the MSS5X flasher and also the MS43 checksum corrector.

The reason why nobody ran into that bug until now is because we did not have such heavy program code editing, like launch control or DS2 logging extension.

Firebie created a version of the v1114 MSS5X flasher that ignores the checksums, I can upload it to the Wiki if he's okay with that.


2. I made a terrible mistake when uploading the 430069 stock binaries back in June. I forgot to add the flash validation entries and seed keys to the files after creating the binaries.

When you read out the MS43 ECU with one of the non boot mode flash tools, the protected areas will be FFed in the file.

Flashed back to the ECU in boot mode such a file overwrites the flash validation entries with FF and this prevents the ECU from booting.

I updated the files on the wiki, so atleast with bootmode they should work now.
 
#225 · (Edited)
Update:
2. I made a terrible mistake when uploading the 430069 stock binaries back in June. I forgot to add the flash validation entries and seed keys to the files after creating the binaries.

When you read out the MS43 ECU with one of the non boot mode flash tools, the protected areas will be FFed in the file.

Flashed back to the ECU in boot mode such a file overwrites the flash validation entries with FF and this prevents the ECU from booting.

I updated the files on the wiki, so atleast with bootmode they should work now.
Does full read of MS43 using your Dev Group MS4X flasher (without bootmode) contain these "protected areas"? I can't find answer for this question in any thread. I've compared bootloader section (0x0000 to 0x0FFFF) of full read (done with Dev Group MS4X flasher) of my original ECU with v69 from wiki and with Daniel's v56 and can't find in mine bin any more FFed areas than in Daniel's v56 and v69 from wiki.

Actually my car runs on spare ECU from ebay flashed with daniels v56+LC for a few years, and what I want to do is to clone my original ECU to this spare one and update it to v69 from wiki to reenable my EWS. Is Full Read done with Dev Group flasher of original ECU enough to make full copy or do I need to open it and read it in boot mode using JMGarage?

Thanks

Update:
OK, never mind. I've done boot mode full read of orginal ECU using JMGarage and actually there is some difference in bootloader part at 0x3F00 to 0x3F63 (in dump without bootmode these bytes are FFed). So for anyone who wants to clone their ECU keeping EWS you need to do full read of original ECU in bootloader mode using JMGarage.


Update2:
OK, so I've flashed my spare-junkyjard ecu, that previously run on Daniel's v56, in bootmode (jmgarage flasher) using bootmode backup of my orginal ecu (v66) and my EWS is working again! It won't sync at the beginning but it worked after clearing error codes in EWS module using INPA (car was running on Daniel's ews deleted v56 for 2 years).

Then I've successfully updated it to v69 (Siemens_MS43_MS430069_E46_M54B30_EU4_LHD.bin) from the wiki. Then I've done full flash read using Dev Group MS4X flasher and applied LC and Calibration Data Checksum bypass patches to it and done some LC adjustment. Saved bin and flashed it with Dev Group MS4X flasher and car cranked but won't start (threw TPS calibration error and ECU faulty codes - clearing codes and adaptations didn't help). Same problem as described by others, with weird (fuel pump?) relay ticking that can be heard from passenger side after turning key to position 2.
Next I've tried to correct checksums on that bin with ultimo and flash it with Dev Flasher witch checksum correction disabled - same effect, so I've flashed again the original bin, that I've read from ECU before applying patches - the engine started without any problems and relay was acting normally.
Next I've started over again from this working bin, but that time I only applied LC patch (without modifying stock LC configuration) and flashed it - car started without problems and LC was working. I haven't touched full flash any more and I just had modified XDF for 64KB to contain LC configuration parameters so I could configure it without full flash.

So there are definitely some problems with community patchlist for MS43 that shows up in some specific scenario. I haven't tried to apply checksum patch the second time because Dev Group MS4X flasher is so good that I would not use galetto any more. So maybe the problem is in checksum patch, or maybe when LC and checksum patches are applied together?

Ping me if you want me to do any more tests, I've got pretty stock 2002 EU spec 330XI.
 
#78 · (Edited)
I have an idea where the bug is. Wiki says:
Both addition checksums have to be corrected before the CRC16 checksums, as the addition checksums are located inside the CRC16 checksum areas.
while in the code additional checksums are checked between second and third CRC16 (this code is for full flash, partial flash doesn't have any issues as I understand):
CheckCRCms43(0x3C24, 0x3FE6, 0, 1);
CheckCRCms43(0x6FDE0, 0x6FFB6, 0, 2);

ChecksumMS43(0x6FDAE, 0x6FDB2, 0x6FDAE, 16, 3);
ChecksumMS43(0x6FDAE, 0x6FDB2, 0x72FFC, 32, 4);

CheckCRCms43(0x73FE0, 0x7000C, 0, 5);
I think that right code have to look like this:
ChecksumMS43(0x6FDAE, 0x6FDB2, 0x6FDAE, 16, 3);
ChecksumMS43(0x6FDAE, 0x6FDB2, 0x72FFC, 32, 4);

CheckCRCms43(0x3C24, 0x3FE6, 0, 1);
CheckCRCms43(0x6FDE0, 0x6FFB6, 0, 2);
CheckCRCms43(0x73FE0, 0x7000C, 0, 5);
Can anyone provide me some full file to test corrected checksum/flasher version?
Here is modified version of checksum corrector for MS43 to test: https://ufile.io/u1dn9v96
 
#101 · (Edited)

flasher hangs at 99% on byte 0x06FFB0 .... Give the "turn off ignition for 10 sec" message ,but still remain at 99% progress bar and byte number. Turning over engine,no start ,inpa wont communicate with ecu. it detects an ecu,but not whats expected. kinda old error when flashing with original chipster tool without bootmode.


rename to.bin
 

Attachments

#103 · (Edited)
sda2 What about knock sensors?

I mean, We can see knock sensor`s 1 / 2 readings by testo, but we cant use this readings for determine knocking, because this readings was not filtered.

As i heard, DME make filter of knock sensors readings, but only for internal use of DME .

So, Does it possible to look filtered information of knock sensors by DS2 commands or else?
 
#106 · (Edited)
My own MS43 is a 5WK90007 Index 1, so even a little bit older than the 5WK90012 and its working with the 430069.

I wonder what happens when you reflash the original file of the the ECU in bootmode and then use the new flasher to write the patched 430069.

Edit:
So, Does it possible to look filtered information of knock sensors by DS2 commands or else?
As there are cylinder individual knock tables this is possible, yes. I want to create knock indication light over EML with user configurable threshold as well.
 
Top