GetBMWParts
BMW Garage BMW Meets Register Search Today's Posts Mark Forums Read

Go Back   BMW M3 and BMW M4 Forum > BMW F80 M3 / F82 M4 Technical Topics > DIY and Coding Discussions

Post Reply
 
Thread Tools Search this Thread
      05-21-2016, 12:06 PM   #1
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
DIY: F8x Software Update Tips

As I am preparing for my F82 upgrade from 55.3 to 58.3, I have read and gathered many useful information that can help others that want to jump into flashing their vehicles.
DISCLAIMER: Not responsible for any direct or indirect human, material or otherwise damage. Flash at your own risk. Do your homework. Many thanks to many active members in this and BF coding community.

UPDATE:
Phase 1: DME, DSC, ICM: Success
Few notes: stupid ignition went off just before I started the TAL execution, eSys gave bunch of timeouts and then bailed out. The sounds that the engine bay makes are horrific during this session, be ready. Post flash, everything was OK, I had 90 faults that I cleared in ISTA and then called it a day.

Phase 2: EGS, GHAS, VDC: Success
- First attempt yielded errors just after cdDeploy (coding) of VDC, and just before I noticed but not entirely sure as if the ignition went off, See post #95.
- Second attempt had an insignificant warning, then I checked the errors in details in Rheingold. Car was in Transport mode from probably the first attempt. Deleted that and cleared all faults and all was fine. Morale of the story, be calm and don't panic

Phase 3: The rest
- Unfortunately I never got the honour to dabble with FEM_GW and the remainder of ECUs as my recent trip for service ended up in updating my I-step!

NOTE 1: Please pretty please do not reply by quoting the first post as it would needlessly make the thread very long, just post your comment/question. If you find the post useful, hit the appreciate button
NOTE 2: Most underlined words are links with additional information.

1. Requirements:
  • Working knowledge and experience in computing, embedded systems and hacking :-)
  • PSU: an adequate power supply capable of maintaining minimum of 13.0V for flash operations and anywhere from 20-70Amps.
    Examples of PSU used:
    - Schumacher INC-700A
    - DIY DPS-600PB (my choice)
    - Using another capable car as a PSU
  • ENET cable: check the same source for a good cat6 one
  • Esys: BMW coding and flashing software. Note, you do not need to use Esys Launcher for flashing ECU(s). Use latest version of Esys!
  • Full psdZ: firmware files required for flashing ECU(s) ~ 50Gb
  • ISTA/D: Also referred to as Rheingold, ISTA+. Diagnostic software that will be used to aid in any issues encountered post flash.
NOTE 3: The CTEK or Optimate LM-291 Lithium trickle chargers are not PSUs and hence not recommended during flashing operations.
NOTE 4: Please do not ask for any of the software in this thread. PM the appropriate sources for links.

2. Additional Prep steps:
  • Fasten driver seat belt, See post #95.
  • Remove CD from CD player
  • Store your initial SVT_ist/soll/Tal.xml
  • Ensure you car's battery is topped up before connecting to PSU.
  • Laptop battery at 100% on charger, and disable all sleep/power saver for laptop, any USB flash drives and Ethernet adapter.
  • Turn off WiFi and disable firewall, antivirus,...
I will not repeat the generic known flashing steps that are covered in the known flashing guide, rather I will outline strategies for flashing with pros and cons for each as well how to recover from issues.

3. Important ECU, FEM_GW?

"In brief, the central gateway module (ZGM), which is integrated in the Front Electronic Module (FEM) carries out vehicle internal distribution of the messages to the various data buses. The messages are forwarded to the headunit via K-CAN2. The headunit then distributes them on the Media Oriented System Transport...

The task of the central gateway module (ZGM) is to connect all bus systems... The programming data are transferred to the vehicle by Ethernet via the central gateway module (ZGM).
"

It's been confirmed by few people that there are no issues flashing this ECU using connection via VIN/ENET on our F8x platform.

4. Flashing strategies:

NOTE: Esys Tal-Processing Options:
Few posts have recommended to set Esys Options for full update: "Update VCM and MSM after TAL execution" but Update VCM/I-step can be still set manually post flash.

blFlash: Flashes new Bootloader (BTLD)
swDeploy: Flashes new Software (SWFL)
cdDeploy: Encodes (e.g. VO Codes ECU, CAFD)
ibaDeploy: used to update the Owners manual for HU (IBAD)

4.0 My Chosen strategy:
Keeping in mind the following requirements: minimize re-coding, update certain ECUs that target engine/drivetrain/suspension, update ECUs w btld changes and staying away from FEM_GW, this is what I will be doing in phases:
- Phase 1: DME, DSC, ICM
- Phase 2: EGS, GHAS, VDC
- Phase 3: everything else

4.1 Full I-step update
This could be the easiest method, as you would do the SVT target calculation and allow Esys to highlight the ECUs to flash and proceed. Once caveat with this method, is depending on your car's software level, few or many ECUs would be needed to flashed, including ZGW (FEM_GW). Take note of that. One disadvantage with this method is that you will loose all your previous coding values.

It is very likely that there will many faults in the car which you can use either Esys transmitter or ISTA/D to clear those and follow up with any other procedures.
NOTE: Many flashing experts in the community generally recommend against updating fully, rather targeting individual ECUs that are known to bring some improvements. Although this is on the cautious side, one would have to keep note of the individual ECUs software version and probably encounter some incompatibility/dependencies issues. In general, embedded software, telecommunications or automotive, should maintain backwards compatibility but there are no guarantees.

That strategy is however not followed by dealers as their programming software (ISTA/P) does not allow the update of individual ECUs.
4.2 Individual ECU(s)
Here, you pick and choose your ECU(s), select them in the TAL processing page and let Esys flash them. Given you are selecting the individual ECUs, you will have to take care of the dependencies, and ensure that those are updated first.

A common practice, which I am unsure of, is to disregard the dependencies, flash the ECU(s) of interest, then if there are any issues, go back and flash the dependencies. This would be worthwhile, as many ECUs depend on FEM_GW... So far with my successful update of DME/DSC/ICM and leaving FEM_GW alone have worked as most likely the dependencies between those and FEM_GW are minimal.
WARNING: If current sw ver of an ECU to flash is very old, take that into consideration when updating to newer firmware (dependencies).


4.3 One by one ECU flash
A more cautious, slower method than above, is to flash the individual ECUs one by one, rather than selecting the subset of ECUs to be flashed on the TAL processing screen.

5. Dependencies
If you need to do it manually, follow the guide, and if there is multiple TallLine entries in the TAL editor screen, you need to check all. Dependencies vary by software version and will be different for different car. You can peruse my dependencies table attached. Most ECUs depend on FEM_GW, and many people's F8x got updated with selected 58.2/3 ECUs without updating FEM_GW including mine!
The order of flashing based on the table below would be: FEM_GW, FEM_Body, DME, then any other ECU.
Name:  dependencies.jpg
Views: 31890
Size:  50.7 KB
6. Post flashing recovery & Cleanup:
Many of these operations can also be done in combination of Esys, Tool32, ... but i find ISTA/D much more easier and intuitive to use when it comes to clearing faults and following any other diagnostic or post programming procedures.

Clear Faults: Most likely you will have many faults, proceed and clear initially in "Esys > Transmitter > Clear All DTC", then fire up ISTA/D and check again. Any remaining faults will need to be dealt with using the procedures below.

Transport Mode: Delete transport mode, Vehicle Management > Service function > Maintenance and pre-delivery check > Transport mode, pre-delivery check
If the car ends in transport mode post flashing, there is a ISTA service function Delete Transport Mode that should be used to get the car back in operation. Esys could also be used to get out of transport mode, by VO coding any available module. However, ISTA/D seems to be a much easier operation as there is no need to go through the pre-delivery setup.

Airbag: Enable Airbag Activation after programming operation, in ISTA/D, "Vehicle Management > Service function > Body > Safety Functions > Lock Airbag"

Power Windows: Initialise Power window drive: in Rheingold, follow the initialise procedure in "Vehicle Management > Service function > Body > Locking and security functions"

Headlight Adaptation: In Rheingold, follow the initialise procedure in "Vehicle Management > Service function > Body > Lighting"
Note: Some members (tx psedog ) had communication issues when executing the ISTA LED Adapation ABL ABL-DIT-AS6300_TMS_INIT. If you have either of the following errors: ERROR_ECU_CONDITIONS_NOT_CORRECT, or any communication error popup in ISTA, try setting this parameter in your EDIABAS.ini in use: RetryComm = 1

Last edited by aboulfad; 04-07-2020 at 11:24 AM.. Reason: Toned down FEM_GW warning
Appreciate 21
///F80M3654.00
Azni0.00
Mwahab58.50
FSociety3810.00
Abear9.50
djekl1.50
sata0.00
///M Houbi1653.00
mp23513.50
isenc2142.00
      05-21-2016, 12:11 PM   #2
Mandi90TT
Colonel
United_States
2712
Rep
2,371
Posts

Drives: BSM 6MT M4 F82
Join Date: Aug 2014
Location: Colorado Springs

iTrader: (0)

Good info
Appreciate 0
      05-21-2016, 06:00 PM   #3
te37
Major
te37's Avatar
545
Rep
1,132
Posts

Drives: F80 SS/SO 6MT
Join Date: Jun 2013
Location: ATL

iTrader: (3)

I'm gonna press my dealer and depending on how much they want to charge me I might be back to follow this! Thanks!
Appreciate 0
      05-21-2016, 06:02 PM   #4
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
Quote:
Originally Posted by te37
I'm gonna press my dealer and depending on how much they want to charge me I might be back to follow this! Thanks!
By that time, maybe I would have flashed my car and I will have more to contribute, especially on the flashing choice taken and any issues encountered !
Appreciate 0
      05-21-2016, 10:22 PM   #5
cryptz
Lieutenant
United_States
169
Rep
435
Posts

Drives: 2015 m4
Join Date: Jun 2014
Location: pottstown pa

iTrader: (1)

I just wanted to post. I flashed all ECUs recently on a f32.

make sure you do not have a cd in the head unit, it will fail on hu_nbt
otherwise I encountered the window/airbag/headlight issues that you mentioned.

I flashed via vin not gateway. my flash took 2 attempts but the first one failed due to the cd being in hu_nbt. its possible I had a zgw issue but I didn't notice it the first go round.

my car was a 2014 f32
Appreciate 1
      05-22-2016, 05:05 AM   #6
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
cryptz , thank you for your valuable post, I've update the OP. That's crazy that the flash fails for HU_NBT with CD inserted ! I would have never thought about it and I had a CD inserted You wouldn't by any chance still have the Esys Errors? Usually the logs are saved in C:\Data\logs. And to really confirm, did your FEM_GW get updated, it'd be great if you can share/PM (remove VIN) your TAL_svt.xml.

Out of curiosity, what was your power source during the full flash?
Appreciate 0
      05-22-2016, 08:43 AM   #7
cryptz
Lieutenant
United_States
169
Rep
435
Posts

Drives: 2015 m4
Join Date: Jun 2014
Location: pottstown pa

iTrader: (1)

Quote:
Originally Posted by aboulfad View Post
cryptz , thank you for your valuable post, I've update the OP. That's crazy that the flash fails for HU_NBT with CD inserted ! I would have never thought about it and I had a CD inserted You wouldn't by any chance still have the Esys Errors? Usually the logs are saved in C:\Data\logs. And to really confirm, did your FEM_GW get updated, it'd be great if you can share/PM (remove VIN) your TAL_svt.xml.

Out of curiosity, what was your power source during the full flash?
Problem with the svt.xml is i recomputed it several times and i do not know if i have the original one but i did find this:


<ecu nameBNTN="FEM-LR01-GATEWAY" baseVariant="FEM_GW">
<diagnosticAddresses>
<diagnosticAddress physicalOffset="16"/>
</diagnosticAddresses>
<ecuDetailInfo ActiveNotifyEnabled="true" SWTEnabled="false" SecurityEnabled="false" NGSCEnabled="false" CodingEnabled="false" FlashEnabled="true" ISO14229Enabled="true"/>

regarding nbt, you will get this initially and the flash will fail later in the process. by this point ejecting is too late.

[#RtGen_FAILED_PRECONDITIONS_Item_#0: [BV: HU_NBT], [DIAG_ADDRESS: 99], [ERROR_DESC: ID:128 - Medium in dvd drive. Flash may have problems when updating drive firmware. Please remove medium from drive before flash. Otherwise flash cannot start.]]


i used a 20amp charger that has a 60 amp mode. It would not stay running at 60 amp because it would hit something like 16 volts. I ended up keeping it at 20 and thought it was sufficient. I blipped it over to 60 amps twice because it was getting a little low but i doubt it was necessary.
Appreciate 0
      05-22-2016, 08:53 AM   #8
ashmostro
Brigadier General
United_States
1251
Rep
4,087
Posts

Drives: 2020 M4cs | 2022 M550i
Join Date: Jan 2013
Location: Falls Church, VA

iTrader: (27)

Speaking of charging sources... I've read in numerous places that is an option to choose while the car is running if a charger is not available. Is this right? Seems like it would be risky to do that...?
Appreciate 0
      05-22-2016, 08:55 AM   #9
shawnsheridan
General
shawnsheridan's Avatar
United_States
10408
Rep
40,617
Posts

Drives: 2018 Alpina B6 650ix GC
Join Date: Feb 2010
Location: Houston, TX

iTrader: (0)

Garage List
Quote:
Originally Posted by ashmostro View Post
Speaking of charging sources... I've read in numerous places that is an option to choose while the car is running if a charger is not available. Is this right? Seems like it would be risky to do that...?
Not even possible. Flash puts car in Transport Mode and shuts down motor if it is running.

Use a Charger or Jump car to another car with running motor.
__________________

2018 F06 Alpina B6 650ix GC; Space Grey; Vermillion Red Nappa Leather; Executive; B&O; Driving Assistant
2017 F15 X5 xDrive50i MSport; Glacier Silver Metallic; Black Dakota Leather; Executive; B&O; Driving Assistant; RSE
Appreciate 1
      05-22-2016, 08:55 AM   #10
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
Quote:
Originally Posted by ashmostro
Speaking of charging sources... I've read in numerous places that is an option to choose while the car is running if a charger is not available. Is this right? Seems like it would be risky to do that...?
If you are performing a full update including DME, the engine will be stopped and the car will be in transport mode. So no not recommended.
Appreciate 0
      05-22-2016, 08:58 AM   #11
ashmostro
Brigadier General
United_States
1251
Rep
4,087
Posts

Drives: 2020 M4cs | 2022 M550i
Join Date: Jan 2013
Location: Falls Church, VA

iTrader: (27)

Ok that's what I would have expected. Thank you.

Just to be sure I'm right-handed about this... This thread says "flash"... Is that interchangeable with "code" or are we talking about something more advanced and involved? And would that change your answer?
Appreciate 0
      05-22-2016, 09:00 AM   #12
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
Flash/program: to update car's electronic control units (ECU) software/firmware (analogy like updating iOS, *nix, Win)
Coding: changing values/parameters to configure certain features!

As for coding and engine state, it's ok to code with engine ON (unless you are coding DME) but read the install instructions that you received from our Shihan Shawn
Appreciate 0
      05-22-2016, 09:05 AM   #13
ashmostro
Brigadier General
United_States
1251
Rep
4,087
Posts

Drives: 2020 M4cs | 2022 M550i
Join Date: Jan 2013
Location: Falls Church, VA

iTrader: (27)

Quote:
Originally Posted by aboulfad View Post
Flash/program: to update car's electronic control units (ECU) software/firmware (analogy like updating iOS, *nix, Win)
Coding: changing values/parameters to configure certain features!
Yeah, I think that's where my confusion on the topic was stemming from. Thanks for your help!
Appreciate 0
      05-22-2016, 09:46 AM   #14
HDDMark
Private
21
Rep
59
Posts

Drives: 2016 SS F80
Join Date: Apr 2015
Location: SW MO

iTrader: (0)

aboulfad,

Thanks again for starting this thread. I'm still in process of downloading the full 58.3 software. Reviewing the few guides that I have I have a few questions.

I use 7-Zip. Is there any special procedure for unpacking all of the RAR files in the PSdzData directory of E-SYS or do I just need to unpack them all to the same directory and that's it?

One of the flashing guides that I have lists the following flashing requirements.

No exchange of modules. Units are functional and in-sync with car network. No faults registered in the fault or Information memories. - Since I've disabled ASD through coding (I didn't uplug the module) I believe a fault code is stored. At least I think I remember seeing one last time I was in ISTA/D. Do I need re-code the ASD module so that it's working correctly first?

Car network is running a unique I-level across modules. - At this point I was just planning on flashing the DME, DSC and ICM modules. If I'm not mistaken, Shawn (and others) recommend only flashing the necessary modules and not the entire car. If I do this, am I potentially creating headaches for me in the future since some of the ECUs will be updated and some won't?

FA in car is in shipment status ie. Zeitkriterium not modified. - I've VO coded my car for NGHB. Does the above statement mean that I need to modify my FA back to original with the 5AP and 8S4?

I just want to make sure I understand this procedure better before doing it. I have more questions brewing.

Thanks,

Mark
Appreciate 1
      05-22-2016, 10:08 AM   #15
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
Quote:
Originally Posted by HDDMark View Post
...
-unzip/unrar: either software will unpack all once you open one. I also check the md5 checksum after downloading. I use hashtab.

Quote:
No exchange of modules. Units are functional and in-sync with car network. No faults registered in the fault or Information memories.
I wouldn't worry about ASD or the "no fault" guideline but I haven't done it yet, I also have ASD coded off.

Quote:
Car network is running a unique I-level across modules. - At this point I was just planning on flashing the DME, DSC and ICM modules...?
Yes, and as I said above you'll have to keep record but not a big deal as automotive ECUs should be very smart when it comes to incompatibilities. So flash what you want and using Shawn's approach, flash after whatever you think is still needed.
Quote:
FA in car is in shipment status ie. Zeitkriterium not modified. - I've VO coded my car for NGHB. Does the above statement mean that I need to modify my FA back to original with the 5AP and 8S4?
Very good question. In my case I never wrote modified FA to car so actually then I need to VO code that ECU w my saved FA post flash. If you wrote your FA to car, then in theory you don't need to do anything, on the assumption that the modified FA isn't over written/cleared during the flash operation. I am not speaking from experience here but just putting things together, hope some of the experts chime in.
Appreciate 0
      05-22-2016, 12:41 PM   #16
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
@HDDMark , I modified my answer regarding FA modification. Read above. Now going to mod the PSUs so I will be offline for a while
Appreciate 0
      05-23-2016, 09:37 AM   #17
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
Just successfully flashed 58.3 Trio (DME, DSC, ICM)
Attached Images
 

Last edited by aboulfad; 06-03-2016 at 10:44 PM..
Appreciate 6
      05-23-2016, 12:36 PM   #18
terahertz
First Lieutenant
United_States
163
Rep
387
Posts

Drives: 2016 F80 M3 AW
Join Date: Oct 2013
Location: Irvine, CA

iTrader: (0)

Update the DCT!
Appreciate 0
      05-23-2016, 12:39 PM   #19
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
Quote:
Originally Posted by terahertz
Update the DCT!
Hahaha, ok next on my list: GHAS, EGS, VDC. but honestly I like the erratic behaviour of the DCT then the rest of the ECUs if I feel like it.
Appreciate 0
      05-24-2016, 09:24 AM   #20
Polo08816
Brigadier General
1603
Rep
3,940
Posts

Drives: 2014 335i M Sport
Join Date: Sep 2010
Location: MD

iTrader: (0)

Excellent post.

In your opinion, would you simply prefer to flash via ISTA+ if you already have the ICOM A2?

Also, has anyone noticed changes to the F3x series from this update?

Last edited by Polo08816; 05-24-2016 at 09:35 AM..
Appreciate 2
      05-24-2016, 09:29 AM   #21
aboulfad
Brigadier General
aboulfad's Avatar
Canada
1593
Rep
3,945
Posts

Drives: 2015 M4 MG/SO
Join Date: Mar 2014
Location: MTL, QC

iTrader: (0)

Garage List
2015 BMW M4  [10.00]
Quote:
Originally Posted by Polo08816 View Post
Excellent post.

In your opinion, would you simply prefer to flash via ISTA+ if you already have the ICOM A2?

Also, has anyone noticed changes to the F3x series from this update?
Hi,
I prefer using Esys as it gives you complete control over what you are doing. I am not sure if in ISTA/D you can select individual ECUs to flash? But if you are going for a full update, ISTA/ICOM is a foolproof way to do it and less steps than Esys.

From my readings, an ICOM is way faster than ENET, but most people are reporting a complete update for 30mns. As this is a F8x forum, not sure if many people have opinions about F3x...

PS: A small favour, can you please delete/modify your post and NOT quote the first OP, it will make this thread very long...
Appreciate 1
      05-24-2016, 09:30 AM   #22
shawnsheridan
General
shawnsheridan's Avatar
United_States
10408
Rep
40,617
Posts

Drives: 2018 Alpina B6 650ix GC
Join Date: Feb 2010
Location: Houston, TX

iTrader: (0)

Garage List
Quote:
Originally Posted by Polo08816 View Post
Excellent post.

In your opinion, would you simply prefer to flash via ISTA+ if you already have the ICOM A2?...
Interface has nothing to do with choosing between ISTA/P and E-Sys. Both will support either ICOM or ENET.
__________________

2018 F06 Alpina B6 650ix GC; Space Grey; Vermillion Red Nappa Leather; Executive; B&O; Driving Assistant
2017 F15 X5 xDrive50i MSport; Glacier Silver Metallic; Black Dakota Leather; Executive; B&O; Driving Assistant; RSE
Appreciate 0
Post Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

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



All times are GMT -5. The time now is 12:12 PM.




f80post
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST