E46 BMW Social Directory E46 FAQ 3-Series Discussion Forums BMW Photo Gallery BMW 3-Series Technical Information E46 Fanatics - The Ultimate BMW Resource BMW Vendors General E46 Forum The Tire Rack's Tire Wheel Forum Forced Induction Forum The Off-Topic The E46 BMW Showroom For Sale, For Trade or Wanting to Buy

Welcome to the E46Fanatics forums. E46Fanatics is the premiere website for BMW 3 series owners around the world with interactive forums, a geographical enthusiast directory, photo galleries, and technical information for BMW enthusiasts.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

Go Back   E46Fanatics > Tuning & Tech > Driveline, Engine & DME Tuning

Driveline, Engine & DME Tuning
Talk about driveline improvements, NA tuning and DME tuning your E46 BMW here. This includes diffs, intakes, exhausts, chips, software and OBD tuning.

Reply
 
Thread Tools Search this Thread Rating: Thread Rating: 25 votes, 4.88 average. Display Modes
Old 07-13-2014, 09:59 AM   #1
daniel_f.
Registered User
 
Join Date: Jul 2011
Location: Germany
Posts: 1,142
My Ride: 330iCA
Deciphering MS43, an open approach!

Say thank you to HakenTT aka revlimit aka Wolfowitz aka wolfow

Last edited by daniel_f.; 03-06-2015 at 01:34 PM.
daniel_f. is offline   Reply With Quote
Ads by Google

Guests, get your FREE E46Fanatics.com membership to remove this ad.
Old 07-13-2014, 12:13 PM   #2
daniel_f.
Registered User
 
Join Date: Jul 2011
Location: Germany
Posts: 1,142
My Ride: 330iCA
...

Last edited by daniel_f.; 03-06-2015 at 12:47 PM.
daniel_f. is offline   Reply With Quote
Old 07-13-2014, 04:09 PM   #3
Harry330
Registered User
 
Join Date: Dec 2013
Location: In the USA
Posts: 101
My Ride: 330Ci
I will say i personally don't no much about bmw computers, but i wanted to say good job. Keep up the Great Work!
__________________
One Of Many Goals.
Harry330 is offline   Reply With Quote
Old 07-13-2014, 06:21 PM   #4
HakenTT
Registered User
 
Join Date: Aug 2009
Location: gross deutsches reich USA
Posts: 774
My Ride: 323i with S54
Not sure why?

Quote:
Deciphering MS43, an open approach!

--------------------------------------------------------------------------------

Say thank you to HakenTT aka revlimit aka Wolfowitz aka wolfow


--------------------------------------------------------------------------------
Last edited by daniel_f.; 03-06-2015 at 01:34 PM.
__________________
Siemens MS43 tuning master

Last edited by HakenTT; 03-15-2015 at 04:46 AM. Reason: Why?
HakenTT is offline   Reply With Quote
Old 07-13-2014, 07:19 PM   #5
unevolved
Registered User
 
Join Date: Jul 2013
Location: Ft. Worth, TX
Posts: 686
My Ride: 2003 325i
I wish there was something I could do to help, but I'm really glad you're doing this. If non-M's could be tuned easily, the aftermarket would explode and we'd all benefit.
__________________


In a bacon and egg sandwich, the chicken is involved, but the pig is committed. Be that pig.
unevolved is offline   Reply With Quote
Old 07-13-2014, 07:19 PM   #6
unevolved
Registered User
 
Join Date: Jul 2013
Location: Ft. Worth, TX
Posts: 686
My Ride: 2003 325i
If there's any tasks a mechanical engineer would be good at, let me know. I'm very interested in seeing this done, but I don't have the skills to do it.
__________________


In a bacon and egg sandwich, the chicken is involved, but the pig is committed. Be that pig.
unevolved is offline   Reply With Quote
Old 07-13-2014, 07:25 PM   #7
HakenTT
Registered User
 
Join Date: Aug 2009
Location: gross deutsches reich USA
Posts: 774
My Ride: 323i with S54
Quote:
Originally Posted by unevolved View Post
I wish there was something I could do to help, .
Yes there is. Don't post if there is nothing you have to contribute, thread gets loaded with worthless posts
HakenTT is offline   Reply With Quote
Old 07-13-2014, 08:00 PM   #8
unevolved
Registered User
 
Join Date: Jul 2013
Location: Ft. Worth, TX
Posts: 686
My Ride: 2003 325i
Goddamn dude, nevermind. There's a ton of aborted threads out there that people abandoned because people lost interest. Just trying to encourage OP to finally decipher and publish this.
__________________


In a bacon and egg sandwich, the chicken is involved, but the pig is committed. Be that pig.
unevolved is offline   Reply With Quote
Old 07-13-2014, 08:01 PM   #9
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Quote:
Originally Posted by daniel_f. View Post
thank Thaniel for his awesome work and help.
You are welcome. Without that MS430056 data file We wouldn't have been able to unlock the info. I'm glad to see you are willing to share the information. Since it was based on MS430056 extract you found I wasn't sure I should post it.

Quote:
Originally Posted by daniel_f. View Post
For the real enthusiasts like me, lets keep sharing and collecting whatever is found.
Yes let's. Perhaps I should add here that when I matched the MS430056 to another .bin Daniel provided I also matched it to my 2001 330i's .bin. No they did not share addresses but I added another set of columns and massaged the addresses in the same fashion. So I have another A2L to share. Once I figure out what version number it is I'll post it on my google drive (the .bin is already there).

While I'm typing perhaps I'll mention a few things about the data matching. The first thing I do is extract the axis points. Preceding each axis data set is a length byte (or word or long). With the length byte the whole string of axis points can be extracted from the .bin. If the data in the axis is word length the length byte is word length. All 3 .bins start the axis bytes at 74001 (74000 being the length byte). But each .bin has a different amount of axis. For example in my car the axis points match in length and nearly identical values from 74001 to 74087. the next axis point in the 056 is 6 bytes long (we have the length bit telling us how long it is) and in my car is 4 bytes long. So no match. Looking at the length of the following axis points lengths and axis data (in hex) it becomes obvious that my car is missing the next axis. And if I shift the data down to the next axis point the 2 match again. This miss matching happens about 40 more times in the list of axis points. It is worth noting. It could have been the axis itself and the corresponding map is smaller. This happened in my 328i to 323i conversion (and it makes a real mess). But luckily in this data set it appears that if the map existed in the ECU it was the same size. Making it easier to match maps, curves and axis.

My point is it's not just a matter of shifting the beginning point of the data. As if there is any extra data or less data in the stream then it is all jumbled as soon as there is a difference.

With the Maps and curves and values there is no length byte. the matching I do is purely looking for similar values in the stream and matching them up. Once aligned enough of the bytes match to make it obvious it is correct. then once things do not match it's obvious too. In the transition area there can be some guessing. But the error rate I think is a pretty low %. But if one of the error spots is in the map or value you are interested in.......Well we'd have to look at it.

Anyway. That's how I align the various .bin's to each other. Once the .bins are aligned the matching A2L gives us what the values mean. I make extensive use .xls sheets to make things easier and more visual but there is still some hand manipulation. Oh and I shouldn't leave this out. My son Garrett put in many hours matching curve and map data after I set up the .xls sheets. It was not all done by me. :-)

Thaniel
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com

Last edited by Thaniel; 07-13-2014 at 08:23 PM.
Thaniel is offline   Reply With Quote
Old 07-13-2014, 08:10 PM   #10
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Quote:
Originally Posted by daniel_f. View Post
but to me it`s weird they made german entries in an english Damos file...
I'm pretty confident it was originally all German and at some point only a portion of it was translated to English.

Thaniel
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com
Thaniel is offline   Reply With Quote
Old 07-14-2014, 12:02 AM   #11
daniel_f.
Registered User
 
Join Date: Jul 2011
Location: Germany
Posts: 1,142
My Ride: 330iCA
...

Last edited by daniel_f.; 03-06-2015 at 12:47 PM.
daniel_f. is offline   Reply With Quote
Old 07-15-2014, 02:24 PM   #12
daniel_f.
Registered User
 
Join Date: Jul 2011
Location: Germany
Posts: 1,142
My Ride: 330iCA
...

Last edited by daniel_f.; 03-06-2015 at 12:47 PM.
daniel_f. is offline   Reply With Quote
Old 07-16-2014, 07:06 AM   #13
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Took a moment this morning and reorganized and added to my google drive
https://drive.google.com/#folders/0B...VZCQk02X1NWZTA

It now has A2L's for versions
MS430037
MS430056 - Original A2L
MS430066

In process is the MS430055 and MS430069

Also included is a correspoinding ECU dump in .s28 format (the format ASAP2Demo likes)

***For those not familliar with what is going on, I will take a stab at providing a little direction. Following is a summary of how to read the information on the drive.***

To read the A2L's open with a A2L compaitble reader like ASAP2DEMO (Free) or WinOLS (Very expensive, WinOLS free version is not A2L compatible). Then load the corresponding ECU dump (full dump).

What if you want to load your own ECU's dump? Extract a full dump. Usually this is saved as a .bin. Use a hex editor to export it into a .S28 file. and do the above.

***For those with questions of how to delete EWS, IMMO ****
Those are not done trough the OBDII port. You have to remove a surface mount EEPROM from the ECU board and program with an EEPROM chip programmer. This, I believe, is beyond the scope of this thread.
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com

Last edited by Thaniel; 07-16-2014 at 07:19 AM.
Thaniel is offline   Reply With Quote
Old 07-16-2014, 07:23 AM   #14
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Quote:
Originally Posted by daniel_f. View Post
made some steep progress and beginning of listing important maps to start with.
Ah I see you edited post number 2. Great descriptions. I'll have to see if they will fit into the comment portion for each map in the A2L.
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com
Thaniel is offline   Reply With Quote
Old 07-17-2014, 07:14 PM   #15
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Quote:
Originally Posted by Thaniel View Post
Took a moment this morning and reorganized and added to my google drive
https://drive.google.com/#folders/0B...VZCQk02X1NWZTA

It now has A2L's for versions
MS430037
MS430056 - Original A2L
MS430066
Added the 055 to the drive and updated the 037 and 066. Having a 3rd dump to compare against cleared up some of the "grey" areas.

If a map did not exist in that version I set the Address to 0x0000 but stray data will show. So glance at the address if map looks weird.

Thaniel
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com
Thaniel is offline   Reply With Quote
Old 07-18-2014, 07:38 AM   #16
unevolved
Registered User
 
Join Date: Jul 2013
Location: Ft. Worth, TX
Posts: 686
My Ride: 2003 325i
Quote:
Originally Posted by Thaniel View Post
***For those with questions of how to delete EWS, IMMO ****
Those are not done trough the OBDII port. You have to remove a surface mount EEPROM from the ECU board and program with an EEPROM chip programmer. This, I believe, is beyond the scope of this thread.
That procedure sounds similar to modifying other ECUs I've worked on. If it's possible to burn new chips with something like this, it could be doable by the average Joe. That sounds promising.
__________________


In a bacon and egg sandwich, the chicken is involved, but the pig is committed. Be that pig.
unevolved is offline   Reply With Quote
Old 07-18-2014, 09:02 AM   #17
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Quote:
Originally Posted by unevolved View Post
doable by the average Joe.
The EEPROM chip is surface mounted and, in my opinion, is very difficult to remove (I'm not interested in removing it). And man are those pins small. 90% of what the average joe wants to change is updateable through the diagnostic bus (TXDI) which is available at the OBDII port on E46's since mid 2000 (on the 20 pin prior to that).

With that said I've bought a chip programmer and my son has been busy trying to figure out how to make it work with a blank 29F400BT chip (The programmer we have only works with XP and programms through the parallel port. Despite having a USB port on the board. Had to dig through the old computer pile to get the right equptment.). But that's a topic for another discussion. I may post on my blog what we learn. Will depend on how far we get.

Thaniel
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com

Last edited by Thaniel; 07-18-2014 at 09:02 AM.
Thaniel is offline   Reply With Quote
Old 07-18-2014, 09:17 AM   #18
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Quote:
Originally Posted by daniel_f. View Post
Maybe interesting maps found:
[*]basic ignition advance:
ip_iga_ron_98_pl_ivvt__n__maf[/LIST]
I thinkt the RON_98 was originally roz98 or 98 octane. There is also a map "ip_iga_ron_91_pl_ivvt__n__maf" Which I believe is the same thing but for 91 Octane (don't tell those folks that think BMW's shouldn't run on anything but premium).

The MS42, which didn't have the english translation mess, I think the two correspoinding maps are:

kf_zw_roz91_vanos_tl__n__lm
kf_zw_roz98_vanos_tl__n__lm

Which I roughly translated to
kf_timing_91 Octane_vanos_Part Throttle__RPM__Airflow__
kf_timing_98 Octane_vanos_Part Throttle__RPM__Airflow__

Right or wrong? What do you think? What does ip or kf stand for?

Thaniel
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com

Last edited by Thaniel; 07-18-2014 at 09:17 AM.
Thaniel is offline   Reply With Quote
Old 07-18-2014, 09:40 AM   #19
daniel_f.
Registered User
 
Join Date: Jul 2011
Location: Germany
Posts: 1,142
My Ride: 330iCA
...

Last edited by daniel_f.; 03-06-2015 at 12:47 PM.
daniel_f. is offline   Reply With Quote
Old 07-18-2014, 11:59 AM   #20
Thaniel
Registered User
 
Join Date: Sep 2010
Location: Dublin, va
Posts: 103
My Ride: 99 323i, 93 357i
Quote:
Originally Posted by daniel_f. View Post
Your absolutely right, but as Alpina didn´t touch the 91octane map, i don´t see any reason to change that. I have it on my personal list, but i don´t think its wise to edit them.

KF means Kennfeld, which translates to "map" or "table". ip_* is exactly the same, even so i don´t have any clue how they translated kennfeld into anything starting with "i"

Removing the 93C86 is pretty straight forward for someone with soldering skills and very easy with a hot-air gun.

Knowing what to change within that eprom is something more difficult, as i don´t have any clue whats going on in it.

(edit)

actually i´d say this:

kf_zw_roz91_vanos_tl__n__lm
kf_zw_roz98_vanos_tl__n__lm

Kennfeld_Zündwinkel_Roz91_Vanos_**__abhängig-von-Drehzahl__abhängig-von-Luftmasse

which translates to Map_Ignition-advance_related-on-ROZ91_don´t-know-what-Vanos-has-to-do-here__based-on-rpm__based-on-airflow

i wouldn´t trust tl to be Teillast or partial load unless you have verified the axis are not up to their max values. if, e.g. n is going up to 6500rpm, you can easily bet its not partial load.
Good stuff. ok so Kf = Kennfeld = Map. I'll add that to my MS42 decode ring :-)

Now what is this map for. That is a good question and what we really need to discover on as many maps as possible. This is my take on it.

The units for the axis are in mg/stroke and RPM. or in other words Airflow vs RPM. Think that covers the "based on RPM and airflow" portion clearly. The values are in Crank angle. So it definately appears to be a timing map. But is it ignition timing or vanos timing? I don't get the reference to Vanos Are the values absolute values or offsets?

As far as the "tl". I do not belive "tl" means less than full RPM. Just not full load. I interpret this to mean the the throttle plates are not full open. I could be at max rpm with very little throttle opening if there is little load. Perhaps full lload is the base and these are just offsets when it is part load?

Other intersting thoughts. In the MS42 this map is also present (looks like ip_igab__n__maf or ip_iga_tco_1_pl_ivvt__n__maf in the MS43)
kf_zw_tkw1_vanos_tl__n__lm

Which I had interpreted as:
kf_timing_Map1_vanos_Part Throttle__RPM__Airflow__

Not sure how it is used differently from the previous mentioned ones that included Roz. But values are simlar

And to make some comparisions against the "part throttle" threre are 2 other similar maps but with "idle air" instead of "part throttle":
kf_zw_tkw1_vanos_ll__n__lm
kf_timing_Map1_vanos_Idle Air__RPM__Airflow__

kf_zw_tkw2_vanos_ll__n__lm
kf_timing_Map2_vanos_Idle Air__RPM__Airflow__

There isn't a full throttle map but expect the timing of whatever it is handled a different way at full throttle. But I could be completely wrong.

My head is starting to hurt Think I'll go back to translating A2L's for a bit :-)
__________________
My LS1 V8 into E36 and then E46 Blog
www.LS1BMW.blogspot.com

Last edited by Thaniel; 07-18-2014 at 12:14 PM.
Thaniel is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Censor is OFF





All times are GMT -5. The time now is 08:37 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2015, vBulletin Solutions, Inc.
(c) 1999 - 2011 performanceIX Inc - privacy policy - terms of use