How To

How to Clear BMW Fault Codes With E-Sys or Tool32

Coding left a warning in the cluster? Clear every fault code on an F-series BMW with E-Sys or Tool32, plus the 64-bit OCX fix and when not to clear.

Coding often leaves a warning behind. Code the KOMBI and the cluster shows a triangle. Change one module and another one logs a fault because it noticed something changed. If the fault came from your coding and not from a real problem, clearing it is all it takes, and you don't need ISTA for that. E-Sys can do it, and so can Tool32.

Credits Cool

This comes from the F30post thread Is it possible to clear check engine codes with Esys / an ENET cable?, started by azwillnj in 2013. The E-Sys method is shawnsheridan's, the Tool32 steps are HFW003's (who credits shawnsheridan too), the 64-bit fix is navy.doc's and the clock tip is steddyman's. Thanks to all of them.

Method 1: E-Sys Transmitter

If you code with E-Sys, you already have this.

  1. Connect to the car as usual. For an F30 that's the F020 target.
  2. In the left menu, click External Applications, then External Application.
  3. Double-click Transmitter.
  4. Scroll to the bottom and select this line:
14 FF FF FF,31 01 0F 06,31 01 40 00 00,31 01 40 00 05,31 01 40 00 01;Clear all DTCs (clear DTC,clear Infospeicher,ZFS – DM_Lock,clear ZFS – DM_Clear,ZFS – DM_Unlock)
  1. Click Connect, then Send.

Double-clicking the line is touchy, as shawnsheridan put it, so use the two buttons. Some owners open External Application and find the list empty. Their E-Sys came without the Transmitter files. Tool32 does the same job.

Method 2: Tool32

Tool32 is part of EDIABAS, which installs with BMW Standard Tools.

  1. Check that C:\EDIABAS\Bin\EDIABAS.ini has the interface set to ENET. Connect the cable and switch the ignition on.
  2. Start C:\EDIABAS\Bin\TOOL32.EXE. EDIABAS has two versions of Tool32, and only the German one works for this. If it hangs when you load a file, you've opened the English one.
  3. Press F3 and load C:\EDIABAS\Ecu\F01.PRG. F30 owners in the thread used this file, and its FUNKTIONAL jobs talk to every module at once.
  4. In the job list, pick FS_LOESCHEN_FUNKTIONAL to clear the faults. FS_LESEN_FUNKTIONAL only reads them.
  5. Press F5. The results window should show JOB_STATUS = OKAY.

The read job gives you raw numbers, not descriptions. If you want to know what a fault means, that's what ISTA is for.

Tool32 Says an OCX File Is Missing

This happens on 64-bit Windows. navy.doc's fix: copy MSLFXGRD.OCX and Richtx32.ocx from C:\EDIABAS\Bin to C:\Windows\SysWOW64, open Command Prompt as administrator and register both:

regsvr32 C:\Windows\SysWOW64\MSLFXGRD.OCX
regsvr32 C:\Windows\SysWOW64\Richtx32.ocx

When Clearing Isn't the Answer

It comes back. Clear it, restart the car, check again. A fault that returns is a real one. One owner cleared a brake wear sensor warning in E-Sys and it was back at the next start, because the sensor really did need replacing. Diagnose those with ISTA.

It's in a module you didn't touch. That doesn't mean your coding is innocent. Modules depend on each other, and a change in one can set a fault in another.

It won't clear after coding experiments. shawnsheridan's advice to an owner whose KOMBI tests left a warning: VO code the KOMBI with the factory FA to reset it, then clear the faults again.

The triangle after KOMBI coding. VO coding the KOMBI can reset the date and time. Set the clock in iDrive and the warning goes.

The attached one-page PDF has both methods on one sheet. Need the tools set up first? See our coding laptop guide, or I can help remotely.

Files

  • Clear-BMW-Fault-Codes.pdf