BMW E31, E32 AND E38 DIAGNOSTICS
Diagnostics on the 7 and 8 series is absolutely indispensable
if you have a fault. It gives you a starting point and some idea where the
problem is. There are a number of tools, interfaces, software, leads etc.....but
what do you really need?
WHAT DO YOU NEED FOR OBD DIAGNOSTICS
A Scanner
The simplest way to connect to the OBD is via a scanner (Peak Tools et al),
these can provide the ability to find the basic fault codes from an engine.
These codes are then compared against a list of common codes to locate where the
engine fault is.
CARSOFT
Carsoft is a piece of software that takes the diagnostic capabilities a bit
further. For this you need:
A PC OR LAPTOP
You will need ONE RS232 port, some USB to Serial converters allow use on a
Laptop devoid of one
INTERFACE BOX
This converts the RS232 data to the correct voltage levels for the diagnostic
connector. These can be bought from Ebay, usually around £80
DIAGNOSTIC PLUG
This usually comes as part of the Interface Box package. You usually get the
large round BMW diagnostic plug and the standard OBD-II connector.
RS232 LEAD
Again, usually supplied with the Interface Box and is a 9-pin D-type plug
connected to a 9-pin D-type socket via a multi-way lead
Carsoft automatically translates fault-codes into fault messages that expands on
what the fault actually is.
WHAT IS OBD (ON-BOARD DIAGNOSTICS)
OBD was initially designed so that car manufacturers could diagnose problems
with the fuel-injection system on engines, not just BMW but quite a few other
manufacturers. No-one could agree what sort of communication protocol was used
but pretty quickly a simple RS-232-based interface was agreed upon.
On the early straight-6 E32's a basic diagnostic capability was realised, a bit
more sophisticated on the 750i and a lot more detailed on the V8 models. The V8
diagnostics could tell you which cylinder was not firing along with dwell-angles
and other data.
In 1987 the California Air Resources Board (CARB) required that all cars built
after 1988 must have basic OBD capabilities so that they could enforce the act.
Unfortunately, they didn't specify any details so that a standardised interface
could be agreed upon.
It wasn't until 1996 that the new OBD-II interface was decided upon. The OBD-II
regulations also decided what sort of connector would be used and details of the
interface. This is why USA E38's all have the new connector in the centre
console, it is so that your emissions could be checked at any facility without
even opening the bonnet. We do not need this connector in the UK and the large
circular connector was retained in the engine bay for diagnostics until the
final examples of the E38.
In December 1998 new directives were introduced in
Europe and designated E-OBD. This is the reason that late model E38's (in
Europe) have an E-OBD indicator in the instrument cluster. This indicator
illuminates if a fault is present on the engine that affects the emissions. If
the indicator is illuminated then you can be sure that an error code is present
in the fault memory. More information on E-OBD can be found
here.
The important thing to remember is that OBD is just a technique, it defines the
protocol and basic use. In its basic form it can be used to check
emissions-related parameters. However, BMW has pushed the capabilities much
further, not only can engine parameters be checked but so can any system that is
connected directly or indirectly to the OBD connector.
WHAT CAN DIAGNOSTICS DO?
How much you can do with diagnostics depends on what system you are using to
connect to the OBD-II connector. The basic scanners can only give you a list of
fault codes.
Carsoft can do a lot more. Rather than just get information from the OBD-II
interface it can communicate with other modules that are indirectly connected to
the bus such as:
DME (Engine)
Instrument Cluster
Airbag System
ABS/ASC/DSC
DWA (Alarm System)
EGS (Gearbox)
ZKE (Body Electronics)
A/C system
EWS (Immobiliser)
LCM (Lamp Control Module)
PDC (Park Distance Control)
This is possible on the E38 as the Instrument Cluster serves as a 'hub' to pass messages between the OBD-II Diagnostic bus and the other busses as shown here:

The earlier the production date of the car being diagnosed, the less information is available via diagnostics. For instance, the E31 will only supply information on the ECU (engine control unit), EGS (gearbox control unit) and the airbag system. The amount of engine data is also dependant on the engine model, the M62 ECU supplies more data than the M60 (DME 3.3).
Below is a screen-shot of the main menu in Carsoft:

You can also reset the Service Lights and, importantly, get live data from the
engine and gearbox such as Injector Angle, Intake Temperature, RPM, Throttle
Position, 35 engine parameters and 30 gearbox parameters in all.


You can also erase any fault code that is found (although they will soon appear
again if there is a genuine fault)
What Carsoft cannot do is reset the mileage or recode modules. You can check the
mileage that is stored in the Lamp Control Module, note that the Mileage is in
Kilometres:

The usual method of use is to perform a 'Total Diagnosis' which tests all the
modules in the list. Some of the modules will not respond, this is quite normal
as you will not have all the modules fitted to the car. For instance, if you
have a monitor you will not get a response from the MID (Multi Information
Display) because you don't have one fitted. One thing worth noting is that if
you turn the A/C fan-speed down to zero you will get an error code, keep the fan
speed at minimum.
The 'Total Diagnosis' will show if you have an error in any of the modules, the
example below has quite a few problems, only the key system has no faults.
After the 'Total Diagnosis', check which modules have an error and then select
that module from the drop-down list. This will then perform a full test on that
module and will report the cause of the error. The example below shows the
Instrument Cluster being tested, it gives 5 error messages the first of which
can be seen at the bottom of the picture:

When you have gone through all of the modules that show an error code save the session by using 'Save As' which can be found under the 'Diagnosis Data' menu heading. Give the file a unique name such as your registration number and the date (X464_123_12-12-2008.pbd for instance) so that you can refer to it later. You can now delete the Error Codes and then drive the car for a while to see if they return.
Adaptation Values
Under the 'Special Functions' menu you will find an option called 'adaptation Values', this is used to reset the adaptations in either the engine ECU (DME/ME) or the gearbox ECU (EGS). For more information on adaptations click here. Erasing the adaptations is absolutely necessary when changing one of the engine sensors, especially the MAF, Lambda and temperature sensors. It is also necessary after changing or repairing any part that alters the fuel mixture (injectors, fuel-rail pressure regulator, PCV valve and gaskets). Disconnecting the car battery does not reset the adaptations on the E38 apart from the M60-engined V8's built between 1995 and 1996, diagnostics must be used to reset the adaptations on all other e38'S.
Coding
Under the 'Special Functions' Menu you will find an option for 'Coding' the car. There are only two settings that are not available through the OBC, these are the locking options:

'Auto Locking during driving' is pretty self-explanatory, 'Selective Locking' allows the driver's door to be unlocked using the key-fob but leaving the other doors and boot locked (anti-hijack). The other doors and boot require a second press of the key-fob.
Service Interval Reset
Also under the 'Special Functions' Menu can be found the 'Service Interval Reset' option, this allows either programmed reset or a general reset of the Service Interval and Inspection Interval.
Diagnostic connection
There are two diagnostic connectors on the facelift E38's, the usual round connector under the bonnet and a OBDII socket in the kick-panel above the pedals:

The internal OBDII connector is used for testing the DME (engine control unit) and EGS (transmission control unit) only, you will not be able to test any other module from this connection.
Carsoft unusual behaviour
Carsoft 6.5 has a few foibles which can cause strange behaviour. When Carsoft is run and its window is maximised, it will fail to read the Live Data correctly, instead of getting 5 pages of Live Data you will only have one page available. To work around this problem do not run Carsoft in a maximised window. Carsoft will have to be closed and then restarted if it has been maximised to run correctly.
To read the ECU Live Data, the internal OBDII port seems to work better allowing the full 5 pages of data to be read. If all pages are not available, close and restart Carsoft. Only the under-bonnet diagnostic connector can be used for a 'Full Diagnose'.
P.A.Soft
P.A.Soft is a similar product to Carsoft but allows a lot more flexibility. It
allows resetting of the mileage and recoding of certain data. It can be used to
get the EEPROM contents from an old module and the writing of those contents to
a new module thus making the module compatible with your car.

You can also do quite a lot of harm with P.A.Soft if you do not know what you
are doing unlike Carsoft which is quite safe. The versions that are usually
bought from Ebay give Error Codes but no explanation of what the code means. Not
very useful and many buyers are disappointed with this omission.
One important fact is that you cannot use a Carsoft Interface Box with P.A.Soft,
they have obviously used a hardware 'key' in their interface that is not present
in the Carsoft Interface Box. To use P.A.Soft you will need their Interface Box,
again available from Ebay.
INPA
I am a recent convert to INPA, it is fast, easy to use and does so much more than Carsoft and PASoft. It even works on much later cars (such as our Mini Cooper). It is able to communicate with many more systems to a much deeper level. I will add to this when I have more experience, now I have INPA I do not use Carsoft or PASoft. For now, here are a few screenshots:

BMW Diagnostics
The BMW DIS and MO-DIC units can do all of the above but they can also delve
much further into any system that is connected via any of the Bus Systems and is
beyond the scope of this short introduction.
Lastly, don't forget that diagnosis is just a tool, and like any tool it takes experience to know how to use it. Diagnostics will rarely reveal exactly what the fault is, it is the interpretation of the data combined with experience of the BMW systems that will lead to a correct fault diagnosis and successful repair!