Advertising:

Siemens MS45

From MS4X Wiki
Revision as of 13:59, 17 July 2018 by Ryanknee (talk | contribs)

Getting Started

At this time there is not a great deal of publicly available support for the MS45 or MS45.1 DMEs. They are a more advanced version of the MS43, and a precursor to the newer MSV70 DMEs found in newer BMWs such as the e90 platform cars.

The primary differences between MS45 and MS45.1 are that the MS45.1 adds wideband pre-cat O2 sensors and uses a MAF in the SAP. MS45.1 was primarily an emissions update and was only used in north american cars.

Software & Tools

The MS45 external flash is comprised of a large 1024kb block, which contains both the program space and the parameter space. If using PASoft to read from the DME, for example, a "full read" of the 1024kb block would be done from address 0x00000 to 0xFFF3F. The parameter space is a subsection located within that larger block and is approximately 128kb in size found from 0x40000 to 0x5CF7F. However some tools such as the Frieling Racing flash tool will write a full 128kb from 0x40000 to 0x5CFFF, which is fine, the extra bytes aren't used they are just filler basically.

At this time all your tuning changes will be in the 128kb parameter space.

Flashing software

These are the tools you would use to read or write a tune to your car. Their only job is to take a file, or tune, and get it onto the car, or read the current tune from the car so you can use a different piece of software to edit that tune.

Options have been very limited primarily due to the fact that the MS45 family DMEs employ 512bit RSA encryption in order to write a new tune over the OBDII port. Very few have cracked this so far, although with today's compute power it is totally possible using brute force tactics and only a couple days of time, and the know-how. So expect these options to grow over the next few years, but for now, it is what it is.

  1. BDM - Requires you to remove the DME from the car and have a bench setup with a laptop. The BDM100 uses a connector that is soldered to a BDM port on the back of the DME and will grant you full access to all of the onboard flash in the DME. Each time you flash a new tune to your car, you'll have to remove your DME, put it on the bench, flash it, and then reinstall in the car. Not very practical, and best used if you are going to begin deep disassembly of the DME, and at that point you dont need this wiki :)
  2. Frieling Racing - This is a tool that is licensed to tuners, not something a hobbyist would likely have or use. If you contact a tuner and they tell you they can tune your MS45/MS45.1 car remotely, this is the tool they are using. The tuner will send you a special OBDII-to-USB adapter and a small peice of software to load on a laptop so when they send you a ".mod" file you can simply load it on the car. Its fast and it works reliably, but again, typically only tuners use this software due to the licensing costs and its "encryption" of the tune files they send you to prevent sharing. It will correct the most basic checksum covering a majority of the parameter space, but does not automatically fix the checksum covering some torque monitoring parameters, you'll need to adjust those on your own.
  3. Bimmerlabs.com - Still in development, and partially available, bimmerlabs.com has the ability to take your tune in binary format (.bin) and convert it to a .0da file complete with fixed checksums (all of them). That is the exact file used by the BMW WinKFP tool to flash updated OEM BMW firmware to your DME. It does require you have a working installation of "BMW Tools" on your laptop (the suite of software from BMW that contains INPA, WinKPF, EDIBIAS, etc). It will provide you with a conveniently packaged batch file (.bat) that you can double click on that will automatically launch WinKFP and start the flash process without you needing to do anything else. It's very fast and uses a standard basic OBDII-to-USB cable that you can find on eBay, amazon, or bimmerlabs.com for about $30.
  4. PASoft - This tool can only read, it cannot write. Can be useful if you need to get an initial snapshot of your tune off your car for editing. Requires a special PASoft cable.

Tuning software

The tuning software is not required, as you can make all the changes to the file with a HEX editor as well, but then you propably wouldn't need this wiki ;)

Many tuning packages rely on definition files, or maps. These are not publicly available, and many tuners only have access to a very limited or partial map pack. The MS45 DME has over 2500 parameters! That said, only a fraction of those typically are changed when tuning these cars.

These tools expect that you already have a way to read and write to your DME using a flashing tool.

  1. WinOLS - This package is fairly expensive to license, although there is a freeware demo version that has some limitations. Its a general tuning package not specific to BMW or any particular DME. Requires a map pack, which is not provided by WinOLS. You have to either find your own maps or try to buy a map pack from someone. Really great tool for a professional tuner, but not ideal for the hobbyist.
  2. TunerPro - TunerPro is freeware and there are a lot of community provided map packs (.XDF files) but none publicly available for the MS45 DMEs.
  3. BimTun - Somewhat affordable and does not require a map pack, the maps are built-in, but the number of maps available are limited. Offers support for changing some of the more popular settings such as fueling, timing, etc. Does not have access to all parameters in the MS45, but does have a hex editor if you know what bytes you want to change.

Checksums

There are at least two checksums in the MS45, and one of them is not very straightforward. You will either need to correct these checksums by hand, or you'll need your flashing tool to correct them for you on the fly during the flash process.

The primary checksum you'll deal with when editing values in the parameter space is found at 0x40100. The checked region is 0x40200-0x5CFFF. It is a 32-bit CRC, using polynomial 04C11DB7, initial value FFFFFFFF, no reflection, XOR out 00000000.

Some torque monitoring parameters are covered by an additional checksum located elsewhere. I do not have information this additional checksum yet.

Terminology

The acronyms are Siemens mapnames from the Funktionsbeschreibung.

The following list contains a selection of the most used terms. It's crucial to understand at least the major engine states like _is_, _pl_ and _fl_ to make sense out of the cryptical naming of the maps.

File:Abbreviations.pdf

Enginestate Description
as after start
cs cold start
es engine stopped
fl full load
is idle speed
pl part load
pu trailing throttle
puc trailing throttle fuel cut-off
r restart
st start

Fueling

Fuel Injection Maps

The lambda sensors for closed loop operation are narrowband for the MS45 and wideband for the MS45.1. Fuel trim learning only happens during closed loop operation, but the learned fuel trims do affect full throttle fueling as well.

The MS45.1 will use the widebands to fine tune fueling in a majority of driving conditions until "full load" is reached. There are several parameters that control when "full load" is determined, such as a minimum RPM.

During full load the following table is used to adjust full load fueling:

  • ip_lamb_fl__n

Non Stock Injector Maps

Changing the fuel injectors may be needed when charging your engine and therefore some constants and maps need to be tweaked.

You will have to calculate the difference in percentage of volume flow between stock and your new injectors.

The following scalars need to be adjusted accordingly:

  • c_ti_as (Global injection time correction)
  • c_ti_min (Minimum injection time)

Depending on the injectors you will have to finetune the injector latency compensation (injector dead times) as well:

  • ip_ti_add_dly