Inpa Error 159 — [2021]

1. Understanding INPA Error Codes:

What Causes Error 159?

Error 159 occurs when INPA sends a request to an ECU (e.g., DME, ABS, Airbag module) and does not receive an expected response within the timeout period. Common root causes include:

  1. Incorrect Interface or Cable Settings

    • Using a non-compatible K+DCAN or ICOM cable.
    • Incorrect COM port settings (must match the cable’s assigned port).
    • Wrong baud rate (should be 9600 for older cars, 500k or 1M for newer CAN-based systems).
  2. Software and Driver Mismatch

    • Missing or outdated FTDI or CH340 drivers.
    • INPA configuration files (EDIBAS.INI, OBD.INI) not pointing to the correct hardware.
    • Running INPA without Administrator privileges (Windows blocks direct hardware access).
  3. Vehicle-Specific Issues

    • The selected ECU is not present or not functional.
    • Ignition is OFF (ECUs require ignition ON for most diagnostics).
    • Battery voltage too low (<12V) causing unstable ECU communication.
  4. Hardware Faults

    • Broken or badly soldered pins in the OBD2 connector.
    • Damaged K-Line or CAN transceiver inside the diagnostic cable.
    • Short circuits on the vehicle’s diagnostic bus.

Step 5: Pinout and Wiring Check (for advanced users)

Step 4: Test Basic Communication

Advanced: Decoding the IFH-0009 Error Log

If you run the "IFHSrv32" tool (located in C:\EDIABAS\BIN), you can see raw error logs. A typical error 159 log looks like this: [IFH-0009] Timeout error on K-Line (no response from ECU)

But if you see: [IFH-0010] ... – That means a short circuit on the K-Line. [IFH-0003] ... – That means incorrect baud rate (9600 vs 115200). Go back to latency settings. inpa error 159


How to Fix INPA Error 159 (Step by Step)

Frequently Asked Questions

Q: Does INPA Error 159 mean my DME (ECU) is dead? A: Rarely. 95% of the time it is a cable or driver issue. Only consider a dead DME if you have tried three different cables and two different laptops, and you have confirmed 12v on Pin 16 and continuity on Pin 7.

Q: Can I use a USB-to-Serial adapter to fix this? A: Yes, if you have an old physical serial port laptop. Native COM ports rarely throw error 159. If you must use a USB adapter, buy a StarTech ICUSB232PRO (FTDI chip).

Q: Why does INPA work for the airbag but not the engine (error 159)? A: The engine (DME) is on a different diagnostic address ($33). The airbag is on $58. If the DME is asleep or the K-Line signal quality is poor, the DME will time out but the airbag module—which is less sensitive—will respond. This still indicates a weak signal issue (latency or cable bridge). INPA (BMW Diagnostic Software) uses a variety of

Q: I set latency to 1ms, but Windows resets it to 16ms. Why? A: Some counterfeit chips ignore latency settings. You need to use the FTDI Prog tool to write the latency value directly to the EEPROM of the cable. Or buy a better cable.


Step 7: Replace the K+DCAN Firmware (Last Resort)

Some cheap Chinese interfaces come with faulty firmware for the PIC microcontroller. You can re-flash them using MProg (for FTDI-based cables). Download the BMW Standard Tools compatibility firmware (version 1.5 or 1.6). After re-flashing, the interface will correctly handle job termination acknowledgments, eliminating Error 159.