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

  • sapote
    replied
    Originally posted by Basketcase View Post
    Is there anyone that knows what is required to do the drive by wire delete,(software wise). So that you can use drive by cable on the S54?
    Thanks in advance
    This drive by cable never works for SMG as the DME needs to control the rpm.
    For 6mt, I'm sure the DME needs to be bypassed the gas pedal encoded data input to avoid it generating the error flag when the TB position feedback not matching with the pedal input.

    Leave a comment:


  • Basketcase
    replied
    Is there anyone that knows what is required to do the drive by wire delete,(software wise). So that you can use drive by cable on the S54?
    Thanks in advance

    Leave a comment:


  • pasqua
    replied

    Hello I am new on the forum I live in Corsica so please excuse the spelling which comes from google translation my car is a m3 e46 from 2002 where i have already installed the mss54hp with the csl nose and the carbon box i would like to know how to check that the binfull csl is correctly installed because the program numbers in the dme do not change after the flash thank you

    Leave a comment:


  • R3Z3N
    replied
    Slowly translating the MSS54 funktion document. Otherwise there are hints such as what K_MD_ASC stand for

    The readme.md of the first page at github gives some info such as:

    K - constants, ie bit switches, flags, etc
    KL - Kennlinnie - dataline, for example the linearization curves for sensors
    KF - Kennfeld - Map table
    The format usually sticks to type_datacontent_axis_axis so KF_TI_N_RF is map:injection:rpm:relative filling

    and:
    AR ANTIRUCKELFUNKTION Anti-bucking
    AQ AQUER aquer
    AUSS Aussetzerkennung Misfire code/detection
    BA BA ??
    BZ Betriebszustaende Operating states
    CAN CAN_Schnittstelle CAN bus interface/control
    CAN CAN_Schnittstelle-Slave CAN bus interface/control slave
    DA D/A_Konfiguration Digital/Analog conversion/configuration
    DKBA DKBA Contains Alpha-N map
    DWF Drehzahlwarnfeld Speed warning field
    DSV Druckspeicherventil Accumulator valve
    DYN Dynamik dynamics
    EDK EDK Throttle Body
    EDISI EDK_Soll_Ist EDK actual
    EGAS EGAS Electronic Throttle system
    ?? Eigendiagnose self-diagnosis
    TI Einspritzung injection
    ELU Elektroluefter electric fan
    FGR FGR Cruise Control
    FR FUELLUNGSREGLER Combustion controller (adapt values)
    ?? Fehlerfilter Kontrolle error filter
    VDIAG Fz_Geschwindigkeit Vehicle speed
    GANG Gangerkennung Gear Recognition/Detection
    KATH Katheiz_Funktion Catalytic heater function
    KATS Katschutz Catalytic protection
    KKOS Klimaanlage air conditioning
    KM Klopfen knock
    EKP Kraftstoffpumpe Fuel pump
    LLR LEERLAUFREGLER Idle control
    ?? Lambda lambda
    ?? Lambda-OBD Lambda OBD
    ?? Lambdadiagnose lambda diagnosis
    ?? Lamdasondenheizung Lambda probe heating
    HFM Lasterfassung load detection
    LU Laufunruhe rough running
    LL LeerLaufSYNChornisation Idle synchronization
    LFR Leerlaufregelung Idle speed control
    LLS Leerlaufsteller Idle adjuster
    ?? Messwerte Observations
    MD Momentenmanager Moment Manager
    NO_FUNCTION NO_FUNCTION Miscellaneous
    OEK OEK ??
    TOG Oelniveaugeber Oil level sensor/readings
    PDR PDR varies with time (?)
    ?? Relativer_Oeffnungsquerschnitt relative opening cross
    SA_WE SA_WE Temperature functions
    SSP Saugstrahlpumpe eductor
    SWE Schlechtweg-Erkennung rough road detection
    SLS, SLP, SLV Sekundaerluftsystem Secondary air system
    SERVO Servotronic Servotronic adjustable steering ratio system (non-M3)
    SK Sicherheitskonzept Security concept
    START Startrelais Starter relay
    ?? System_Kontrolle System control
    TW TPU_Synchronisation TPU synchronization
    TE, TEA Tankentlueftung Tank vent or Evaporator canister purge control
    LDP Tankleckdiagnose Tank leak diagnosis
    EVAN, AVAN Vanos EVAN: Intake Vanos, AVAN: Exhaust Vanos
    ?? Versionskontrolle version control
    TZ Zuendung ignition
    SMG smg smg

    Leave a comment:


  • NewHouseTM
    replied
    Is there any wiki or help that tells what each function of the XDF does?

    Leave a comment:


  • E46m3zcp
    replied
    Im thinking maybe Rohacell.com
    They have an automotive product

    Sent from my LG-H872 using Tapatalk

    Leave a comment:


  • 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, 04: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, 06: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:

Working...
X