Inpa Error 159 May 2026

Troubleshooting INPA Error 159: The “IFH-0009” / Dataset Mismatch

If you’ve been coding or diagnosing a BMW using INPA (the classic BMW diagnostic software), you’ve likely run into the dreaded “Error 159” — or as it looks in the log: “IFH-0009: No response from control unit.”

You’ve plugged in your K+DCAN cable, set the COM port, and double-clicked the battery and ignition symbols (which are lit up green). Everything seems fine—except when you try to select a chassis (E46, E39, E90) or a specific module (DME, ABS, Airbag), the script runs, hangs, and throws:

Error 159: SYS-0012: Identification error

Or on newer INPA versions:

Error 159: Program version incorrect for control unit

Don’t panic. This isn’t a broken cable or a dead ECU. Here’s exactly what Error 159 means and how to fix it. inpa error 159

1. The Diode Fix for K-Line Cars

On E36 and early E39, the K-Line has a pull-up resistor inside the DME that can weaken over time. Solder a 1N4148 diode (anode to pin 7 of OBD connector, cathode to your USB interface's K-line input). This prevents back-voltage from corrupting the job result.

Diagnostics — step-by-step (order is important)

  1. Prepare

    • Battery >= 12.4 V or use a battery maintainer.
    • Ignition ON (engine off) unless testing requires engine running.
  2. Check adapter & PC

    • Verify adapter model supports your BMW (K+DCAN for E46+ with D-CAN; K-Line for older).
    • On Windows, open Device Manager → Ports and confirm COM port number and driver (FTDI recommended). Reinstall FTDI driver if uncertain.
    • If using USB hub, connect adapter directly to PC.
  3. Verify INPA/EDIABAS settings

    • In INPA Config: select the correct interface type (e.g., K+DCAN, USB 1.3) and COM port matching Device Manager.
    • In ediabas.ini and OBD.ini ensure the interface section matches your adapter and COM port.
    • Restart INPA after changes.
  4. Test basic connectivity

    • Use Device Manager -> properties to confirm adapter is recognized.
    • In INPA, try "Read VIN" or main menu; note if the 159 appears immediately or for specific modules.
    • Try alternate diagnostic software (e.g., ISTA/D, Rheingold, or a simple terminal) to isolate INPA vs adapter issue.
  5. Switch adapter modes

    • If adapter has K-line / D-CAN switch, toggle modes and retry.
    • For some BMWs, D-CAN is required (post-2000 models). Wrong mode yields 159.
  6. Check vehicle-side

    • Verify ignition position.
    • Check relevant fuses (on BSI/Body, instrument cluster, OBD power fuse).
    • Inspect OBD port pins for damage; verify CAN high/low voltages (~2.5V idle, or ~3.5/1.5V differential when active).
    • If possible, probe CAN H / CAN L with multimeter/oscilloscope.
  7. Module-specific checks

    • Note which module(s) return 159. If only one module, focus wiring/fuses to that module.
    • Try addressing modules via other busses (some tools can force wake).
  8. Driver/Software alternatives

    • Reinstall/try different EDIABAS/INPA versions compatible with your adapter.
    • Use updated USB-to-COM drivers (FTDI VCP), avoid counterfeit Prolific drivers.
  9. Workarounds & tests

    • Try another known-good adapter/cable to rule out hardware.
    • Use a different laptop or OS image configured for BMW diagnostics.
    • Boot with engine running briefly (if safe) to wake modules.

What Does INPA Error 159 Actually Mean?

Error 159 is a software compatibility error.

In simple terms: The version of the .IPO or .PRG file (the script that talks to your car’s ECU) does not match the firmware version inside your actual BMW control unit.

Think of it like trying to open a 2025 Excel file in Excel 2003. The software sees the device, but the language or data structure is wrong.

Part 1: What Exactly is INPA Error 159?

1. The Infamous K-Line Bus Conflict (Most Common)

BMW’s K-Line is a shared data wire. Many modules (DME, EGS, ABS, Airbag, IKE) all talk on the same green wire (Pin 7 on the OBD2 port). The Problem: If one module is faulty, crashed, or stuck in a "high" state, it holds the K-Line high (12v), preventing any other module from communicating. INPA tries to wake up the DME, but the dead module is screaming over it. Result: Error 159.

3. Common Causes

Before assuming the DME is broken, check these three main causes, ordered from easiest to hardest: Troubleshooting INPA Error 159: The “IFH-0009” / Dataset

3. Incorrect COM Port & Latency Settings (Windows 10/11)

INPA is 1990s software expecting 1990s hardware. Modern USB ports are too fast and too aggressive.