Updating the ECUs

Following my brake overhaul, I decided to turn my attention to other matters while waiting for parts to arrive for revisiting the brakes and performing a long-overdue coolant flush

I followed Bali’s thread on E46Fanatics, Need a DME or EGS flash update? (E46 Fanatics Forum)

After hooking up my car computer and my battery charger (Amazon.com), I started the session by opening WinKFP

Selected Comfort mode
Selected Update ZUSB
Selected MDS43
Selected Done
Selected Prog ZB-Update

WinKFP seemed to think my car was on a good version of the ECU, 7571615

I closed out of WinKFP and opened INPA

E46, MS 43

INPA shows BMW part number: 7572342

Selected F3, Code

INPA shows assembly number: 7571615

Later, I looked at the ETK and confirmed 7571615 was, in fact, the most recent for the US market

What about the transmission? The thread mentions GS20, GS8.60.0, GS8.60.4, and SMG2, but doesn’t provide any hints on how to determine which is in the vehicle.

I opened up ISTA and had it perform a vehicle identification

From Control Unit Tree, I moused over EGS. The modal indicated Variant: GS8604, Part number: 7522980

Back in WinKFP, I selected GD8604

WinKFP suggested updating to 7546100 from 7523490

I accepted, and WinKFP presented me with a new popup indicating “The user info field can still be programmed 13 times”

I selected OK

The progress bar reached 100%, and I was presented the same popup. I canceled, but I don’t think the programming took… Maybe it did update incrementally?

I tried again, and after reaching 100%, I was presented with a new popup indicating, “ZUSB-Update programming OK”

I closed WinKFP at this point, and moved to follow instructions to reset EGS adaptations. At this point, the cog icon remained on my dashboard

I attempted to use INPA, but came across errors running scripts. I attempted to read error codes using INPA, but no go

I switched to ISTA, and ran a complete vehicle identification with test.

Fault memory

SGBDBNTNcodeDescriptionVehicle mileageFault group
KOMBI46R0x0000FBKOMBI: No CAN identification (EGS) —
MS430DS00x0000D9DME: Signal CAN EGS

I deleted fault memories, and reran the test, but the codes remained.

I was able to successfully start the car, but the cog icon remained on the dash. I moved the gear selector through the various modes, but no change to the cog icon.

I deleted fault memory again. No change in status. Closed out of ISTA.

I decided I would try following instructions a little more closely. I turned the ignition to off, removed my key from the ignition, and waited a few seconds before reinserting it and turning it back to position 2. No more cog icon!

I opened up ISTA and performed a vehicle test, deleted fault memory, and then ran the test again. No more fault code!

I switched back to INPA. This time, I was able to successfully clear the adaptation values.

Publication Notes

I backdated this post to reflect the date I performed this task. It would have been nice to have recorded my screen but, as you know, I’m lazy about editing video.