Announcement

Collapse
No announcement yet.

Comprehensive MSS54/MSS54HP DME Information

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • heinzboehmer
    replied
    Originally posted by E46m3zcp View Post
    What is the 0DA supposed to be used for ? How do they relate to each other ?
    An 0DA daten file and a partial bin contain the same data, they're just structured differently. Binaries are just easier to work with because of all the tools available that can interact with them (like Martyn's tool and the xdf definitions for tuner pro on GitHub). There's even tools available to convert between 0DA and bin files: https://www.ecuworx.co.uk/2016/03/09...tool-released/.

    To be honest, I've never messed around with 0DA files because the binaries are easier to work with.

    Leave a comment:


  • E46m3zcp
    replied
    Originally posted by heinzboehmer View Post

    0DA files are just binary files in BMW's format, per say. But yes they hold the data section of the EEPROMs. It's easier to just read either the full or partial (otherwise known as the tune) binary using MSSFlasher or BMWFlash and make changes to that.
    Thanks for all the info. I carefully read the PDF and I was able to read my DME and save the bin file. I can tell my version code is 211323002701JD79 for instance. Now using 010 Editor to compare the tune file to the 0DA file I can tell they are very different. What is the 0DA supposed to be used for ? How do they relate to each other ?

    I am trying to figure out which of the 0DA correponds to the version of my DME by looking at the bin file. The table in this thread has '????' as the 2 last bytes of the version code for the current candidates : A7842978, A7842980, A7843302 and A7843304. However, looking for '2113' in each of these files I found that the full version code seems to be

    A7842978 --- 211323002701J429 X
    A7842980 --- 211323002701J469 9
    A7843302 --- 211323002701JD39 9
    A7843304 --- 211323002701JD79 L

    I guess this means I have version 7.842.981 released on 23-Apr-2009 and that my DME has the latest software release.
    Last edited by E46m3zcp; 09-13-2020, 05:14 PM.

    Leave a comment:


  • heinzboehmer
    replied
    Originally posted by Slideways View Post

    Terra knows the rough cutoff for non-HP to HP. I believe it is after the facelift in late 03.5. Neither 10/02 and 11/02 that I checked had an HP.
    Hmm honestly not too surprised that the actual cutoff is different, I was just going off what RealOEM says. I'm assuming it 09/02 because that's when the CSL started coming out.

    Edit: just realized terra responded earlier to this thread saying that M3s built after 09/03 all came with HPs.

    Leave a comment:


  • Slideways
    replied
    Originally posted by heinzboehmer View Post

    Yeah regular M3s with build dates after 09/02 came with MSS54HPs. These run different firmware than the CSL DMEs though, which is why you'll hear about "CSL DME conversions".

    You can use whatever hex editor you like to read and modify a binary. The offset refers to the location of the data (e.g., offset 0x0 is the first byte in the binary and offset 0xA is the eleventh byte in the binary).

    0DA files are just binary files in BMW's format, per say. But yes they hold the data section of the EEPROMs. It's easier to just read either the full or partial (otherwise known as the tune) binary using MSSFlasher or BMWFlash and make changes to that.

    This document provides a great introduction to all of this and will probably answer most of your questions: https://github.com/saildot4k/MSS54-X...dification.pdf
    Terra knows the rough cutoff for non-HP to HP. I believe it is after the facelift in late 03.5. Neither 10/02 and 11/02 that I checked had an HP.

    Leave a comment:


  • heinzboehmer
    replied
    Originally posted by E46m3zcp View Post

    When you say it's only related to year, does it mean some late non-CSLs M3s are equipped with MSS54HPs ?
    Also do we know what changes the newer DME software versions (say 2009 vs 2006) bring ?

    How should I interpret the HEX data shown in this thread (the one showing the offset and bytes corresponding to options)? Is it the contents of the EEPROM memory ? What are the 0DA files ? Are they the exact binary program to be flashed onto the DME EEPROM ? So could I interpret and modify an ODA with say a text editor and enable/disable features, then flash it to my DME? I am very new to this, thanks for being patient with my noob questions

    Cheers!
    Yeah regular M3s with build dates after 09/02 came with MSS54HPs. These run different firmware than the CSL DMEs though, which is why you'll hear about "CSL DME conversions".

    You can use whatever hex editor you like to read and modify a binary. The offset refers to the location of the data (e.g., offset 0x0 is the first byte in the binary and offset 0xA is the eleventh byte in the binary).

    0DA files are just binary files in BMW's format, per say. But yes they hold the data section of the EEPROMs. It's easier to just read either the full or partial (otherwise known as the tune) binary using MSSFlasher or BMWFlash and make changes to that.

    This document provides a great introduction to all of this and will probably answer most of your questions: https://github.com/saildot4k/MSS54-X...dification.pdf

    Leave a comment:


  • E46m3zcp
    replied
    Originally posted by heinzboehmer View Post

    Nope. Hardware differences are only related to year (HP vs non-HP). Firmware is different though.
    When you say it's only related to year, does it mean some late non-CSLs M3s are equipped with MSS54HPs ?
    Also do we know what changes the newer DME software versions (say 2009 vs 2006) bring ?

    How should I interpret the HEX data shown in this thread (the one showing the offset and bytes corresponding to options)? Is it the contents of the EEPROM memory ? What are the 0DA files ? Are they the exact binary program to be flashed onto the DME EEPROM ? So could I interpret and modify an ODA with say a text editor and enable/disable features, then flash it to my DME? I am very new to this, thanks for being patient with my noob questions

    Cheers!
    Last edited by E46m3zcp; 09-10-2020, 07:13 PM.

    Leave a comment:


  • Chris_de
    replied
    hey guys,

    i recently started with the mss54hp disassemlby in idapro.
    So as first step i searched for the locations where the can-registers are setup, but i'm already stuck at this point.
    I can see that many other registers are set but i cannot find the can-addressspace.
    I'm searching for addresses for can upwards 0xFFF080 - 0xFFF0A6 as stated in the MC68336/376 ref.manual.

    Can you help me getting started and find the right initial spots to look at?

    regards
    chris

    Leave a comment:


  • bigjae46
    replied
    Yes, thank you! I need this thread!

    Leave a comment:


  • heinzboehmer
    replied
    Originally posted by Andy2424 View Post
    sorry, since my mother tongue is not english, i do not understand the term flashes in the context.

    Can someone explain to me what that means? Misfire?

    thank you 👍
    Basically means to install the software onto the module. Usually also implies that all previous software is overwritten.

    Leave a comment:


  • Andy2424
    replied
    sorry, since my mother tongue is not english, i do not understand the term flashes in the context.

    Can someone explain to me what that means? Misfire?

    thank you 👍

    Leave a comment:


  • TropicalM3
    replied
    I have a 2006 M3 MSS54HP and I am replacing my ECU with a used one and I want to clone the used one from my original ECU, can I just do a full read using MSSflasher or BMWFlash and write it into the donor ECU? Would that be enough to start and drive the car?

    Leave a comment:


  • E46 Adam
    replied
    Originally posted by terra View Post

    The 60 flash limit (really 30 flash limit) is artificial and MSSFlasher can clear that. The physical limits are going to be on the order of 10-100k flashes.
    alright kinda cool knowing they can take 100000 Flashes, Thanks!

    Leave a comment:


  • Slideways
    replied
    Originally posted by terra View Post

    The 60 flash limit (really 30 flash limit) is artificial and MSSFlasher can clear that. The physical limits are going to be on the order of 10-100k flashes.
    Can the flash limit be cleared after it has hit the 30/60 limit?

    Leave a comment:


  • terra
    replied
    Originally posted by E46 Adam View Post

    does a DME take 60 flashes max throughout it's whole life even Mssflasher can't reset that 60 flash limit?
    The 60 flash limit (really 30 flash limit) is artificial and MSSFlasher can clear that. The physical limits are going to be on the order of 10-100k flashes.

    Leave a comment:


  • E46 Adam
    replied
    Originally posted by R3Z3N View Post
    ^Just use MSS Flasher to reset the flash counter.
    does a DME take 60 flashes max throughout it's whole life even Mssflasher can't reset that 60 flash limit?

    Leave a comment:

Working...
X