BMW Forum - BimmerFest BMW Forums banner

Flashing ECU's with E-sys [GUIDE]

437K views 753 replies 145 participants last post by  slovan97  
#1 · (Edited)
Hi

I've created a noobs guide on how to flash your ECU's in an F11. (As I myself am a noob :p )
I'm looking to flash my HU_CIC very soon (just need an external power supply). So i've created this guide from information I could gather on this forum. A warm thanks to everybody in this forum, especially shawnsheridan.

If you want to contribute, please let me know! I'll be happy to add valuable content!

Content attached!

Update 20141129: Removed changing zeitkriterium. Thank you ap90500!! Now version 1.0.1 attached.
 

Attachments

#2 · (Edited)
There is a major mistake in the guide. Never ever change zeitkriterium if you are flashing factory fitted modules.

No need to click read vin button, vin comes from the FA.

On new cars (7/2014 F30) the ignition will not stay on even if you turn light switch. After 15 minutes or so ignition will turn off. This is not a problem though, just remember to cycle ignition before svt soll calculation and before starting TAL processing (actual flash). Ignition will stay on as long as the TAL is running.

ibadeploy is needed only if you are flashing a headunit that has IBA (electronic user manual). It doesn't do any damage if it is selected without a reason though.

Terminology. Flashing = programming = updating software. Coding = changing parameters via fdl- or vo-coding.

It is not necessary to flash ZGW separately, e-sys will flash it first.

Connection via gateway doesn't guarantee that the ZGW can be flashed with E-sys. If it fails, you must just vo-code any module and the car will wake up. I think that someone wrote something about dhcp-server needed to flash zgw with enet, but on the other hand some people have flashed it without dhcp and without problems. I was not able to flash ZGW on 2011 F11, with icom no problem.
 
#5 ·
There is a major mistake in the guide. Never ever change zeitkriterium if you are flashing factory fitted modules.
OK - thanks. Corrected by removing from guide.
No need to click read vin button, vin comes from the FA.
Yeah, I assumed that, but it works, so I'll leave it be. But thanks :)
On new cars (7/2014 F30) the ignition will not stay on even if you turn light switch. After 15 minutes or so ignition will turn off. This is not a problem though, just remember to cycle ignition before svt soll calculation and before starting TAL processing (actual flash). Ignition will stay on as long as the TAL is running.
OK. I'll add this in an appendix.

ibadeploy is needed only if you are flashing a headunit that has IBA (electronic user manual). It doesn't do any damage if it is selected without a reason though.
Thanks - again, will add appendix. But it's just easier to write it this way.
Terminology. Flashing = programming = updating software. Coding = changing parameters via fdl- or vo-coding.
You are referring to the Troubleshooting part?
It is not necessary to flash ZGW separately, e-sys will flash it first.
As stated ;)
Connection via gateway doesn't guarantee that the ZGW can be flashed with E-sys. If it fails, you must just vo-code any module and the car will wake up. I think that someone wrote something about dhcp-server needed to flash zgw with enet, but on the other hand some people have flashed it without dhcp and without problems. I was not able to flash ZGW on 2011 F11, with icom no problem.
Is it possible for you to find this post?

Again: thank you very much for the input. It's very much appreciated! The idea here is to make it easier for beginners to take on this kind job and be succesfull! :)
 
#6 · (Edited)
Yes, I meant the troubleshooting part. It should say "if flashing (or programming) ACSM, ....". You will not need to lock ACSM if you are just coding it.

Posted on bmwcoding dot com:
for flashing ZGW you need an ICOM interface.
Not in general. I flashed at least four ZGW over ethernet.
Same here, and also used ENET for FEM_GW Flash.
How about F1x ZGW?
Yes, I have Flashed F1x ZGW with ENET too.
Did you unselect switch gateway to programming & coding or did you just use normal settings? And you connected through gateway?
Normal settings. Connect via VIN.
Ok. On my previous car (9/2011 F11), this failed and I had to use ICOM. Do you use static ip on your ethernet adapter?
No. It was set for DHCP.
Use DHCP server on the network or on your laptop. Connect using the gateway URL to the IP handed out by DHCP.
I have not tested it but very likely it works. Tftpd64 is a free software that has DHCP functionality.

Thanks for you too, flashing procedure has been known for a long time but no one (including me) has not had time or will to do this kind of guide.
 
#10 ·
No you cannot run the motor. Flash TAL will put car in Transport Mode and shut down the Engine automatically.

Benefit depends solely on the current ECU firmware versus the new ECU firmware if it contains anything beneficial.
 
#18 ·
Hi together,

I just wanted to flash the newest ECU Firmware for HU_CIC and CMB_Media and for that installed the latest E-Sys and psdzdata. I connected to the car successfully and coding works find (just tried it as I did that before to verify everything is working.
And to answer the question before it is asked: Why do I want to update the ECUs?!? :rofl:
I have a lot of problems with my CIC, sometimes the navigation doesnt work, once a day it restarts when I try to use Spotify using the App in the car,...
I have borrowed a big supply charger from a friend of mine, so everything is prepared, BUT...

Now I have two problems/questions:
1.) My E-Sys states in the bottom status field that "Hardware differs" (Hardware unterscheidet sich)... WTF?!? I have never seen this before, any hint what this might be?
2.) I finished all the described steps and tried to flash the ZGW only first. But when I press started I get a message (translated from germany as good as I can! ;) ):
A VCM-update after the TAL-Processing without correct VO is not possible. If the ECM should be updated after TAL-Processing you will have to diable VCM-updating or use a direct connection to ECU.
The message will allways pop up, doesnt matter which ECU I choose or which connection type I use (Gateway vs. VIN).

Any idea what this might be? Related to 1.? ;-)

Cheers, Philipp
 
#270 ·
1.) My E-Sys states in the bottom status field that "Hardware differs" (Hardware unterscheidet sich)... WTF?!? I have never seen this before, any hint what this might be?
Hello,
I have the same message in E-Sys since my bmw dealer did an software update on my F31.
Coding still works fine for the few functions I have coded, but I would be glad to know what this message means or how to turn it off.
 
#20 ·
Hmmm, once again I am facing a problem... I flashed ZGW and for testing TRSVC successfully but CMB_MEDIA or KOMBI fail with an error message
"for the ECU "KOMBI", "60" in TAL the SGBMIN "CAFD_000000069_009_001_006" is included but not in SVT. Same type of message comes for CMB_MEDIA with different CAFD numer of cause...
And it seems that for HU_CIC there is now new version available. So what do you think, is it worth working on it or doesn't it have any influence for my Spotify and navigation problems without update for CIC? :-(
 
#25 · (Edited)
Hi All!

Thanks zkiifreak for great manual, I tried to flash ZGW yesterday and it was not as straight forward as I expected :)
Details are on another thread, but I'd like to ask few questions here as it may be also usefull for other users.

I have some questions:
  1. Should I use Esys Launcher for flashing ECU? For me it was only way to flash ZGW with launcher ...
  2. What Esys options should be set for ECU flashing? Are they same as for Coding? Should I set Update VCM after TAL execution and Update MSM after TAL execution?
  3. What can cause warnings " VCM-Update is deactivated"? Can it be that Esys/pszdata is too new version for my car?
  4. What could cause warning Could not read ComParam 'MODE_CHANGE_PARAMETER'?

Code:
TAL execution started.
VCM Update: VCM-Update is deactivated. VCM will not be updated. C197
TEL - 36 Could not read ComParam 'MODE_CHANGE_PARAMETER'. Maybe the template is too old.
TEL - 36 - Exception Code=49184, CodeDescription='Object with name not found', Severity=2051, VendorCode=3, VendorCodeDescription='provided name MODE_CHANGE_PARAMETER doesn't map to an item'
MULF - 55 Could not read ComParam 'MODE_CHANGE_PARAMETER'. Maybe the template is too old.
MULF - 55 - Exception Code=49184, CodeDescription='Object with name not found', Severity=2051, VendorCode=3, VendorCodeDescription='provided name MODE_CHANGE_PARAMETER doesn't map to an item'
ExecutionID=2016/12/18-10:39:17.269
MSM warnings:
Code:
MSM update: Read current SVT. C194
MSM update started. C215
MCDDiagServiceid=378649, job=com.bmw.psdz.jobs.uds.MCD3_ReadF11DataFromMSM, service=RC_GET_PARAMETER_N11 - RoutineControll GetParameter N11, description=error: negative response : requestOutOfRange, link=MSM_ETHERNET
MCDDiagServiceid=398649, job=com.bmw.psdz.jobs.common.MCD3_ReadF11DataFromCsmClients, service=RC_GET_PARAM_N11_CSM - RoutineControll GetParameter N11 CSM, description=error: negative response : requestOutOfRange, link=HU_CIC_63_ETHERNET
MCDDiagServiceid=398649, job=com.bmw.psdz.jobs.common.MCD3_ReadF11DataFromCsmClients, service=RC_GET_PARAM_N11_CSM - RoutineControll GetParameter N11 CSM, description=error: negative response : requestOutOfRange, link=ZBE_67_ETHERNET
MCDDiagServiceid=378649, job=com.bmw.psdz.jobs.uds.MCD3_ReadF11DataFromMSM, service=RC_GET_PARAMETER_N11 - RoutineControll GetParameter N11, description=error: negative response : requestOutOfRange, link=MSM_ETHERNET
MCDDiagServiceid=378649, job=com.bmw.psdz.jobs.uds.MCD3_ReadF11DataFromMSM, service=RC_GET_PARAMETER_N11 - RoutineControll GetParameter N11, description=error: negative response : requestOutOfRange, link=MSM_ETHERNET
MCDDiagServiceid=398649, job=com.bmw.psdz.jobs.common.MCD3_ReadF11DataFromCsmClients, service=RC_GET_PARAM_N11_CSM - RoutineControll GetParameter N11 CSM, description=error: negative response : requestOutOfRange, link=HU_CIC_63_ETHERNET
MCDDiagServiceid=398649, job=com.bmw.psdz.jobs.common.MCD3_ReadF11DataFromCsmClients, service=RC_GET_PARAM_N11_CSM - RoutineControll GetParameter N11 CSM, description=error: negative response : requestOutOfRange, link=ZBE_67_ETHERNET
MCDDiagServiceid=378649, job=com.bmw.psdz.jobs.uds.MCD3_ReadF11DataFromMSM, service=RC_GET_PARAMETER_N11 - RoutineControll GetParameter N11, description=error: negative response : requestOutOfRange, link=MSM_ETHERNET
MSM update finished. C216
 
#26 · (Edited)
Hi All!

Thanks zkiifreak for great manual, I tried to flash ZGW yesterday and it was not as straight forward as I expected :)
Details are on another thread, but I'd like to ask few questions here as it may be also usefull for other users.

I have some questions:
  1. Should I use Esys Launcher for flashing ECU? For me it was only way to flash ZGW with launcher ...
  2. What Esys options should be set for ECU flashing? Are they same as for Coding? Should I set Update VCM after TAL execution and Update MSM after TAL execution?
  3. What can cause warnings " VCM-Update is deactivated"? Can it be that Esys/pszdata is too new version for my car?
  4. What could cause warning Could not read ComParam 'MODE_CHANGE_PARAMETER'?
...
Asked and answered back in original thread, but here is again for benefit of this thread:.

1. E-Sys Launcher is needed only for FDL Coding. Why would you introduce an unneeded variable that adds no value into an already delicate and complicated flashing process?

2. Incidentally, the very errors you are asking about "MODE_CHANGE_PARAMETER doesn't map to an item'" are introduced by using E-Sys Launcher.

3. "Update VCM after TAL execution" and "Update MSM after TAL execution" should always remain unchecked. If you want top udpate car I-Step after a Full Update of car, then go to VCM Module and manually update I-Step Current.
 
  • Like
Reactions: ajoceba
#27 ·
Hi,
This is the information for guys who have a plan to retrofit Automatic trunklid.

I have failed to flash HKFM_LS module.

The process is as follows.

1) Done Automatic trunklid retrofit to my Activehybrid 5.
2) I added 316 to FA Salapa.
3) I could not inject cafd by using the 'Detect CAF for SWE' button because there is no cafd file maching swfl_00000D9A_006_007_000.
I have never got this error when detecting CAF.
Image


So, I decided to update the SWE file of HKFM_LS module in order to inject latest cafd file.

4) I tried flashing HKFM_LS by E-SYS as instructed in zkiifreak's manual.
5) I got erorr when calculating TAL. This is the first error.
I can not figure out but I continued my work because SME2 module may be no relevant to HKFM_LS.
Image


5) Checked only HKFM_LS on the ECU list of TAL-Processing.
6) I got second error when executing TAL flashing HKFM_LS.
TAL execution started.
VCM Update: VCM-Update is deactivated. VCM will not be updated. [C197]
ExecutionID=2017/01/07-14:53:25.638
[HKFM_LS - 6B] - [Exception - HKFM_LS - 6b] SVK-Ist does not match expected SGBMIDs for ecu ECUId:HKFM_LS_0x6B.
Excpected (relevant process classes only):[hwel_00000d98-004_002_000],
Actual (relevant process classes only): [hwel_00000d98-004_001_000],
Missing SGBMID(s): [hwel_00000d98-004_002_000],
Surplus SGBMID(s): [hwel_00000d98-004_001_000]
TAL-Execution finished with status: "FinishedWithError". [C207]
TAL execution finished. Duration: "1min 3s". [C206]
I think the causes of this error may be;
1. Flashing by modified FA caused confusion.
2. Retrofitted HKFM_LS module is older than my F10, so E-Sys could not inject latest cafd or firmware into the module.

I can not figure out the confusion of using modified FA, so I will try the another HKFM_LS module which has the latest SWFL file.

Will be reported soon.
 
#33 ·
Hi,
This is the information for guys who have a plan to retrofit Automatic trunklid.

I have failed to flash HKFM_LS module.

The process is as follows.

1) Done Automatic trunklid retrofit to my Activehybrid 5.
2) I added 316 to FA Salapa.
3) I could not inject cafd by using the 'Detect CAF for SWE' button because there is no cafd file maching swfl_00000D9A_006_007_000.
I have never got this error when detecting CAF.
Image


So, I decided to update the SWE file of HKFM_LS module in order to inject latest cafd file.

4) I tried flashing HKFM_LS by E-SYS as instructed in zkiifreak's manual.
5) I got erorr when calculating TAL. This is the first error.
I can not figure out but I continued my work because SME2 module may be no relevant to HKFM_LS.
Image


5) Checked only HKFM_LS on the ECU list of TAL-Processing.
6) I got second error when executing TAL flashing HKFM_LS.

I think the causes of this error may be;
1. Flashing by modified FA caused confusion.
2. Retrofitted HKFM_LS module is older than my F10, so E-Sys could not inject latest cafd or firmware into the module.

I can not figure out the confusion of using modified FA, so I will try the another HKFM_LS module which has the latest SWFL file.

Will be reported soon.
Hi Tom

I & U are on the same boat probably.

Refer my experience "HKFM module flashing procedure" as below for your reference.

http://www.bimmerfest.com/forums/showpost.php?p=9998398&postcount=6

And let me suggest that you may change language setting of e-sys from Germany to English for easy understanding unless you are Germany...:rolleyes:

option --> setting --> language

Thanks
 
#28 ·
Hi Guys,

I need to upgrade the FEM in my F31.

I bought a used MAX FEM and a guy already coded my car VIN in the used FEM.
The problem is that he cannot update the software in the FEM, he says the software finishes and then restarts, in loop (he is not using E-sys).

Do you think that is possible to flash the FEM with E-sys by following the steps in this tutorial?

I already coded some things with E-sys and it seems easy to execute this tutorial.
My only concern is to identify the correct dependencies for the FEM.

Many thanks
 
#35 ·
Tried to update CID & HU_CIC ecus with esys 3.2.8.1 and got following errors also my navigation is greyed out if i press nav button it says currently unavailable can anyone help please

View attachment 587573 View attachment 587574

Sent from my SM-G935F using Tapatalk
This "SVK-Ist does not match expected SGBMIDs for ecu..." means you have chosen an improper I-Step Shipment when you made your SVT Target (SVT_soll).
 
#41 ·
Well, that confirms I-Step shipment is correct, so now I am at a loss as to why you have "SVK-Ist does not match expected SGBMIDs for ecu..." in first place.
 
#42 ·
I managed to update my KOMBI, and EGS fine on the hu_cic I get error and also on cid, problem now is,my navigation says unavailable also now my car is,saying battery low ,Recharge even though I've charged battery and registered a new battery using diagnostic tool, wish I never messed with the I drive [emoji20]

Sent from my SM-G935F using Tapatalk
 
#48 ·
Hello!

WDBI_CPS in HU_CIC means WriteDataByIdentifier_CodierPrĂĽfstempel. E-Sys wasn't able to write the correct VIN into the Head Unit. Normally you will get those problems when your VO has a wrong VIN inside or anything else. It seems that E-Sys stopped the flash procedure during the cdDeploy (WDBI_CPS is an error for cdDeploy). Please mark the event box in folder logs in TAL processing - then you can see a little bit more what's happen during the flash procedure.

SVK errors by flashing CID is normal when your CID is from 2010 and/or the first half of 2011. It's one of the problem E-Sys has with CIDs (remember the problems with cdDeploy with corrupted CAFD in CID).

CU Oliver
 
#50 ·
Hello!

1.) check the FSCs inside the CIC
2.) attach the picture from the SVT_IST/SOLL calculation
3.) reflash the CIC with the existing TAL

CU Oliver