BMW F Series ISTA failed to connect to ENET Cable Solution

I have a F25 X3 to which I am trying to connect it to ISTA for diagnostics. The ENET cable I know works because it connects to E-SYS just fine for coding.
The ISTA program i have works fine as I use it when connecting to my E90 via a K+DCAN cable.
So I have changed the setting to ENET as shown here;
So ISTA does actually find my car as it shows the VIN, etc
But then it struggles to identify the vehicle.
What am i doing wrong? Any ideas for a fix?

Your edibas.ini is messed up. Try this one:

FLY: There are 2 ways to connect ISTA to ENET cable.
There is 2 option.
1-HO-ICOM/ENET direct connection. You can check connection via ZGW search-You will see IP, VIN, etc-then Your network adapter is setup correctly and connection is fine
I use it for enet
the last ENET connection
HO-ICOM/ENET direct connection
then you choose ENET and you have a connection
without the intermediation of EDIABAS.

2-Ediabas Standard Settings, EDIABAS.ini must setup for using with ENET
You must use “Ediabas Standard Settings” with BMW Enet cable and use Ediabasconfigurator to connect to Enet.
With Ediabas Configurator 2.0 is very easy to create a EDIABAS.INI no matter STD: OBD or ENET.



How to Resolve BMW ICOM ISTA/D license expired Error

Many BMW ICOM users will no doubt have encountered a situation where they have had Rheingold ISTA/D running successfully on their computers, only to later encounter the situation where they can no longer access the software and get a license expired message. The majority of suggestions to resolve this situation found on the internet suggest that users adjust the bios setting of their machines to a date before the original license expiry date but as the result of an enquiry from another user, I decided to post my resolution of this problem (which has been tested and found to work on machines running both Windows 10 and XP Operating systems):-

1. Run Regedit
3. left click SOFTWARE
4. left click BMWGROUP
5. left click ISPI
6. left click Rheingold
7. on the right hand panel of the screen, left click Licence and choose Modify
8. Be careful to modify only the entries on this line as described...use the left arrow key to scroll along the line to a date format entry, which is followed by the words Package Expire and change the date to 2072-09-20

9. After you have changed the package expiration date, continue to use the left arrow key to scroll further back along the line until you find another date format entry, which is followed by the word Expiration (this date will be identical to the original entry that you altered during the last step) - change this date to 2072-09-20

10.When you have completed the above changes, collapse the registry editor back to show only the HKEY menus, then close the registry editor and restart your computer.

11. CONGRATULATIONS, your Rheingold licence is now current until 2072-09-20. Note when editing the expiration date for ISTA, you should maintain the original date format (usually YYYY MM DD) - as some packages use an underscore and some use a hypenated seperator for date entry values.

If you can't find it at that registry entry, try here-


How to set up EDIABAS using ENET Ethernet connection?

Here's the instructions for operating BMW EDIABAS software applications under use the ENET cable Ethernet connection.

Version 1.01
Connection EDIABAS and ZGW:
Hardware requirements:
- EthernetCard (RT45)
- ZGW (Central Gateway)
- Patch cable (standard network cable with 1: 1 connection)
ZGW controls the "Autosense" function, i.e., CROSSOVER_cable is possible, but not
(Minimum cable requirement: technical spec. Of a CAT5 cable must be fulfilled)

Free download BMW INPA F xx & EDIABAS

Please note :
Settings in Ediabas.ini:
Interface = ENET /(also Proxy: ENET is possible // / under no circumstances: = STD:ENET)
;XETHERNET Configuration
RemoteHost = Autodetect->> For a direct connection (option 1)
RemoteHost = <IP-Adresse des ZGW>->>When connecting to a DHCP server (option 2)
DiagnosticPort = 6801
ControlPort = 6811
TimeoutConnect = 20000
TesterAddress = F4,F5
HeaderFormat = 0

Option 1: direct connection to the PC
The ZGW is connected directly to the computer (no DHCP server).
No IP address may be assigned to the computer (obtain IP address automatically).
"RemoteHost = Autodetect" in Ediabas.ini (see above)
After a short time, XP reports limited connectivity on the network port.
This message can be ignored.
Communication with the ZGW is now possible via EDIABAS.

With the tool "ZGW_SEARCH.exe" (can be found under "EDIABAS \ Hardware \ ENET") it is possible the current network parameters of the CGU (see also (*) under option 2).

Option 2: Connection via a DHCP router
The ZGW and the PC must be in the same number range.
With the tool ZGW_SEARCH.exe the current IP address of the ZGW can be determined.
EDIABAS must be closed.
Activate ZGW_SEARCH.exe u. Press "refresh": it should be followed by the info window with the
IP address filled, appear.

If the recognition does not succeed, it helps to connect the ZGW directly to the computer (as under
Option 1 described) and let the detection run.

Then connect the ZGW back to the network (ZGW_SEARCH is still active / do not quit!) And
press the button <refresh> again.

The current IP address will now be displayed.

In the Ediabas.ini the current IP address must be entered (can be, in case of longer separation
from the network, change).

Communication with the ZGW is now possible via EDIABAS.

(*) "Tool ZGW_SEARCH.exe" can be found under "EDIABAS \ Hardware \ ENET".
To work properly with the ZGW_SEARCH.exe tool, it is necessary to have a
"MSWINSCK.OCX" file installed on the same LW in the same folder as ZGW_SEARCH.exe

Network Connection Details:
• Mac address (physical addr .: 00-16-35-A3-E3-AF), explanation
• IP address, for example:, explanation, Ω
• subnet mask, for example:, explanation
• Default gateway, for example:, Explanation, Ω
• DNS server, for example:, explanation
• host name, for example: WMUC247843, explanation, Ω
• DHCP server for example: ..., explanation

Ω: Addresses / names must be unique

Checking network connections:
Go to Control Panel-> network connections

Network Connections

The LAN connection appears, right-click on LAN_connection - Actions window
then click Properties - the following window "Properties of LAN connection" opens.

1) Internet Protocol (TCP / IP) must be checked and be selected

2) Press the button:
Properties of Internet Protocol (TCP / IP)
Opens (see below)
IP address automatic Respectively:
Must be selected
Auto-assigned, private IP address:
Must be selected

Furthermore, a connection test can be carried out by means of "An-Pingen":
1) Open DOS window: go to "START" >> "click on execute" >> enter "cmd" >> OK.
2) DOS_ window is open:
3) Behind C: \ Documents and Settings \ Q ......> ping and IP address or host name of the ZGW
enter - confirm with "Return".

The positive connection test looks like shown above.

This is just proof that there is a physical / electrical connection.
Of crucial importance are and remain, starting at the beginning of the document,
illustrated setting / connection parameters.

Known handling error messages:
Error 1: Required dll file "MSWINSCK.OCX" is missing.

The "MSWINSCK.OCX" must be in the same folder as "ZGW_SEARCH".

Error Fehler 2: Net-0012: NO CONNECTION

Here is to check whether the ZGW is really connected to the Ethernet (via DHCP server), whether it
is turned on or it is the required entries i. d. EDIABAS.ini (see above) again to check / correct.


Related article:
Download and Set up INPA for BMW F series coding


ISTA-D 4.09 ISTA-P 3.63: Free Version or Tested Version

This is ISTA-D 4.09 ISTA-P 3.63 download. One is a FREE link sourced from mhhauto forum and the other is a Tested version from http://www.obdii365.com/. Here, you can use BMW ICOM software for free and with security. Hope it’s helpful.

Part 1: ISTA-D 4.09 ISTA-P 3.63 FREE version


zero usd to get all


ISTA-D v4.09.13

Basic info:

ISTA-D and ISTA-P along with a new updated version of INPA.

INPA [Latest version]
EDIABAS [Latest version]
NCS Expert [Latest version]
WinKFP [Latest version]
Toolset32 [Latest version

Free download links:

NOTE : ISTA-D REQUIRES 50Gb free Harddrive Space and ISTA-P 200Gb.

The files are hosted on superfast Google servers

ISTA-D BMW Diagnostics (15Gb Download) For Diagnostics


ISTA-P BMW Diagnostics (80Gb Download) Optional For Programming


BMW ISTA BOOT DVD (this contains download links to ISTA/P, ITSA/D along with full installation instructions)


You can download the BMW Reference ISOs on the links below.







PASSWORD FOR FILE IS mhhautonosferatu

Part 2: ISTA-D 4.09 ISTA-P 3.63 Tested version


Tested 100% by real professionals that you can use it with relief


ISTA-D 4.09.13


VIN: 2017.11.01

9000 remaining days

Basic sw info:

ISTA-D 4.09.13

BMW ETK: 2018.03
BMW KSD: 03.2018 Multilanguage
BMW FSC Navigation Code Generator
BMWAiCoder for BMW Coding
With free BMW Engineer Software (INPA, NCS, WinKFP, E-Sys 4.09.13 e-sysplus 4.09.13, tool32 61.5, BMW FSC code generator, newly added Dr.gini B020 diagnostic software, BMW AiCoder.
Dr.gini B020 diagnostic software requires Ediabas properly installed and functional with a communication interface ( ICOM, ICOM Next, ENET, PASSTHRU or K+DCAN ),
the BMW manufactured before 2003 are not supported.

Download link:


You are advised to use a laptop with a dual-core processor, better above I3; over 4G of memory
Laptops can be Lenovo ThinkPad: T61, T400, T410, T420, T430, X61, X200, X201, X220 X230 and other laptop with Intel chipset, such as I3 I5 / I7 series.

ISTA-D 4.09 ISTA-P 3.63 working like a charm 

Both ICOM Next and ICOM A2 work good with it.

Edit to update: 05.2018 BMW ICOM software

Newest version: ISTA-D 4.10.20 ISTA-P


Source: http://www.obdii365.com/wholesale/2018-05-bmw-icom-software.html

100% tested and confirmed to work perfect!

Tech support from http://www.obdii365.com/


BMW E90 New Battery Coding & Register FAQ and Guide

Check information below to read if you’d like to know why coding/register BMW ss important and how you can get it done yourself!

Credit to bNks334 from bmw e90post forum. You are at your risk. 

Q: I have an older E90, does this apply to me?
A: This guide only applies to vehicles equipped with IBS (intelligent battery sensor). Registration and coding will not be successful on older vehicles that are equipped with basic power management systems.

Q: I replaced my battery and it works just fine, why all the fuss?
A: Disregarding the need to register and code for a new battery may result in improper charging. Over time, improper charging may have detrimental effects on the lifespan of your cars battery and the operation of the vehicles electronics.

Q: Why do I need to register a new battery?
A: The short answer is that BMW designed the charging system with an algorithm that varies the rate of charge by the age and type of the battery installed. Registering a new battery resets the algorithm back to optimal charging voltage for the specified battery.

Q: Why do I need to "code" for a new battery?
A: The answer to this varies. You may not have to! That is, so long as you replace your old battery with an exact replacement. However, if you switch from a wet-cell type battery to an AGM type battery, or vice versa, you must code for the change.

AGM and wet-cell batteries require a different rate of charge output from the alternator. Moving between these two types without coding can lead to over-charging or under-charging.
Also, batteries have a discharge rating called amp hours (ah). You must specify to the DME what the “ah” rating of your battery is so the car can run the proper charging algorithm.

Q: I bought a lightweight battery, but the “ah” rating for my new battery is less than the lowest setting available in the CAS/NFRM module. Is this ok?
A: While not ideal, you can certainly use your new battery. Code your car for the setting that best matches your new battery. Most important is ensuring you’ve changed the settings from wet-cell to AGM type, if necessary. Consequently, you may negatively impact the life expectancy of the new battery by coding say an 80ah AGM charging map when your lightweight battery has a discharge capacity of only 18ah…

Personally, I am running a Deka/East Penn Sports Power ETX-30L Battery ($103.99). I used XS Power 586 Tall Brass Post Adaptors (M6 Thread). The Deka ETX-30L is rated 400CCA @ 28.6Ah(20HR) and is a 21lb AGM type battery. EDIT: I now run a PC925. Both these batteries crank the car strong, but I would not recommend ever using anything weaker!

My 2011 E82 did not have a charging map listed in the CAS module for anything less than 80ah AGM. Therefore, this is what I chose when I coded my car (initially). There are people that have reported seeing options in the CAS module for as low as 40ah AGM. I believe updating to a newer CAS ZB software may provide more options. Or, maybe the additional options are only available in the CAS module for higher end models like 335is E92’s? I can only speculate as to why some people have more settings available than others.

I ended up using Carly to code my battery again. Even though the lowest setting I found in the CAS module was 80ah AGM, Carly provided a 36ah AGM option. After using Carly to code my new battery, INPA does indeed confirm (see appendix D) the charging system is using a 36ah AGM charging map, or at least INPA recognizes that’s what Carly set it to

Q: What cable do I need to connect to use BMWtools on my laptop/device?
A: I use a generic OBDII to USB (K+DCAN) cable I got off amazon, and it works fine:

Q: Can I use Bluetooth?
A: I bought a generic ELM327 OBDII to Bluetooth adapter for use with apps like Carly, Torque, Trackaddict, and Harry’s lap time to name a few, and it works fine:

Q: I installed a battery with exact replacement specs (e.g. 80ah wet cell with 80ah wet cell). How can I register my new battery?
A: There are several methods that can be used to register a new battery. See options 1, 2, and 3 below:

 I installed a battery of a different type and/or capacity (e.g. 80ah wet-cell with a 90ah wet-cell, or, 90ah wet-cell with a 40ah AGM). How can I code for the changes I made to the battery?
A: There are several methods that can be used to code for battery changes. See options 1, 2, 4, and 5, below:

Option 1:


Carly is an Android/iOS app that can be used to painlessly register and code a new battery. Just purchase the app, and the in-app purchase for the battery module, and it walks you through the process.

1) Download the Carly app on your device ($44.99 + $9.99 for battery module):
2) Verify your OBDII to USB cable is working properly or that your OBDII to Bluetooth adapter is properly paired to your device and communicating with Carly.
3) Purchase the in-app battery module. From here, Carly walks you through the steps of both registering the battery and coding for any changes. It’s that simple.

Option 2:

Use Rheingold (ISTA-D) to REGISTER and/or CODE a new battery. The virtual machine, mentioned above, comes pre-loaded with this dealer level software. An ICOM emulator is all setup for you to use this program with the aforementioned K+DCAN cable.
  • Rheingold is an amazing tool. It will automatically diagnose issues with your vehicle and provide a corrective action plan to fix them. It will even tell you the steps you need to take to re-program things with a separate program called ISTA-P.


1) Turn ignition to the “on” position. INPA can be used to verify the car is communicating properly. INPA shows when the ignition is in the on/off position.
2) Load Rheingold
3) Click the “Identification” tab
4) Click “Read out” tab and then “start” in the bottom right (takes a long time to gather cars info)
5) Once vehicle info has loaded (verify your vin is accurately displaying) click the “Vehicle management” tab
6) Navigate to: Service function>body>voltage supply>battery>register and then click “start search”
7) Select result “ABL register battery replacement ”
8) Rheingold then walks you through your options! You can simply register a new like-for-like battery, or you can change the battery capacity. Rheingold will prompt you to perform coding using ISTA-P!

Option 3:


Use Ediabas Toolset32, a software packaged with the BMWtools suite, to REGISTER a new battery

1) Run Tool32.exe
2) Navigate: File>Load SGB>C:/EDIABAS/ECU/[choose the appropriate .prg file for your DME – see appendix A]
3) Look up steuern_batterietausch_registri (near bottom of job list)
4) Go to Jobs menu
5) Select Run Job (German: Job Einmal Ausfuhren [run job once])
6) Verify operation reports “Okay”

Option 4:


This method is a bit incomplete in regard to coding. It uses NCSexpert to edit the settings in the CAS and NFRM modules. Essentially, you are manually changing the settings in the CAS/NFRM module to reflect the new battery.

*****While this method seems like a straightforward way to code for battery changes, it fails to address the issue of vehicle order (VO). This could have implications for future coding and ZB updates. See option 5.

*****After completing this coding, you must still perform "Option 3" to register the new battery using Tool32. Or, you can use ISTA-D to do the registering, but then you might as well also use ISTA to do the programming at that point...


1) Load NCSExper.exe
2) Select a profile that has manipulation enabled: File>load profile> “CNCcoding”
3) Select: F1>F3>select your chassis>select “CAS
4) Press F6 for back
5) Press F4 to select a specific module “Process ecu” then you get a list of all modules available for your car
6) Select “CAS” then select “READ ECU” this is going to read all the values from the specific module and create an FSW_PSW.TRC file with the values
8) Leave NCSExper.exe open and navigate to the “work” folder ([X]:\NCSEXPER_64\WORK)

The FSW_PSW.TRC file we generated when we “read” the CAS module is where we are going to change the battery settings. After making our changes, we will then change the file extension to the file type NCS uses to write to the selected module (.MAN).

At this point, you can also use a program called NCSDummy to make things easier. You can use NCSDummy to import the .TRC file. NCSDummy will provide translations and descriptions for all the settings in the CAS module. I will not cover the details on how to use NCSDummy, it is very easy if you search. The following steps continue with how you can just simply edit the .TRC file in notepad to achieve our goal of coding a new battery:

9) Open the generated FSW_PSW.TRC file with notepad
10) Select: File>save as>FSW_PSW.MAN (be sure to select “save as type” to all files so that it will accept the “.MAN” extension. If you fail to do so it will just save it as a text file .TXT)
11) Search for the option “KLASSE_BATTERIE” and change the value from its current setting to a setting that most closely matches the rating of your new battery (e.g. “90ah” to “70ah” or if using an AGM battery “70ah_agm”) (see Appendix E)
12) Select: File >Save
13) Back to NCS now hit F5 for basic functions
14) Select “coapiReadSgGetFswPsw” and then “ok.” You are basically telling NCS to read all the values from your .MAN file. You will see a screen… just press ok. Then press ok again.

Ok now take a look where it says “JOBNAME = CODIERDATEN_LESEN” We need to change that to a coding function because we want to write the changes to the module, not READ as we did earlier.

15) Select F2 “job”
16) Select SG_CODIEREN and press ok 
17) Then press F3 to execute the job. After a pause you will see the “coding ended” message!

I am not sure if these steps are 100% what you’ll see. It’s been a while since I coded my battery, but I’ll update the steps as needed.

Instead of clicking "Process ECU", you can click "Process car" (F3), and then "Code Car" (F1). This will code every module in the car (might take longer like 5minutes) for the changes you made in the .MAN folder for the CAS module we read. There are changes that may need to be made in NFRM that this will take care of.

The battery rating should now be updated in the system. You can verify the coding was successful by performing the steps outlined in Appendix D.

Option 5:


This is the proper method to manually code for changes to the battery. Your vehicle order (VO) stores all the information regarding the various hardware your car came with from the factory. For example, if your car came with a wet-cell 70ah battery, your VO will read out with attribute -B070 (see Appendix B). Now, lets say you used option 4, above, to manually change the CAS module to reflect a new 70ah AGM battery. Your VO will still reflect the old battery of –B070. You want your VO to be updated to read -A070 (see Appendix B).!

If you go to the dealer, their software (Rheingold/ISTA-D and ISTA-P) will read your VO and recommend diagnostic/programming changes as if you still have that old battery installed. Basically, their software would overwrite the changes you made in option 4 and set all the coding back to the settings that reflect the old battery!

This is also how people lose their DEALER flashed PPK tune. The dealer fails to perform the proper programming portion of the PPK flash and the VO is never updated to reflect the PPK tune is installed on the vehicle. Return visits to the dealer then results in the dealers software to recommends DME updates that overwrite the PPK dme software! If you properly update the VO then only software, and settings, that matches your cars hardware will be recommended!

Changing VO
1. Open NCSEXPER.exe
2. Select: File > Load profile > Select a profile that has manipulation enabled (“CNCoding”) > Click OK
3. Press F1 (VIN/ZCS/FA)
4. Press F3 (CS/FA f. EC) > Select E89 (chassis family for E9x and E8x vehicles) > Click OK > Select CAS > Click OK
5. Press F6 (Back)
6. Press F1 (VIN/ZCS/FA)
7. Press F2 (Enter FA) > Select E89 > Click OK
8. A window labeled “Enter VIN” appears with your vehicles VIN number filled in > Click OK
9. A window labeled Enter FA appears > scroll to find VO for old battery (-B090) > highlight –B090 and press delete on keyboard
10. Enter –A080 (see Appendix B) in the “Attribute” box > Click Add > Click OK
11. Press F6 (Back)
12. Press F4 (Process ECU) > Select CAS > Click OK
13. Press F2 (Change Job) > Select FA Write > Click OK
14. Press F3 (Execute Job)
15. Verify that the write is complete “Job Ended”
16. Press F1 (Change ECU) > Select FRM/NFRM > Click OK
17. Verify lines: get coded, FRM, JOBNAME = FA_Write
18. Press F3 (Execute Job)
19. Verify that the write is complete “Job Ended”
20. Press F6 (Back) > Exit NCSEXPERT

The CAS and NFRM/FRM modules will now always default back to the new attributes you assigned to the VO!

It is important to now use NCSExpert to code the car to the new VO settings. If you properly changed the VO, NCSExpert will automatically write the battery capacity and type settings to the various modules. This is what we did manually in option #4!

2. File > Load profile > Select a profile that has manipulation enabled (“CNCoding”) > Click OK
3. Press F1 (VIN/ZCS/FA)
4. Press F3 (CS/FA f. EC) > Select E89 > Click OK > Select CAS > Click OK
5. Press F6 (Back)
6. Press F3 (Process Car)
7. Press F1 (Code Car)

Appendix A:

MSV70,MSV 70.0 for N52 (NG6),
MSV80,MSV 80.0 for N52KP (NG6),
MSD80,MSD 80.0 for N43 N53 & N54 with EWS4/CAS,
Mevd172KW, Mevd 172 for N55 (Older N55’s up to late 2011 production)
Mevd176k, Mevd 176k for N55 (late 2011 production date or newer)
MSS60,MSS60 for S65 (M3),

Appendix B:

"B" represents wet-cell, while "A" represents AGM in the VO.
E B046 BATT_46AH //46 Ah-Batterie
E B055 BATT_55AH //55 Ah-Batterie
E B070 BATT_70AH //70 Ah-Batterie
E B080 BATT_80AH //80 Ah-Batterie
E B090 BATT_90AH //90 Ah-Batterie
E A070 BATT_AGM_70AH //70 Ah-AGM Batterie
E A080 BATT_AGM_80AH //80 Ah-AGM Batterie
E A090 BATT_AGM_90AH //90 Ah-AGM Batterie

Appendix C:

  • ISTA/D (aka Rheingold) is the current dealership diagnostic software for all Exx and Fxx cars.
    • ISTA/D is the replacement for older dealership "DIS" diagnostic software.
  • ISTA/P is the current dealership programming software for all Exx and Fxx cars.
    • ISTA/P is the replacement for the older dealership programming software “SSS.”
  • ISTA/P & ISTA/D are designed to be used with an ICOM Interface, and with full ICOM-A-B-C, you can connect to older cars. The ICOM "C" Connection is for the older BMW ADS 20-pin round "Pacman" connector in the Engine Bay. You can find versions of ISTA/D with an ICOM Emulator built-in that allows you to use it with an ENET Interface for Fxx cars and a DCAN Interface for Exx cars.
  • INPA (interpreter for test procedures) is an older factory floor diagnostic software, designed to run test procedures. While INPA can be set to an English User Interface, most of the Test Procedures (scripts), which can be difficult to find, are in German.
  • WinKFP is for flashing/reprogramming modules
  • NCSexpert is for coding, it can be used to set up options and enable things
  • Tool32 is like a DOS cmd box for the modules, it's text based and can it's able to ask the ECUs various questions and show the answers (like status, programming data etc)

Appendix D:

Verify changes:

To see the current rate your battery is charging at, open the INPA program>> E90>>ENGINE>>MSD80>> Status(F5)>>PM-IBS>>PM FIELD 2 . Under the PM Field option look at the ah reading registered, to see what it's set at to charge your battery at present. If it's incorrect, you need to re-try the options outlined above. Once you have done this, re-register your battery using the Tool32 program. Then go back into INPA and check the PM Field 2 again to see if the new ah reading has been registered.

Appendix E:

wert_00 value 00
80ah 80 ampere-hours
90ah 90 ampere-hours
110ah 110 ampere-hours
70ah 70 ampere-hours
55ah 55 ampere-hours
46ah 46 ampere-hours
70ah_agm 70 ampere-hours (agm)
90ah_agm 90 ampere-hours (agm)
60ah_agm 60 ampere-hours (agm)
80ah_agm 80 ampere-hours (agm)