# Please help me flash ZGW



## stampedeadam (May 4, 2015)

Hi guys, have managed to flash most of the ECUs in the car now with the latest Psdz data but the ZGW doesn't want to play ball.

I have tried the normal connection method - by VIN - and that times out after a minute or so and leaves the car in transport mode. I have to disconnect the battery to wake it up again. I have tried using "gateway URL" as per this thread: http://www.bimmerfest.com/forums/showthread.php?t=698424

and that doesn't work either.

Any ideas?


----------



## milkyway (Jan 28, 2013)

Hello!

I had 3 ZGWs in CIC cars which weren't able to update with an enet cable, regardless of the connection I choosed (ip on port 6801 for example). All these cars were from 2010 and 2011. With my ICOM it worked at once without any problems (ip on port 50160).

CU Oliver


----------



## stampedeadam (May 4, 2015)

Thank you for your reply Oliver!

Was any adaptation needed after the flash with ICOM?


----------



## milkyway (Jan 28, 2013)

Hello!

No, everything worked as expected. ZGW has no CAFD, so the flash is really easy and fast.

In CIC cars the ZGW is the most-master and if you updated the hole car without the ZGW your assistance systems like cruise control, LDW and so on can quit their work. That the reason why you have tu update this (mostly at the first ECU at all).

CU Oliver


----------



## stampedeadam (May 4, 2015)

Just checked and yes, unfortunately my cruise control and speed limiter no longer work 

Is it the flash of the KOMBI that makes these not work properly? And do you know of any way to put the KOMBI software back to the last version until I get an icom?

I have not yet flashed DME, SZL_LWS, EPS, EKPM, EMF, EGS, DSC, DME or CAS, so I think the KOMBI must be the one?


----------



## stampedeadam (May 4, 2015)

One more thing, is this icom the correct one? Sorry for all the questions

http://www.ebay.co.uk/itm/new-2014-...005&rk=2&rkt=6&mehot=pp&sd=181706233139&rt=nc


----------



## milkyway (Jan 28, 2013)

Hello!

The reason is the Kombi. For the speed limiter and cruise control the ICM is the responsible one and the ICM is connected via Flexray with ZGW. The ZGW is connected via Most with Kombi and due to the new software version in Kombi the ZGW cannot "translate" the signals. If you would read out the car with Rheingold you could see Flexray errors (communication errors) between ICM and Kombi.

It's possible to downgrade the Kombi but therefore you should have the old psdzdata version - nearly equal to the actual i-level from your car (not from Kombi).

CU Oliver


----------



## stampedeadam (May 4, 2015)

Thanks Oliver. I do have the old psdzdata and esys version and have not changed the i-step of the car at all.

What would the process be to downgrade?

I really appreciate all your help with this


----------



## milkyway (Jan 28, 2013)

Hello!

Rename the existing psdzdata folder to psdzdata_new (or something line this) and copy the old psdzdata folder into the data folder. Now you have to do the same procedure as the one for an update. Check the SVT_SOLL that Kombi has blue/red CAFD and SWFL (to be sure also btl) inside. If not, then open the SVT_IST and rename the CAFD, SWFL and BTL (write 000 000 into the last two sequences), load this modified SVT_IST and calculate SVT_SOLL again. Now everything in Kombi should be blue/red (without HWAP and HWEL).

CU Oliver


----------



## Afsar (Mar 3, 2008)

Why can't you upgrade the whole car and bring it to the same i-level? My ZGW failed a few times when I attempted flashing with ICOM, however one of my friend could bring it back to life using standard enet cable (vin connection).


----------



## milkyway (Jan 28, 2013)

Hello!

Cause he's not able to flash the ZGW with an enet cable. Okay, I heard rumors that flashing the ZGW with an ICOM could also sometimes be a problem.   

@Afsar
BTW, my ICOM A is not yet beend send back. The user needs some more times (battery bricked in his Z4 and he has to install a new one). I will send it to you asap if the tool is back again.

CU Oliver


----------



## Afsar (Mar 3, 2008)

milkyway said:


> Hello!
> 
> Cause he's not able to flash the ZGW with an enet cable. Okay, I heard rumors that flashing the ZGW with an ICOM could also sometimes be a problem.
> 
> ...


No problem.


----------



## milkyway (Jan 28, 2013)

Hello!

Just a thing I found in transmitter. Here you can set the ZGW to a static IP (192.168.1.2). This could solve the problem with the ip adress by flashing the ZGW with an enet cable.

-set the ZGW to a static IP (job ZGWIPStatischSetzen)
-reconnect E-sys by using this new IP on port 6801
-flash ZGW
-set ZGW back to dynamic adress (ZGWIPDynamischSetzen)

Could be a solution.

My presumption: A BMW service station would never connect an ICOM directly with a laptop. They use a network system with an ISIS server and the ICOMs and laptops have static IPs. To simulate the same system you have to set the ZGW to a static ip if you are using an enet cable. It's nearly the same if you want to flash a NBT car with an ICOM. You will be not able to flash ECUs on most-bus with an ICOM with a dynamic IP. Here you have to use a router betwenn laptop and ICOM and set the ICOM to a static IP or use the DHCP from the router (my BMW dealer set the ICOMs onto a static IP to avoid problems).

Just my 2 cents. 

CU Oliver


----------



## ap90500 (Oct 23, 2013)

milkyway said:


> Hello!
> 
> I had 3 ZGWs in CIC cars which weren't able to update with an enet cable, regardless of the connection I choosed (ip on port 6801 for example). All these cars were from 2010 and 2011. With my ICOM it worked at once without any problems (ip on port 50160).
> 
> CU Oliver


Do you know any other things that matter here? I was not able to flash ZGW in 9/2011 F10 with CIC, the I bought an ICOM. I think that ShawnSheridan has flashed his cars ZGW with enet, I think that the car is 2010 F10 with CIC. Afsar's car (2010 F12) has ZGW-02 from factory (his problem is because of bad ICOM or PC), and somebody was able to flash the ZGW with ENET:dunno:. Afsar posted other ZGW to me, I will flash it on bench and I will also try ENET.

Do you know what is the difference between ZGW-01 and ZGW-02, other than the casing?


----------



## milkyway (Jan 28, 2013)

Hello!

I heard also from many people who could flash their ZGW with an enet cable without any problems (connecion via gateway url on port 6801) and also from many user who couldn't do this in the same way. may be it depends on the ZGW version which was built in (only my presumption). Seems that one ZGW is faster to get the new IP, some slower and ends with an ethernet timeout error.

EDIT
ZGW1 and ZGW2
There are many different ZGWs in the ETK. ZGW for cars without combox, for cars with with Combox, for cars with 609, 5DP, 5AG and 223 and without. And of course ZGWs for cars with NBTs and witohout CIC. Not so easy to keep the track.

CU Oliver


----------



## ap90500 (Oct 23, 2013)

milkyway said:


> Hello!
> 
> I heard also from many people who could flash their ZGW with an enet cable without any problems (connecion via gateway url on port 6801) and also from many user who couldn't do this in the same way. may be it depends on the ZGW version which was built in (only my presumption). Seems that one ZGW is faster to get the new IP, some slower and ends with an ethernet timeout error.
> 
> ...


Have you tried "additional transmission timeout" in E-sys settings? I am not sure if I tried that one. I got Afsar's ZGW today, I will do some testing this week.

ZGW 4SK and 8SK are for cars with NBT. ZGW 01 and 02 (mid, mid plus and high) are for cars pre 7/2012 (pre NBT). Older ZGW's can be converted to 4SK or 8SK by flashing, hard to say if they function 100%. I converted one factory installed 02 mid plus and it is working. 01 seems to have metal case, I just don't know what are the other differences between 01 and 02. 2010 F12 with CIC has 02 high though.


----------



## stampedeadam (May 4, 2015)

Hi guys thanks for your input on this. I tried an additional timeout with no luck. I bought an ICOM but it arrived faulty  so I am waiting on another one!

What would happen if I just swapped a ZGW from another car? Would that work since there is no CAFD to worry about?


----------



## ap90500 (Oct 23, 2013)

Other ZGW would work, if it just has the correct software and equal or higher hardware. Did you try to set ZGW to use static IP, like Milkyway suggested?

Btw I was able to flash Afsar's original 2010 ZGW 02 high on table with ENET. I just connected power, kl15 wake up, ground and ethernet wires. Over a year ago I tried to flash my previous F11's (9/2011 produced) ZGW, but I could not do it with ENET.


----------



## stampedeadam (May 4, 2015)

I got another ICOM and used that, updated ZGW, the gearbox and DME, works much quicker than the ENET cable. Cruise control now works again! Thank you for everyone's help


----------



## jackylooo (Nov 26, 2014)

ap90500 said:


> Have you tried "additional transmission timeout" in E-sys settings? I am not sure if I tried that one. I got Afsar's ZGW today, I will do some testing this week.
> 
> ZGW 4SK and 8SK are for cars with NBT. ZGW 01 and 02 (mid, mid plus and high) are for cars pre 7/2012 (pre NBT). Older ZGW's can be converted to 4SK or 8SK by flashing, hard to say if they function 100%. I converted one factory installed 02 mid plus and it is working. 01 seems to have metal case, I just don't know what are the other differences between 01 and 02. 2010 F12 with CIC has 02 high though.


Hi ap90500
Is there a tutorial for convert ZGW 02 Mid to ZGW 8SK? Thanks


----------



## ap90500 (Oct 23, 2013)

I don't know about any tutorials. Use zeitkriterium 0712, calculate svt_soll. If it shows HU_NBT and ZGW2, you got it right. Then calculate svt_soll with original FA. Open this original svt_soll with svt editor, change ZGW SWFL-numbers to the ones from ZGW2. Then calculate TAL and perform flash.


----------



## ap90500 (Oct 23, 2013)

I flashed a ZGW today with ENET. It was a ZGW that could not be flashed with ENET by ordinary methods. I set up DHCP server with TFTPD, set ethernet card to static ip, connected ENET and flashed without problems. Subnet mask is 255.255.0.0, ip range is 169.254.xxx.xxx, default gateway I set to ethernet card ip.


----------



## evacheung (Sep 18, 2012)

ap90500 said:


> I flashed a ZGW today with ENET. It was a ZGW that could not be flashed with ENET by ordinary methods. I set up DHCP server with TFTPD, set ethernet card to static ip, connected ENET and flashed without problems. Subnet mask is 255.255.0.0, ip range is 169.254.xxx.xxx, default gateway I set to ethernet card ip.


Can you elaborate on this a bit? Tried what you suggested but no luck. The network disconnects and I get timeout error. Thanks for any guidance.


----------



## gizmonder (Jun 17, 2015)

I am trying to update ZGW with Enet + esys + dhcp server.
I get errors

TAL execution started.
VCM Update: VCM-Update is deactivated. VCM will not be updated. [C197]
ExecutionID=2016/10/22-21:44:21.267
[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: repeat job
description: Service RC_EM_IE returned a negative response with response code requestOutOfRange; ECU: ZGW_10_ETHERNET
severity: ERROR

[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: ECU preparation failed
description: Zentrale Gateway (via Ethernet) cannot be switched to programmingSession without causing a reset; ECU: ZGW_10_ETHERNET
severity: ERROR

[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: ECU preparation failed
description: Zentrale Gateway (via Ethernet) cannot be switched to programmingSession without causing a reset; ECU: ZGW_10_ETHERNET
severity: ERROR

[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: service returned global negative response
description: Service RC_CPD returned a negative response with response code requestOutOfRange; ECU: ZGW_10_ETHERNET
severity: ERROR

[] - [Exception - ZGW - 10] job failed with negative response error: 
code: ECU preparation failed
description: Zentrale Gateway (via Ethernet) cannot be switched to programmingSession without causing a reset; ECU: ZGW_10_ETHERNET
severity: ERROR

TAL-Execution finished with status: "FinishedWithError". [C207]
TAL execution finished. Duration: "4min 28s". [C206]


----------



## Breach (Jul 18, 2011)

gizmonder said:


> I am trying to update ZGW with Enet + esys + dhcp server.
> I get errors
> 
> TAL execution started.
> ...


As far as I understand it's a bit of a hit and miss. I got the same when trying to flash ZGW with ENET without via GW without a DHCP server. With a DHCP server the flash completed, though I got disconnected fater the swDeploy. At least it worked.

1. Are you sure that ZGW is getting an IP from the DHCP - that should be visible depending on the DHCP server you're using. Is the DHCP lease long enough?
2. If all else fails, another thing I saw worked for somebody was to uncheck "Activate programming mode for switchable ECU(s)" in TAL-Processing, parameters. Didn't need to try it myself, but you can give it a go. If you do flash ZGW make sure you're flashing ZGW only and remember to turn it back on afterwards.


----------



## gizmonder (Jun 17, 2015)

1. IP address is right. The car takes it from DHCP server.
2. I've tried to disable swDeploy
Here are new errors:

TAL execution started.
ExecutionID=2016/10/23-13:39:54.117
[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: exception in job
description: MCD3_PerformECUFlashBL threw java.lang.NullPointerException; ECU: ZGW_10_ETHERNET
severity: FATAL ERROR

[ZGW - 10] - [Exception - ZGW - 10] negative response error: 
code: the result contains an error
description: Service RC_CPD has error in result: [Severity=2051][ErrorCode=53311][ErrorCodeDescription=Module offline][VendorCode=20039][VendorCodeDescription=link is no longer active]; ECU: ZGW_10_ETHERNET
severity: ERROR

[] - [Exception - ZGW - 10] job failed with negative response error: 
code: exception in job
description: MCD3_PerformECUFlashBL threw java.lang.NullPointerException; ECU: ZGW_10_ETHERNET
severity: FATAL ERROR

TAL-Execution finished with status: "FinishedWithError". [C207]
TAL execution finished. Duration: "4min 45s". [C206]
-----------------------------------------------------------------------------------------------------------------------

Than I've tried to disable "Activate programming mode for switchable ECU(s)" and I got errors:

TAL execution started.
VCM Update: VCM-Update is deactivated. VCM will not be updated. [C197]
ExecutionID=2016/10/23-13:46:11.965
[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: repeat job
description: Service RC_EM_IE returned a negative response with response code requestOutOfRange; ECU: ZGW_10_ETHERNET
severity: ERROR

[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: ECU preparation failed
description: Zentrale Gateway (via Ethernet) cannot be switched to programmingSession without causing a reset; ECU: ZGW_10_ETHERNET
severity: ERROR

[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: ECU preparation failed
description: Zentrale Gateway (via Ethernet) cannot be switched to programmingSession without causing a reset; ECU: ZGW_10_ETHERNET
severity: ERROR

[ZGW - 10] - [Exception - ZGW - 10] job failed with negative response error: 
code: service returned global negative response
description: Service RC_CPD returned a negative response with response code requestOutOfRange; ECU: ZGW_10_ETHERNET
severity: ERROR

[] - [Exception - ZGW - 10] job failed with negative response error: 
code: ECU preparation failed
description: Zentrale Gateway (via Ethernet) cannot be switched to programmingSession without causing a reset; ECU: ZGW_10_ETHERNET
severity: ERROR

TAL-Execution finished with status: "FinishedWithError". [C207]
TAL execution finished. Duration: "4min 13s". [C206]


----------



## Breach (Jul 18, 2011)

Did you try to connect via VIN?

These null pointer exceptions aren't right by the way - it means something goes wrong with e-Sys. Are you using 3.27.1 WITHOUT TokenMaster's launcher? Or it could be because you are disabling swDeploy which should be the only executable TAL action for ZGW.

[another edit:] What worked for me: e-Sys 3.27.1, tftpd64's DHCP: Ethernet card set to static 169.254.0.1, pool starts at 169.254.0.2, pool size 1024, subnet mask 255.255.0.0, gw 169.254.0.1. Connection by ZGW's IP, swdeploy only. Completed OK, though C207 error when executing SVTsollupdate (which was fixed when I did the full flash -ZGW).


----------



## gizmonder (Jun 17, 2015)

> Did you try to connect via VIN?


No, I didn't. Should I try? Will it work?



> Are you using 3.27.1 WITHOUT TokenMaster's launcher?


Yes


----------



## Breach (Jul 18, 2011)

gizmonder said:


> No, I didn't. Should I try? Will it work?
> 
> Yes


Most probably not, but you can still give it a try - I am speculating at this point based on what I've seen.

See my previous edited post for what worked for me. If all else fails your only option would be ICOM A2 I am afraid.


----------



## gizmonder (Jun 17, 2015)

I got same errors with VIN connection.
The strangest thing is that I updated my ZGW one year ago with enet + just gateway connection. But I used older esys version.


----------



## Breach (Jul 18, 2011)

gizmonder said:


> I got same errors with VIN connection.
> The strangest thing is that I updated my ZGW one year ago with enet + just gateway connection. But I used older esys version.


Yeah, if you read old threads on this you'd see that it's still pretty much black magic in 2016. Also probably because of the many different iterations of the gateway hardware. I doubt that it has anything to do with the e-Sys version and recent psdzdata requires 3.27.1 (though maybe not for ZGW alone). The theory is that when ZGW is switched to programming mode the connection to e-Sys is reset and then it fails to reconnect either because the connection cannot be re-established fast enough or because the IP of the ZGW has changed (or a combination of both). If that's true then setting ZGW to a static IP (noted in an older post above) may help, but I haven't seen hard evidence that this works in reality so far. Good luck!


----------



## gizmonder (Jun 17, 2015)

I've tried static IP command, it does nothing. IP isn't 192.168.1.2.
I even tried to disconnect CIC(retrofitted) as car had no ethernet connection btw CIC and ZGW during previous flash session. Disconnecting CIC doesn't help, I get same errors.
Looks like I need to buy ICOM


----------



## gizmonder (Jun 17, 2015)

-


----------



## Breach (Jul 18, 2011)

gizmonder said:


> I've tried static IP command, it does nothing. IP isn't 192.168.1.2.
> I even tried to disconnect CIC(retrofitted) as car had no ethernet connection btw CIC and ZGW during previous flash session. Disconnecting CIC doesn't help, I get same errors.
> Looks like I need to buy ICOM


ICOM is pretty expensive for non-professional use - best to if you can rent one out. Another thing which you could try is set the DHCP server with an IP pool address of 1 - this one the ZGW would always get the same IP. Just a theory ;-)


----------



## Breach (Jul 18, 2011)

gizmonder said:


> I've tried static IP command, it does nothing. IP isn't 192.168.1.2.
> I even tried to disconnect CIC(retrofitted) as car had no ethernet connection btw CIC and ZGW during previous flash session. Disconnecting CIC doesn't help, I get same errors.
> Looks like I need to buy ICOM


OK, I played around a bit more with this and here's what works 100% for me (at least):

1. Assign 192.168.0.1 as static IP to the laptop's NIC
2. Run tftpd DHCP's server. In settings: pool starts at 192.168.0.2, pool size 1, default gw 192.168.0.1, subnet mask 255.255.0.0. Do NOT close tftpd
3. Connect laptop with ENET <-> OBD2 cable
4. Make sure that the car gets 192.168.0.2 as assigned IP <- this allows swDeploy to finalise OK.
5. Start e-sys, connect via GW use 192.168.0.2:6801 as connection traget, select correct series
6. TAL processing - select the already calculated TAL and SVT target, in ECUs unselect everything except for swDeploy for ZGW
7. Go to parameters uncheck activate programming mode setting <- this allows post-flash ops to complete OK
8. Check software compatibility, press start
9. Remember to check activate programming mode for then next flash

I just tested this and it works great on my 09 2011 ZGW.


----------



## gizmonder (Jun 17, 2015)

I flashed my ZGW:thumbup:
I used Windows PC + dhcp instead of Mac with Virtual Machine.


----------



## Breach (Jul 18, 2011)

gizmonder said:


> I flashed my ZGW:thumbup:
> I used Windows PC + dhcp instead of Mac with Virtual Machine.


Congrats! FYI, I used a Macbook Air + USB<->ENET dongle + Windows 7 VM w/tftpd DHCP. Isolated VMnet. Probably cleaner with a Windows laptop as the MacOS/VM network config can be a bit of a hassle.


----------



## egisz (Nov 6, 2016)

Hi all!

I just tried to update ZGW on 2010 F10 525d and I'm not sure if it was successfull or not
I first tried simple connection via Gatway URL, but I got errors:


```
Read SVT before TAL execution started.

TAL execution started.
VCM Update: VCM-Update is deactivated. VCM will not be updated. [C197]
[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] - [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/17-15:09:30.319
TAL-Execution finished with status: "AbortedByError". [C207]
TAL execution finished. Duration: "54s". [C206]

Read SVT after TAL execution started.
Read SVT after TAL execution finished.
```
Then tried as instructed by Breach in same thread, post #35, using tfpd server, and was bit more successfull:
But I got 2 warnings....
Is it OK or not?
Did you get same warnings or not ? How to deal with them?
And one more thing: how do I know when flashing process is finished? I don't get any notes "finished" etc. in log window


```
TAL execution started.
VCM Update: VCM-Update is deactivated. VCM will not be updated. [C197]
[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] - [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/17-15:54:44.713
TAL-Execution finished with status: "FinishedWithWarnings". [C207]
TAL execution finished. Duration: "2min 20s". [C206]

Read SVT after TAL execution started.
Read SVT after TAL execution finished.
MSM update: Read current SVT. [C194]
MSM update started. [C215]
MSM update finished. [C216]
```
Thanks


----------



## shawnsheridan (Jan 10, 2009)

egisz said:


> Hi all!
> 
> I just tried to update ZGW on 2010 F10 525d and I'm not sure if it was successfull or not
> I first tried simple connection via Gatway URL, but I got errors:
> ...


"_doesn't map to an item_' means you have chosen incorrect E-Sys Launcher Car Series or incorrect E-Sys Connection Target. And if you are flashing ECU, you should bypass E-Sys Launcher and just use E-Sys Directly. Launcher is needed only for FDL Coding, and nothing more.


----------



## egisz (Nov 6, 2016)

shawnsheridan said:


> "_doesn't map to an item_' means you have chosen incorrect E-Sys Launcher Car Series or incorrect E-Sys Connection Target. And if you are flashing ECU, you should bypass E-Sys Launcher and just use E-Sys Directly. Launcher is needed only for FDL Coding, and nothing more.


Thanks for quick reply, 
yes I was trying to open Esys with launcher, as for coding. 
I'll try again to open directly and update how it went


----------

