Getting Started: FDL Coding
You will need the following items to begin your coding adventure: (Please note: I am providing a general guide to coding within this document. You are assuming any and all risk by following this guide, and I will not be held accountable should you cause damage to your vehicle by following the steps provided in this guide. You also assume all responsibility for obtain valid software licenses for all software.)
1. BMW ENET Cable http://www.bmwenet.com
If you don’t have one, you can purchase one for $19.99 shipped within the USA at the link above
2. BMW ESYS Software http://www.bmwesys.com/VM
Please note: Since 12/31/17, ESYS Launcher PREMIUM will no longer work in a native environment. The software developer hard-coded the token creation step in ESYS Launcher to create a token with an expiration date of 12/31/2017. Using the software in a native environment results in an endless loop of token creation, and will not allow ESYS to run/work properly. In order to solve this problem, without the need to purchase his new ESYS Launcher PRO v.3 software, we have created a Windows 7 (32-bit) Virtual Machine. You can use this virtual machine just as if you had the software installed on your native computer. The trick is that the Virtual Machine’s Clock is set to start at 1/1/2017 @ 12:30:00AM. This tricks the software into thinking it is really that date, and the software works as intended. Keep the date in the Virtual Machine NOT Sync’d to the true date/time (from the host computer) and you will not have a problem coding. Additionally, the VM is pre-configured with ESYS 3.28.1, ESYS Launcher & PSdZDATA v.63.3 Lite Pre-Installed, so you don’t need to do any complicated software setup. It is all done for you already. You can simply update ESYS PSdZDATA in the future as necessary on your own by deleting the old files and replacing with newer versions.
3. PSdZDATA (Lite) Files for ESYS http://www.bmwenet.com/psdzdata For Future Updates ONLY
Please note: I do not host these files; I have provided a link to where these are publicly available online PSdZDATA (Full) Files are only needed for Flashing ECUS, and NOT for FDL or VO Coding
PSdZDATA FULL: http://www.bmwenet.com/psdzdata/full For Future Updates ONLY
4. Windows or Macintosh Computer with Ethernet (RJ-45) Connection
5. Model-Specific Cheat Sheets http://www.bmwenet.com/guides
These vehicle-specific guides allow you to find the necessary parameters to change to achieve the desired available functions through coding.
REMOTE CODING: Please e-mail for more information / to schedule an appointment: [email protected]
Are you looking for an all-inclusive coding service? W e also offer remote coding for a flat-rate of $100.00 USD. If you opt for remote coding, we will connect to your computer via free remote control software (teamviewer.com). We will install and configure TeamViewer VPN, and will perform coding based on your selected options from our Pre-Installed and Configured Coding computers in our offices.
After configuring your PC for coding, we will have you connect the computer to your car, and code an unlimited number of options during 1 session. In addition, if you have OEM navigation, we can generate an FSC code to update your navigation maps and destinations data to the latest version (2018- 1). There is no additional cost for the map upgrade FSC Code during the remote coding session. Everything listed above is included for the flat $100.00 USD rate. Remote coding requires the following:
Laptop running Windows 7 or higher (Mac OS X is capable, only if running a windows VM)
WiFi Connection at the location of the car to be coded
Ethernet port (to connect the ENET Cable)
Download the required software on your computer
1. Coding Virtual Machine Archive a. www.bmwesys.com/VM (Must use Google Chrome Browser due to HTML5 data transfer limits) b. Right-Click on the Virtual Machines.rar file and choose Download… Standard Download
2. WinRAR Archive Extractor (MUST USE THIS APPLICATION) a. www.rarlab.com/download.htm b. Choose one of the first 2 options (32 or 64 bit depending on which version of windows you
have. If you are unsure, choose the 32 bit version) c. Utilize WinRAR to extract the files from Virtual Machines.rar to your Documents folder in
Windows (C:\Users\USER NAME\Documents)
3. The files should be placed as follows:
Prepare your computer for utilizing the Virtual Machine
1. Download VMWare Player 12.5.8 for Windows
https://download3.vmware.com/software/player/file/VMware-player-12.5.8-7098237.exe?HashKey=26261b5cc2c3aac30b528d2a53931bba&ext=.exe¶ms=%7B%22sourcefilesize%22%3A%2274.22+MB%22%2C%22dlgcode%22%3A%22PLAYER-1258%22%2C%22languagecode%22%3A%22en%22%2C%22source%22%3A%22DOWNLOADS%22%2C%22downloadtype%22%3A%22manual%22%2C%22eula%22%3A%22N%22%2C%22downloaduuid%22%3A%22833bbb5f-7404-404e-92ad-b40828829eb3%22%2C%22purchased%22%3A%22N%22%2C%22dlgtype%22%3A%22Product+Binaries%22%2C%22productversion%22%3A%2212.5.8%22%2C%22productfamily%22%3A%22VMware+Workstation+Player%22%7D&AuthKey=1515339495_eb1095cd467801315f9a151ddb41b29a&ext=.exe
2. Install VMWare Player 12.5.8 for Windows for Non-Commercial Use a. Run the EXE Installer that you downloaded in Step 1 above b. Pick the NEXT button.
c. Check the I accept box, then pick the NEXT button.
d. DO NOT Check the Enhanced Keyboard Driver, Click the NEXT Button.
e. Un-Check BOTH boxes, then Click the NEXT button.
f. Click the NEXT button on this screen.
g. Click the INSTALL button on this screen.
h. Click the FINISH button on this screen.
i. Open VMware Workstation Player 12.5.8 from the new icon on your Desktop.
j. Proceed to utilize for non-commercial use by entering ANY e-mail address and then click CONTINUE button.
k. Your VMware Workstation Player 12.5.8 Installation is now completed. Click the FINISH button.
3. On this screen, you will click the OPEN option on the right panel.
4. Navigate to: Documents\Virtual Machines\Coding\ Select Coding, then click Open
5. Click “Play Virtual Machine”.
6. Since this is the first time running the VM on your computer, you will need to tell VMware that “I Copied It”, so the VM will be configured correctly on your computer, as the hardware is different from the machine that the VM was created with. Click the “I Copied It” button.
7. If you get a message about connecting any of your Removable Devices (INCLUDING any USB Ethernet Adapter), DO NOT CONNECT ANY to your Virtual Machine. Let Windows on the Host computer manage these devices. It will be important in later steps where you Bridge the Network Connection to the Virtual Machine to allow ESYS to communicate with your car correctly. Click the OK button.
8. Once the VM boots for the first time, it will make hardware changes and require a reboot. Click Restart Now button.
9. Once the VM reboots, we will be ready for coding. Ensure that your car’s engine is running, and the cable is connected at both ends. Click Player, go to Removable Devices Network Adapter Settings
10. Change the connection to “Bridged” under Network Connection on Right Pane. Then Click Configure Adapters, and un-check all connections EXCEPT for your ETHERNET Adapter, which the BMW ENET Cable is connected to. Click OK
11. If you selected the correct adapter, Windows VM will show a connected Ethernet Adapter, and under status, you should have a self-assigned IP address in the 169.xxx.xxx.xxx range.
12. You can verify the VM can see your car correctly by double-clicking the ZGW Search icon on the Desktop. It will open and successfully show the IP Address of the ZGW Gateway ECU in your BMW, and show the VIN of the vehicle which is connected. You do not need this information for anything else, however it is a quick way to verify the car is communicating with the Virtual Machine correctly.
13. At this point, the VM is correctly configured for use on your computer/laptop. You are free to install VMware tools onto the Coding Virtual Machine. This will allow people with High Resolution screens to be able to format the virtual machine to be able to see it easier on their displays. VMware tools is not necessary to install, however it is very important that after the VM reboots after installing VMware tools, that before you do anything else, you reset the Date/Time configuration in Windows in your Virtual Machine.
TURN OFF ANY Time Clock Synchronization with Windows Time Server.
Reset System Date / Clock as follows: Date: 1/1/2017 Time: 12:30:00 AM
14. If you fail to set the clock correctly, ESYS Launcher will not work properly and detect Date/Time Manipulation.
15. Run ESYS Launcher PREMIUM. Upon the first run of the program, you will be prompted to create your personal EST token. Please use any 4 to 8 digit PIN, and place the token at: C:\EC-Apps\ESG\E-Sys\lib
16. Choose the correct Chassis-Code for the vehicle that you will be coding. If you do not know the correct chassis-code for your vehicle, you can utilize the BMW VIN Decoder with the last 7 characters of your VIN number to find the appropriate chassis code to use here. The decoder can be accessed at: http://www.bmwvin.com –or- http://www.bimmer.work
Some users may get the following message if utilizing the default Windows Firewall. Be sure to allow full access for the ESYS Software. The car and the computer communicate over IP Protocol utilizing the BMW ENET Cable. It is imperative that the firewall not block any communication with the ESYS Software during coding.
A general rule-of-thumb: Disable ALL Anti-Virus and Firewall software before utilizing the ESYS Software.
17. Once the ESYS Software runs for the first time, you will receive the following settings to review
18. Uncheck the two boxes marked below, and press the OK button
Before we begin, here’s the MOST IMPORTANT PIECE OF INFORMATION
THAT YOU NEED WHEN CODING
Under NO CIRCUMSTANCES SHOULD YOU EVER PRESS THE BUTTON “Code Default Values”
See BELOW for the location of that button in the Expert Mode; Coding Screen in ESYS
CODING TUTORIAL NOW BEGINS
Step 1: Connect cable to computer then to car (Ensure that your car’s engine is running during coding)
Step 2: Wait until LAN network adapter in task bar has established limited network capability (no screenshot)
To validate that the cable has a proper connection to the car, open up the LAN properties in Windows. The adapter should
be set to obtain IP Address via DHCP (You can NOT set a STATIC IP Address for LAN Adapter)
If you have a proper connection, your IP Address should be: 169.xxx.xxx.xxx
Remember to DISABLE Anti-Virus and Firewall Programs, which are KNOWN to interfere with ESYS communication via
Ethernet / LAN connection.
Step 3: Open E-Sys
Step 4: Click the Connect button
Step 5: Select F series you are working on, my case F10=F010 Project … then select: Connection via VIN and click “Connect”
DO NOT USE ANY CONNECTION THAT SAYS “_DIRECT” at the end of the description To avoid these, utilize the drop-down box at the top and select Connection Type: “Gateway”
F001 – 7-Series (all, including Alpina variants) & 5-Series GT Models Only
F010 – 5-Series; 6-Series (including ///M variants and Alpina vairants) F020
– 2, 3, 4 Series (all) (including ///M variants and Alpina variants)
F025 – X3, X4, X5, X6 (all) (including ///M variants)
F056 – X1, 2014+ Mini Cooper
I001 – i3, i8 (all variants)
S15A – 7-Series (G11/G12) & 5-Series (G30/G31)
S15C – 5 Series Long Wheelbase (G38)
Step 6: Click “OK”
Step 7: Click “Read”
Note: Option to save or not to save
Step 8: Right click FA, select “Activate FA”
Activating FA, just wait till it finishes. Once finished, FA should show (active) in green. If not, try again.
Note: If you do not activate FA as described in Step 8, you will receive this message
Step 9: Click "Read (ECU)"
Step 10: Select CAFD (only one with a green Check mark) file under the module you want to read and
select “Read Coding Data” …. (Note: the ACSM ECU has 3 with green check marks … pick first one)
Step 11: Error Report, Click “Close”
You want to see that CAFD_xxxxxxxx_xxx_xxx_xxx.ncd was generated as shown below:
Step 12: New option under CADF, a folder. Expand the folder by clicking + and right click that file, Select “EDIT FDL”
Step 13: Browse the folders till you find your option, I want option KOMFORTSCHLIESSUNG_FB
Step 14: Factory option set to nicht_active. Right click, select “Edit”
Step 15: Select option desired, in this case, select “aktiv”
Step 16: Once all changes have been made, Click the “Save” icon
Step 17: Once saved, click the green back arrow
Step 18: Select the CAFD file that you just edited and then click “CODE FDL”
Step 19: Coding FDL (progress)
Step 20: After it completes, Click “Close”
Step 21: Error report will open, view and click “Close” (or save if necessary)
Cycle key and test for function. In my case, “0 errors” so it should work. I tested the new function and
windows rolled up via remote by pressing and holding the lock button.
eg
How to: Change Werte Values
Continuing from FDL CODING GUIDE above (after step 13)
Step 14b: This time right click on the werte value, Click "Edit"
"" E-Sys 3.18.4- CAFO_OOOOOOF9_006_003_01J.ncd [Q)L8) File Options Extras -ielp
FA Editor
TAL-Edtor
SYT-Editor
SWESEQ-Edtor
FSC·Editor
File Name: lc:\ESysData\CAF\CAFD_OOOOOOF9_006_003_013.ned 10 Filter
Search for: cl s:oc• c•:::d. : _jl 0Storage Info DDefault Values 0Parameter
lth:OJ A4A
ffi··t:J GUIDING_TIMING_KM
ltJ·· GUIDING_TIMING_MLS
ltJ CDMMYERSONALRADIO
ltJ COMINGSTREET_KOMBI_HUD
ltJ ROTATION_WERTE_EINHEITEN
ltJ HUD_TURNS GNAL
GJ..CJ SERVICE_HISTORY
GJ..CJ SECONDARY_HFP
GJ..CJ BASIS_KOMBI_MMI_LIST
GJ..EJ DOORLOCKING AFTER DRIVING
$··-tJ SPEEDLOCK_x_i<MH_MrN
Kommentar=Sppedvalue to deactivate Speedlock (if speed falls below this value)
8-·Ausgelesen
: !·····nicht ak-tiv ; ; llto ltJ E'.J SPEEDL Edit
FOC-Edtor
CAF·VIewer
LoVgI·ewer
itJ E'.J TYPE_OF_FUEL X Delete OO LJ WELCOME_LIGHT
OO LJ BMAP_JUNCTION Expand (Depth 2) OO LJ JUNCTION_VIEW
ciJ aHUD ROTATION Expand
cil eJ M DIG!TAL_TAO- Collapse
cil eJ EXT MUSIC_MAN l;GEMEN
ltJ·.·EJ MDRiVE_CONFIG
ffi·E· :J M_DIGITAL_TACHO
ffi··t:J SPRECHERWAHLl
ffi·· SPRECHERWAHL2
ltJ SPRECHERWAHL3
Values from ECU
&t
01
E
E
15b: The option to change the value is in the lower window. Replace current value with new, Click the button on the right.
'i" E-Sys 3.18.4- CAFD_OOOOOOF9_006_003_013.ncd lJ[g]L8) File Options Extras Help
[ Comfort Mode ::::J II Expert Mode II
FileName:
Llc:\E=SysDatCAF\CAFDOO-:O.O.:OOF90-0-60=03=13n.=cd------------------------------------------------------------------------------
c=J Filter
I! Editors & Viewers Jl
IP.. ""-£ditor
TAL-Editor SYT-
Editor SWESEQ-
Editor FSC-
Editor
FDL-Editor
CAF--
Log--
Search for: lc'o:::: ..:•d:: _jl DStorage Info 0Default Values DParameter
E;HI A4A
IB·· l GUIDIN:;_TIMING_KM IB·e· .J GUIDIN:;_TIMING_MLS
fiH!:1CDMM_::>ERSONALRADIO
tiJ..C) COMINGSTREET_KOMBl_HUD
liJ..CJ ROTATJON WERlE EINHEITEN
liJ..eJ HUD TURNSIGNAL
liJ..EJ SERVic:_HISTORY
lti·E· J SECONDARY_HFP
ltJ..eBASIS_I::OMBI_MMI_LIST
ltJ·e· :J DOORLOCKING_AFTER_DRIVING
S- SPEEDLXK_X_KMH_MIN
;.... Kornmentar=Sppedvalue to deactivate Speedlock (if speed falls below this value)
8·· Ausgelesen
f··.·. nicht_aktiv
. B!IIili) liJ..E::J SPEEDDCK_X_KMH_MAX
ril e:J TYPE_CF_FUEL
w..E::J WELC0'1E_LIGHT
w..E::J BMAP UNCTION IJIEW
ill-· JUNC-fDN_IJIEW=HUD
ril--eHUD_ROTATION
It!·· M_DIGHAL_TACHO_EINH
ltJ·· EXT_MUSIC_MANAGEMENT
ltJ·e· J MDRIVE_CONFIG
ltJ·· M_DIGHAL_TACHO
ltJ.. SPRECHERWAHll
S l!OJ SPRECHERWAHL2
S CI SPRECHERWAHL3
Data Handling
ExternalApplications
Personal view
Values from ECU
Apply changes Ctri-Enter
Step 16b: Save
'i" E-Sys 3.18.4 - CAFO_OOOOOOF9_006_003_013.ncd I'J[g)L8) File Options Extras Help
Comfort Mode
Expert Mode
sName: LIC:\E_Sys_D_a_taC\_AF\C_A_FDO_OO_O_OO_F90_-0-600_31_3.nc_d ... 10 Filter
Search for: LIsp_e_ed .JI DStorage Info DCefault Values DParameter
TAL-Edtor SYT-
Edtor
SWESEQ-Editor
FSC-Editor
FDL-Editor
CAF-Yiewer
Loo--
Data Handling
ExternalApplications
Personal v ew
$··0••• lti·E· J ::lUIDING_TIMING_KM
ltJ..e ::lUIDING_TIMING_MLS
s-E'l :oMM_PERSONALRAoro
S·e:J :OMINGSTREET_KOMBI_HUD
S e:J <OTATION_WERTE_ENIHEITEN
S e:J ,UD_TURNSIGNAL
tiJ e:J 5ERVICE_HSITORY
ril e:J 5ECONDARY_HFP
liJ..E::J 3ASIS_KOMB_IMM _LIST
liJ..E::J JOORLOCKING_AFTER_DRIV NG
$··.0 5PEEDLOCK_X_KMH_MIN
Kommentar=Sppedvalue to deactivate Speedlock (if speed falls below this value;
8·- Ausgelesen
!·····nicht_aktiv
• ·····-Bllliill ffi·· 5PEEDLOCK X KMH MAX
S E'l TYPE_OF_FUEL
tiJ E'J NELCOME_LIGHT
ril!!:J 3MAP_JUNCTION_VEIW
liJ.. JUNCTION_IJEIW_HUD liJ.. -lUD_ROTATION
liJ..E!J " l_D GITAL_TACHO_ENIH
lil···E:I ::xr MUSIC MANAGEMENT
lil·E· :I '1DR vE coNFrG
liJ..EJ "l_D GrfAL_TACHO
lti·E· J 5PRECHERWAHL1
ltJ..e5PRECHERWAHL2
ltJ·E· ::J 5PRECHERWAHL3
Values from ECU
FF
I Step 17b: Proceed to Step 18 in the FDL Coding Guide above and follow to the end.
1
How to change FA (VO) in F-series car Version 8-24-2013
Connect to the car by clicking icon at the top.
Select the correct TargetSelector, e.g. F010 (not F010_DIRECT) for an F10 Select “Connection via VIN" and press the “Connect” button. (Ignore the Vehicle-Specific parameter options.) Click OK in the popup box which appear when connection established.
2
Step 1 – Open ESYS, Make proper connection and open Expert Mode; Coding Tab In this example, we will remove Dazzle DeCoding and ReCode the ECUs to enable Dazzle LEDs
Step 2 – Read Vehicle Order (FA), then save the file to your desktop, as we will make changes and then write those changes to the vehicle, so that they are permanent.
Step 3 – Expand the FA tree, until you get to SALAPA-‐element.
Step 4 – Right-‐Click on SALAPA-‐element and click the Edit option.
Step 5 – Make your desired changes in the box below the FA-‐tree and then click the apply changes button.
Step 6 – Go back to the FA-‐tree, right-‐click on FA, then select calculate FP
Step 7 – Press the diskette button at the top of the screen to save your changes to the file on your desktop.
Step 8 – Under Expert Coding, select VCM … Then in the bottom section, press the … button and locate the file you saved earlier on your desktop
Step 9 – Once the file is loaded, Under the Vehicle Order section, right-‐click FA and select calculate FP
Step 10 – Once FP is calculated … press the master tab at the bottom of the screen, and select the Write FA & FP button … look at the very bottom of the screen for confirmation of FA & FP written
Step 11 – Return to Expert Mode; Coding … then press Read ECU under the SVT section
Step 12 – Find the applicable ECU(s) that need to be VO_Coded, and right-‐click on that ECU (as shown below) and click “Code”
Repeat Step 12 for any remaining ECUs that need to be VO_Coded The most popular VO_Coding changes require coding to the following ECUs Dazzle LEDs: FEM_BODY & KAFAS2 …. Or FEM_BODY & FLA3 Satellite Radio / Enhanced Bluetooth: HU_NBT … or HU_ENTRY & CMB_MEDIA