BMW E46 Fanatics Forum banner

1 - 20 of 108 Posts

·
Registered
Joined
·
7,983 Posts
Discussion Starter #1 (Edited)
Releasing my MS45 flashing app.

Uses Ediabaslib for communications. If you have a functional INPA install, you shouldn't have to mess with anything else. If you don't have ediabas installed, you'll need to grab a copy of ms450ds0.prg and make a couple edits to the config file.

Allows you to read and write full and partial binaries on the MS45.0 and MS45.1 DMEs. A tune read/write should take about a minute (never really timed it, but it's quick). Full read and write are about 15 minutes give or take. Oddly enough I found full writes are faster on the car rather than on the bench.

Automatically corrects all checksums and generates a valid RSA signature. This means the DME will attempt to execute whatever you send to it - so be careful making program writes. If you send it bad code, the DME will not be recoverable without a BDM tool. A full backup is strongly recommended before you do anything.

I've tested the application a fair bit, and it's fairly reliable. Very rarely the DME will kinda get stuck and refuse to grant security access - power cycling fixes that. That said, with more people using the app, I'm sure you guys will find bugs that I never would have imagined. The nice thing is this app is open source, so you can fix and improve it yourselves even if I'm too busy.

Usual disclaimers apply. The app can render your DME unbootable, flashing bad data might cause your car to behave unpredictably, etc. I'm not responsible for anything that happens either directly or indirectly as a result of this application.

Without further ado:
Github repo
Compiled binary

Also I'd like to note that I never would have learned so much about the MS45 without hassmaschine's help. The both of us (but mostly him) have been working on a tuning suite over at bimmerlabs. It's still in its infancy, but do check it out now and then. We think it'll turn into a pretty nice platform for tuning these BMW DMEs.
 

·
Registered
Joined
·
8,571 Posts
Thanks everybody! If anyone needs a functional inpa install just grab it from my signature. Although I don't have a MS45.1 in my car, I do have a MS45.1 DME and a BDM flasher
 

·
Registered
Joined
·
220 Posts
I had a dedicated win xp laptop and noticed it needed .Net Framework 4.5.2.... :bawling: I guess time to move it over to win 7.:lmao:
 

·
Registered
Joined
·
281 Posts
Future versions of this app will likely require internet connectivity (at least for some parts of it), so you probably don't want to stick with Windows XP anyway.
 

·
Registered
Joined
·
7,983 Posts
Discussion Starter #6 (Edited)
I had a dedicated win xp laptop and noticed it needed .Net Framework 4.5.2.... :bawling: I guess time to move it over to win 7.:lmao:
I could see if it’s possible to reduce the requirement without breaking things. I’ve just been using Windows 10 and VS2017.

Edit: It's a no go. Probably would be possible to remove the newer dependencies, but it won't compile as is.
 

·
Registered
Joined
·
220 Posts
Great Job boys...

Could the same principal be used on the MSVxx ecus? Since they have the same architecture as the 45.

Sent from my Redmi Note 5 using Tapatalk
 

·
Registered
Joined
·
7,983 Posts
Discussion Starter #9
Great Job boys...

Could the same principal be used on the MSVxx ecus? Since they have the same architecture as the 45.

Sent from my Redmi Note 5 using Tapatalk
Yes. Main difference is you need to find a flaw in their rsa mechanism since those DMEs use 1024-bit keys, which can not be factored with today’s computers.
 

·
Registered
Joined
·
220 Posts
Yes. Main difference is you need to find a flaw in their rsa mechanism since those DMEs use 1024-bit keys, which can not be factored with today’s computers.
Hence the need for internet connection for future updates? Is the RSA calculation for the MS45 done locally?
 

·
Registered
Joined
·
281 Posts
Among other reasons, yes - and currently the RSA is signed on the fly for MS45, but in the future it would probably be done when you create the modified file.

It would be simple to sign newer DMEs too but it's not possible without the keys. Fortunately we have bypasses already for most of them.
 

·
Registered
Joined
·
544 Posts
Tested good on X3 MS45.0 today. Partial and full read.

Fixed the partial erroneous reads of 1-20kb by changing the latency on my BimmerGeeks cable to 1.
My baud rate is set to 9600. Will it be any faster if I bump it up?

I have edited maps with bimmereditor and so far so good.
 

·
Registered
Joined
·
7,983 Posts
Discussion Starter #13
Ah yeah, I meant to note that a latency of 1ms is probably necessary.

The app should be setting it to 115200 on the fly regardless of what it's set to in device manager. What kind of times were you seeing for reads/writes?
 

·
Registered
Joined
·
544 Posts
I am seeing times faster than WinKFP (under 15mins).

If I only want to update the 1024kb full bin, do I need to flash both the program and tune?

I updated both after loading the stock MPC bin and my modified 1024kb bin and everything worked(car started fine), just hoping that I only need to do one to get the time down.
 

·
Registered
Joined
·
7,983 Posts
Discussion Starter #15
I am seeing times faster than WinKFP.

If I only want to update the 1024kb full bin, do I need to flash both the program and tune?

I updated both after loading the stock MPC bin and my modified 1024kb bin and everything worked(car started fine), just hoping that I only need to do one to get the time down.
If you want to flash the program, you have to do both the MPC and flash at the same time. The DME erases both whenever you erase any part of the program.

The tune can be flashed by itself. And you can flash a program without reflashing a tune as long as you don't move to a new program version.
 

·
Registered
Joined
·
544 Posts
Just curious,

What is in the MPC file?

I am stuck working with the full 1024kb file because BimmerEditor only accepts them.
Will I have to flash program and tune to update or will it pull only the tune from the 1024kb file if I only flash the tune?
 

·
Registered
Joined
·
7,983 Posts
Discussion Starter #17 (Edited)
MPC file is the flash that's internal to the CPU. It's pure program code. The 1024-byte file contains boot code, tune code, and more program code. The flash program button will flash the program area, the flash tune button will flash the tune area. Boot area cannot be flashed over OBDII.

You'll need to load both files for the application to allow you to do anything, but you can just hit the flash tune button, and it'll only flash the tune area.
 

·
Registered
Joined
·
544 Posts
I have been using it for the last week and it is fast.

Do you guys have a donation page?
 
1 - 20 of 108 Posts
Top