Pages

Saturday 18 October 2014

How to check error codes

This article describes how to read the error codes logged by your cars On-board Diagnostics system (OBD). If you're not sure what these error codes are or why you should read them, please first read this article.
As with all posts on this site, this article is primarily aimed at the BMW 1 series (E87). However, the process is, no doubt, the same for many recent BMW models.

What do I need?

There are various ways of reading error codes. For example, it is possible to purchase a dongle that plugs into the OBD port and allows you to view error logs on a mobile phone. However, we shall describe how to use a diagnostic cable and a laptop computer, as this is the system that we have tested.

You will need:
  1. A K+DCAN to USB cable;
  2. The BMW INPA software;
  3. A laptop computer running Windows XP or Windows 7.
The cable converts the car's D bus to a USB serial port. This allows software installed on your laptop to send commands and receive information from the on-board computer (DME).
In addition to the cable, you need software installed on the laptop that can interrogate the error codes. There are, at least, two applications used by BMW garages for this purpose: INPA and SSS ProgMan.1 INPA is fairly easy to set up, and so is suitable for home use. SSS ProgMan is far more complicated, and in our opinion, the additional complexity of setting it up and using it is not worth it. While it appears that the INPA software is available to download on line, it appears that this is rather complicated in practice. Therefore, it is recommended to purchase a cable that come with the software provided.
This is an example of a suitable cable, Note, we have no affiliation with the seller nor have we tested any other cables for comparison. However, this one does work. It does have two notable drawbacks, however.
  1. The edition of the INPA software that it is supplied with is entirely in German, so you would need either to be able to read German or be comfortable using Google translate and a dictionary;
  2. Despite claiming to be compatible with cars manufactured up to 2010, the version of INPA included is actually a version older than required by a BMW E87 manufactured in 2009. It is sufficient to read the error codes, but it complains about compatibility and will disconnect frequently when monitoring the sensors whilst driving.

Instructions

Figure 1: OBD port
Once you have the cable and a suitable laptop computer, you should proceed as follows.
  1. Push your key into the key port so that the dashboard lights come on; there is no need to actually start the ignition.
  2. Plug one end of your diagnostic cable into the car's OBD port, which is next to the base of the door. It is behind a plastic cover which has the letters "OBD" printed on it; see Fig. 1. 
  3. Plug the other end of the cable into one of your laptop's USB ports. Make sure you remember which USB port you used. Each time you use the cable, you should be sure to plug it into the same USB port.
  4. Wait while Windows installs any drivers it needs. This should happen automatically and might take a few minutes.
INPA is configured, by default, to use the serial port called "COM1". Therefore, we must assign this name to the USD serial port provided by the cable. We use a small netbook, which has no built in serial ports. If your laptop already has a serial port, you may need to rename it so that it doesn't use the name "COM1". To assign the name "COM1" to the cable's USB serial port, procede as follows. Note that you can click on the pictures to enlarge them.
  1. From the computer's menu, select "Control Panel". 

  2. Select "System". 
  3. From the menu on the left-hand side, select "Device Manager" .
  4. In the device manage, double click the USB serial port to open the properties windows. 
  5. Select the "Port Settings" tab and click the button labelled "Advanced...".
  6. In the drop down box, set the COM port number to "COM1". Click "OK" and close all the windows. 
Now that you have configured the serial port, install INPA by following the instructions that came with your copy of the software.

Using INPA

Now that everything has been set up, it's time to see if you can successfully read the error log. The instructions here are for version 5.0.6. Other versions, are probably very similar.
  1. Push the key into the key port so that dashboard lights come on; there is no need to turn the ignition on.
  2. Double click the INPA icon to start the software. If you have successfully made the connection, you should see the battery and ignition lights filled in, as shown below.
  3. Press Shift+F8 to choose the "Engine" option. Then, for an E87 with N43 engine, select "4 Cylinder" and then "MSD80 for N43" to choose the script that you will use to communicate with the DME. "MSD80" should correspond to the version of DME installed in your car. Our test car, in fact, has version MSD812. However, the version of INPA that we have available is too old. Nevertheless, it is sufficient for reading the error codes. If you have a different model, you may need to experiment to find the correct script.
  4. If you are running the script MSD80N43 then you should now see the menu below. Press the F4 key to access the error log ("Fehlerspeicher", in German). 
  5. You should now be at the page shown below. Pressing F1 displays the error log whereas F2 wipes it. Shift + F9 allows you to save the log to a file.
  6. An example (empty) log file is shown below.
Counter-intuitive as it may seem, you should, in fact, wipe the error log from time to time. Of course, you should first save the error log to your computer so that you have a record to refer to in future. This is because one particular error, will only ever be logged three times. After that, each time the error recurs, the last log for that error will be overwritten. Therefore, you will only ever see the first, second and last occurrence. All others will be lost.

If you a monitoring a problem over a period of time, then it is easier to judge how frequently it recurs if you periodically wipe the log. Another reason to clear the log is to see if you have managed to resolve an issue. Often, the on-board computer will not log a second error immediately if it has recently logged the same error. For example, if the catalytic converter is sulfurized, you may see one error and them nothing more for a week, even though the problem hasn't gone away. If you've just taken the car for a good drive in the hope of clearing the problem then clear the log when you get home. That way, the next time you drive the car, an error will be logged immediately if the converter is still sulphurized.

Notes

  1. Another piece of related software is called "NCS Expert". This is used for changing the settings of the car, which is known as "coding". This is more challenging, and is not necessary if you simply wish to read the error codes.

No comments:

Post a Comment