G05
BMW X5
5.3KVIEWS
37REPLIES
11APPRECIATES
9ACTIVE PEOPLE
04-24-2026LAST POST
04-13-2026
Bambazonke wrote
Don't need to undo your coding or your individual NCD files just send me a copy of your FA and SVT files which can be saved from E Sys or Bimmer Utility when you next hook up to your X5.
Using the FA and SVT files i can generate ncd files and do comparisons between them when changing the vehicle configuration settings in the FA (Vehicle Order) list
I am getting ready to do this upgrade, so I will be hooking up E-Sys again soon. Do you still need this? If so, I'll download the files and send them to you.
04-16-2026
sammuller wrote
I have a 2021 G05 with adaptive headlights and the HBA, but I already did some coding to try and enable the anti-dazzle HBs with partial functionality, i.e. it working somewhat but it cannot create a "tunnel" beam, probably due to the limited number of lighting elements inside the headlight. The VLD does work pretty good however.

To help you, I would have to "undo" my coding first and then read and save the FA and SVT files. Not sure I want to do that at the moment, but I'll keep your request in mind if I get closer to doing an upgrade to laser lights for which I think would need to revert to factory coding anyways (looking to sell the original adaptive LED headlights).
Here are the lines you normally need to code to activate the Anti-Dazzle and VLD functions for a G05 with adaptive LED headlights (not laser headlights):

BDC_BODY3 (1DF8) :
• LUT_FLC_FORWARDLIGHTING_Y -> AFS (00,00,00)
• C_BLC_PRE_ENA -> enable (01)
• C_AFS_ENA -> enable (01)
• C_AFS_ECO_LEVEL_3_ENA -> enable (01)
• LUT_AFS_DRV_HOR -> F040_G005_AHL/G015_G020_Laser/G07_ECE/G07_Basis_US
• LUT_AFS_CODRV_HOR -> standard/init
• LUT_AFS_DRV_VERT -> G005_AHL/G029/G020_LED/F040_552_ECE
• LUT_AFS_CODRV_VERT -> G005_AHL/G029/G020_5A2
• C_CLC_ENA -> enable (01)
• C_CLC_BLINK_ENA -> enable (01)
• C_CLC_REV_ENA -> enable (01)
• C_CLC_EXT_ENA -> enable_roundabout (01)
• C_CLC_CURV_V2 -> ECE (23)
• C_CLC_CURV_V3 -> ECE (28)
• C_HBA_GFHBA_ENA_V_HI -> standard (3C)
• C_HBA_DIM_ENA -> enable (01)
• C_HBA_GFHB_ENA -> enable (01)

BDC_BODY3 (7083) :
• AL_MODE_ECO -> LOW_LEVEL_3_DIPB (03)
• LIN_VARIANTE_SZL -> szl_r_HW_aic_4Band_fla (30)

KAFAS4 (40F9) :
• COUNTRY_VARIATION -> EUROPE_RC (01)
• C_FLA_CC_MESSAGE_3 -> no_CC_message (00)
• C_FLA_US_SENSITIVITY_MODE -> Normal (00)
• C_FLA_BS_ENTER_THRESH -> Rest of world (03)
• C_FLA_BS_EXIT_THRESH -> Rest of world (02)
• C_FLA_LN_US_ECE_BEHAVIOR -> ECE (02)
• C_FLA_COUNTRY_WITH_MULTIPLE_REFLECTORS -> Active (01)


Also, it's normal for the blue light to appear in the instrument cluster, even if the high beams aren't fully activated. By default, the indicator light is blue if the VLD or HBA function is on. It only turns off if only the low beams are on (so in the city, if there are a lot of vehicles on the road, or at low speeds).

If you prefer the blue indicator light to only illuminate in your instrument cluster when the high beams are fully activated, you can usually do this by coding this line:
C_DLMB_LSR_LOWB_ENA -> Werte (01)

Hope this helps!
04-17-2026
Appreciate the summary and the tidbit about coding the behavior of the blue light.

Since I did this coding with my adaptive LED lights and the limited success I’ve decided to upgrade to laser lights. I have them sitting ready to be installed with modules and ISTA+ and E-Sys ready for flashing and coding.

Would you have a summary list of anti dazzle coding for laser lights. I’ve seen quite a few different ones. I want to start with the 6 lines that mlurker was using.
04-17-2026
sammuller wrote
Appreciate the summary and the tidbit about coding the behavior of the blue light.

Since I did this coding with my adaptive LED lights and the limited success I’ve decided to upgrade to laser lights. I have them sitting ready to be installed with modules and ISTA+ and E-Sys ready for flashing and coding.

Would you have a summary list of anti dazzle coding for laser lights. I’ve seen quite a few different ones. I want to start with the 6 lines that mlurker was using.
The specific coding differences between adaptive LED headlights and Laser headlights, for the Anti-Dazzle function, are as follows:

BDC_BODY3 (1DF8) :
• LUT_AFS_DRV_VERT -> G005_Laser/G015_LASER__AHL_ECE/G07_ECE/Laser_US
• LUT_AFS_CODRV_VERT -> G008/G015/G005/G020/G07
• LUT_AFS_DRV_HOR -> G05_Laser_ECE
• LUT_AFS_CODRV_HOR -> G05_Laser_ECE

But if you've switched from adaptive LED headlights to Laser headlights, there are dozens of lines to change. The easiest way is to remove option "552" and add option "5AZ" to your FA list, then code the BDC and FLM modules.

;)
04-18-2026
Thanks!! I was planning on doing exactly that (FA change and then VO code).

I compared your list of subsequent FDL code changes and it matched 99% of the list I had from a cheat code Excel sheet. Going to implement that this weekend hopefully.
04-19-2026
Hey guys....

I ran into an issue that I hope you know how to address...

I retrofitted Laser lights, with the correct modules (5CFF hardware). At least one of them had outdated software, so I needed to flash to the correct firmware, which I was able to do successfully (I think, because they now work as they should).

The car is currently at I-Step 23-11-350, shipment I-Step is 21-03-567, so I used I-Step target 25-11-560 to calculate SVT target because that is the oldest, closest to the I-step of the rest of the car that is in the psdzdata I have. I did the calc for the complete car, but only flashed the two FLM ECUs , nothing else.

Now, I am trying to do anti-dazzle coding in BDC_BODY3, but I now notice that it doesn't show up in the SVT I read from the car, only BDC_GW3 shows up. I redid a SVT Target calc and I see BDC_BODY3 as all red, like it is completely new. Old vs. new number of ECU's is 28 vs. 29, so it shows it detected an additional ECU.

The TAL matrix in Processing shows a hwInstall for BDC_BODY3 and a hwDeinstall plus hwInstall for BDC_GW3, followed by blFlash, swDeploy, cdDeploy for both. BDC_GW3 then also has a checkmark by GatewayTableD....

Do you know how to get this straightened out again?

Really appreciate your help!
04-19-2026
Forgot to write that I did the FA update to remove LED lights and insert the Lasers, 5AP was already removed from the FA. I encountered the issue when trying to VO code the BDC_BODY3.
04-19-2026
sammuller wrote
Forgot to write that I did the FA update to remove LED lights and insert the Lasers, 5AP was already removed from the FA. I encountered the issue when trying to VO code the BDC_BODY3.
I recently had major problems when I tried to update my i-step to version 11.2025.560. Nothing worked!

I had to revert to the initial version of my i-shipment, and then reinstall the latest update, which worked correctly (07.2024.525).

Also, normally, you need to restore the FA list to its original state before updating the i-Level. Then you can modify the SALAPA again. So, in your case, you might need to leave 5AP and 552 as they are to update your modules. Only then should you remove 5AP and 552, and then add 5AZ and recode the relevant ECUs.
04-19-2026
SimR wrote
I recently had major problems when I tried to update my i-step to version 11.2025.560. Nothing worked!

I had to revert to the initial version of my i-shipment, and then reinstall the latest update, which worked correctly (07.2024.525).

Also, normally, you need to restore the FA list to its original state before updating the i-Level. Then you can modify the SALAPA again. So, in your case, you might need to leave 5AP and 552 as they are to update your modules. Only then should you remove 5AP and 552, and then add 5AZ and recode the relevant ECUs.
But what I needed to do is update firmware (flash) the laser FLMs. How would I have done that without coding 5AZ (laser lights) and removing 552 (adaptive LED)? The hardware wouldn’t have matched the FA.

Right now I want to get the BDC_BODY3 to respond again so I can code the anti-dazzle. I did the coding for the LED lights and these lasers are already doing anti-dazzle to a much larger extent than the LEDs ever did, but I want to change the last 4 lines specific to laser lights.

Re “updating i-step”: I am not trying to do that but the psdzdata set I have only goes back to 2025, so that’s what I used for the FLMs. I have been reading that later software should be ok. Just not earlier software than the rest of the car.

It did cross my mind to update the whole car to the latest I-step, but based on your experience I’m glad I didn’t attempt that. I also don’t have the right database for the 2024 i-step software.

I’m not sure how what you suggest above can bring back the BDC_BODY3 EVU to respond.
04-20-2026
sammuller wrote
But what I needed to do is update firmware (flash) the laser FLMs. How would I have done that without coding 5AZ (laser lights) and removing 552 (adaptive LED)? The hardware wouldn’t have matched the FA.

Right now I want to get the BDC_BODY3 to respond again so I can code the anti-dazzle. I did the coding for the LED lights and these lasers are already doing anti-dazzle to a much larger extent than the LEDs ever did, but I want to change the last 4 lines specific to laser lights.

Re “updating i-step”: I am not trying to do that but the psdzdata set I have only goes back to 2025, so that’s what I used for the FLMs. I have been reading that later software should be ok. Just not earlier software than the rest of the car.

It did cross my mind to update the whole car to the latest I-step, but based on your experience I’m glad I didn’t attempt that. I also don’t have the right database for the 2024 i-step software.

I’m not sure how what you suggest above can bring back the BDC_BODY3 EVU to respond.
Before update your ECUs, dit you unchecked "update VCM after TAL execution" and "update MSM after TAL execution" in E-Sys Options tab.

Also do you have ISTA? If so, perform a "Complete Vehicle Test" then a "Display Measures Plan".

Here are two very useful videos on encoding/programming new/used ECUs; I hope they will help you solve your problem:
04-20-2026
SimR wrote
Before update your ECUs, dit you unchecked "update VCM after TAL execution" and "update MSM after TAL execution" in E-Sys Options tab.

Also do you have ISTA? If so, perform a "Complete Vehicle Test" then a "Display Measures Plan".

Here are two very useful videos on encoding/programming new/used ECUs; I hope they will help you solve your problem:
Yes, I had those two options disabled since I installed E-Sys.

My ISTA+ is acting weird. Sometimes it starts right up and sometimes, like now, it gives me an error when I start it. I have tried to remedy that in the past by reinstalling but it keeps acting up. Not sure what the deal is. Installation takes ages, so at some point I gave up. Maybe I can start on another laptop from scratch and see if I get it working on that one.

I had watched both these videos and my situation was exactly the same as the end of the second video. I had two FLMs with different software and I did exactly what he did and flashed the FLMs with swdeploy and cddeploy. After that, both FLMs were on the exact same software and coding file. Hardware was already the same.
After that, the lights themselves give me no errors and function perfectly fine. The car acts fine also, but somehow I do not see the BDC_BODY3 ECU anymore in E-Sys. I was planning on VO coding the BDC and then FDL coding the anti-dazzle lines again. The anti-dazzle FDL coding should actually all be in there already since I coded that before, with the exception of the laser specific lines.

Any ideas?
04-20-2026
sammuller wrote
Yes, I had those two options disabled since I installed E-Sys.

My ISTA+ is acting weird. Sometimes it starts right up and sometimes, like now, it gives me an error when I start it. I have tried to remedy that in the past by reinstalling but it keeps acting up. Not sure what the deal is. Installation takes ages, so at some point I gave up. Maybe I can start on another laptop from scratch and see if I get it working on that one.

I had watched both these videos and my situation was exactly the same as the end of the second video. I had two FLMs with different software and I did exactly what he did and flashed the FLMs with swdeploy and cddeploy. After that, both FLMs were on the exact same software and coding file. Hardware was already the same.
After that, the lights themselves give me no errors and function perfectly fine. The car acts fine also, but somehow I do not see the BDC_BODY3 ECU anymore in E-Sys. I was planning on VO coding the BDC and then FDL coding the anti-dazzle lines again. The anti-dazzle FDL coding should actually all be in there already since I coded that before, with the exception of the laser specific lines.

Any ideas?
Yes, I think the best solution is to VO-code the modules and recode them from zero to activate the GFHBA function correctly. And in any case, I suggest you reinstall ISTA to perform a "Measures plan" which will probably correct any faults, if so.
04-20-2026
Understood, but first I need to be able to even get to my BDB_BODY3 ECU, which I currently cannot. I am reinstalling ISTA+ but I am less familiar with that one than E-Sys. I'll try what you suggested with the diagnosing and test plan.

If anybody has any other input as to why the BDC_BODY3 doesn't show up anymore in the SVT list or how to fix it, I would welcome any further suggestions.
SimR wrote
Yes, I think the best solution is to VO-code the modules and recode them from zero to activate the GFHBA function correctly. And in any case, I suggest you reinstall ISTA to perform a "Measures plan" which will probably correct any faults, if so.
04-20-2026
sammuller wrote
Understood, but first I need to be able to even get to my BDB_BODY3 ECU, which I currently cannot. I am reinstalling ISTA+ but I am less familiar with that one than E-Sys. I'll try what you suggested with the diagnosing and test plan.

If anybody has any other input as to why the BDC_BODY3 doesn't show up anymore in the SVT list or how to fix it, I would welcome any further suggestions.
Can you share a print screen" of your missing ECUs in E-Sys?
04-20-2026
SimR wrote
Can you share a print screen" of your missing ECUs in E-Sys?
Here is the screenshot that shows the BDC_BODY3 is completely missing and needs to be added (red).

When trying to “read ECUs” from the VCM screen instead of the Coding screen I got an error for Ethernet to ECU 10 which is the BDC_GW3. Not sure why that error is present all of the sudden.
An image attached to this post, provided by the posterAn image attached to this post, provided by the poster
04-24-2026
Figured it out finally! For everyone else's benefit, the actual solution was something simple. I got ISTA+ working finally and it pointed me to voltage low on the BDC ECU when I was coding before in NOV and now, this past weekend.

The actual fault was no ethernet connection to the BDC, but if you dig further into it with ISTA it showed three instances where the voltage dropped low on that unit and all three were when I was coding it. Measuring voltage and amps at the main battery when the car is in PAD mode revealed that my charger that I hooked up to the battery is not keeping pace with usage, resulting in a few amps of discharge from the battery even when the charger is connected. So that is what caused it I believe.

Now, to fix it, I had read elsewhere about someone with the same problem (BDC_BODY3 not showing up) that he resolved it with a simple restart of the ECUs by disconnecting the battery. I disconnected mine and charged it while it was disconnected. I had to wait more than 5 mins for the interior lights and the head unit to die. I was starting to wonder where the power was coming from, but then it did die. I left it 15mins to make sure then reconnected the battery. After about 5 mins, I turned on PAD mode again, hooked up E-Sys and BDC_BODY3 was there again!

I read FA, ECUs (SVT-ist) and then did a calc for SVT-soll and everything is black again.

I then finally finished off with the FDL coding for anti-dazzle.