INPA connection problems explained in layman’s terms

INPA is a great tool for bimmer enthusiast for diagnosing E-series. Thus information is scattered around internet, it can be pretty difficult to understand which version and cable works in which series of a car. Let’s bust the myth, and explain this in layman’s terms.

EDIABAS: The server program needed to establish a connection in between your car and INPA. ISTA+ can utilize EDIABIAS too for E-series, namely E9x.

INPA: Factory level diagnosis tool developed by Bayerische Motoren Werke for E-series bimmers. INPA needs EDIABAS and appropriate cable to work.

ADS Cable: Early data transfer protocol for EDIABAS. Specific rounded ADS cable is needed for late 1980’s cars up to 1995, typically for cars with M50 or M60 engines. One example is a cable called TinyADS.

K-line or KCAN: Data transfer protocol for early OBD1 and OBD2 compliant cars, like late E36, E38 and E46. A modern K/DCAN cable is compatible with both data transfer protocols. Use rounded adapter to connect K/DCAN cable to OBD1 diagnostic plug, like found on E36. E38 model year 1999 has well-hidden OBD2 compliant port in a dash, in front of a gear lever.

DCAN: Faster data transfer protocol for late OBD2 compliant E-series cars, like E9x. Note: DCAN configured INPA (Remember, it is EDIABAS which creates the connection) cannot establish a connection to KCAN compatible car, like E38. The solution is described below.

Common problems and solutions:

  1. You need more tricks than just tapping a switch in a cable in between K and DCAN. You must configure K or D can protocol accordingly for EDIABAS by using a program called D-CAN.exe
  2. C:\Windows\Obd.ini: Com1 port must be set correctly.
  3. C:\EDIABAS\EDIABAS.ini: Interface must be set either INTERFACE =ADS or INTERFACE =STD:OBD
  4. Although Windows may find FTDI drivers for a K/DCAN cable, the version Windows is installing may not be compatible with EDIABAS. Install other FTDI drivers, e.g. these from
  5. INPA version may be faulty, try a different version.
  6. You bought a faulty cable. E.g. I was wasting a week for configuring INPA for a faulty cable. Very frustrating.

If ADS is not working:

  1. You do not have an ADS compliant cable. The most probable reason is that someone sold you a dummy cable without the circuit inside the rounded end, which is needed for establishing a connection.
  2. ADSsetup must be run from EDIABAS/Hardware/ADS/ADS32 folder. If you do not have this folder, you may have the latest version of INPA/EDIABAS which is not compatible with ADS protocol. Install earlier version of INPA and EDIABAS, containing support for ADS data protocol in the corresponding folder.
  3. IRQ address in COM1 port may be wrong on your laptop. Change IRQ address to 4.
  4. Hardware address in COM1 port may be wrong on your laptop. Change HW address manually to 03F8.
  5. If you cannot change the IRQ address, turn of all unnecessary devices on your laptop, and try again.
  6. If you cannot change the HW address, use program called adsport.exe in order to manipulate EDIABAS configuration file called ads32.dll, and setup HW address according to your laptop.
  7. Enjoy!
Diagnostics information from DME 3.3 module through ADS cable. Tank ventilation error is a typical for engine swaps, thus E30 does not have any sensors for it.

Analyzing the livedata from you bimmer with testo.exe

My friend called me yesterday. His bimmer started displaying the infamous Check Engine Light. The car in question was an E38 with magnificent M62 engine. The program I found very useful for logging livedata is called testo.exe. This program lets you to both display and save livedata to your laptop. Very handy DIY diagnostics tool, indeed. In order to install, you shall have sufficient computer skills, this is not a standalone program! Testo.exe requires a server program called EDIABAS for establishing a connection in between your laptop and OBD port. You need also OBD I and II compliant K+DCAN cable for your bimmer. Download: 

Edit: there is also a standalone version, which does not need EDIABAS:
Edit EdiabasLib.config file to change the appropriate COM port.

Testo.exe providing livedata from M62 engine