Check engine or EFI light:
1990 to 1995 Range Rover Classic
Check engine light: 1994/5 Discovery
The display unit for the on-board computer is located in the side panel
under the seat base of the Range Rover or in the case of the
Discovery, it's visible by looking under the passenger seat from the
rear.
The codes often refer to a specific test procedure in the factory
manual. They don't mean "replace part #XXX" as many people believe.
If a sensor is out of range, that doesn't mean the sensor is bad. If
I had $1 for every oxygen sensor replaced that didn't need it, I'd
be a wealthy dude.
To reset the display after a repair or to see if the error is
persistent, do the following:
- Switch ignition on.
- Disconnect serial link mating plug, wait five seconds, then
reconnect.
- Switch ignition off and wait for main relay to drop out.
- Switch ignition on. The display should now be reset. If
there there is more than one fault repeat these steps to clear
each fault until the display is blank. When there are no more
codes stored, the display will be black.
ERROR CODES for Land Rovers with two-digit OBD display:
- Nothing shown on display
- Either nothing is wrong or the display is broken. I've seen
broken displays many times.
- Code 02 - Power interruption
- Power to the ECU has been disconnected and the truck has not
yet been started. This code should go away as soon as the
vehicle is started for the first time. Appearance of this code
while driving may signal a problem within the ECU.
- Code 12 - Airflow meter
- Usually signals a problem with the airflow meter or the
connector which can fall apart or become damaged. Refer to test
19, continuity test procedure.
- Code 14 - Coolant sensor
- Usually indicates a bad fuel injection coolant sensor. May
also indicate a bad engine thermostat or a stuck viscous fan
clutch. Refer to test 14, continuity test procedure.
- Code 17 - Throttle potentiometer
- Usually indicates a bad throttle position sensor. Refer to
test 17, continuity test procedure.
- Code 18 - Throttle potentiometer input high/airflow meter
low
- Usually indicates a problem with one of the two mentioned
parts. Refer to tests 17, 18, and 19 of the continuity test
procedure.
- Code 19 - Throttle potentiometer input low/airflow meter
high
- Usually indicates a problem with one of the two mentioned
parts. Refer to tests 17, 18, and 19 of the continuity test
procedure.
- Code 21 - Fuel tune select
- Identifies that the tune select resistor is open circuit-
refer to tune select resistor test. The tune resistor is
embedded in the wire harness. This code may indicate damage to
the wire harness.
- Code 23 - Fuel supply
- Check fuel system pressure, test 20 of continuity test
procedure.
- Code 25 - Ignition misfire
- This code indicates that an ignition system misfire has been
detected. Codes 40 or 50 indicate on which bank the misfire has
occurred.
- Code 28 - Air leak
- One way to check for small leaks is by spraying choke
cleaner at the joint you want to check while the motor is
idling. A change in tone indicates the choke cleaner is being
sucked into the engine. Check for air leaks in the following
areas:
•Hose, air flow meter to plenum
•Breather system hoses to plenum
•Brake servo hose
•Vacuum reservoir hose (fresh air solenoid)
•Distributor vacuum advance
•Hose, purge valce to plenum
•Injector seals
•Joint - bypass air valve to plenum plenum chamber to ram
housing ram housing to inlet manifold inlet manifold to cylinder
head bypass air valve hose
- Code 29 - ECU memory check
- If this code appears all other faults are unreliable and
must be ignored. Use the procedure below to clear the code and
see if it re-appears. If it does, your ECU is almost certainly
bad.
Procedure:
- leave battery connected
- switch ignition off
- wait for approximately 5 seconds
- disconnect ECU plug.
- reconnect ECU plug
- switch ignition on and check display unit.
If fault code 29 is detected again, swap out the ECU for another
one and retest.
- Code 34 - Injector bank A
- The display will indicate if the injector(s) are causing the
engine to run rich or lean.
If the bank is running rich, check for - faulty injector wiring
and connectors, stuck open injectors.
If the bank is running lean, check for - faulty injector wiring
and connectors, blocked injectors.
- Code 36 - Injector bank B
- As code 34, except relevant to bank A injectors.
- Code 44 - Lambda sensor A - left bank
- Code 45 - Lambda sensor B - right bank
- If one of these fault codes (#44 or #45) is displayed check
the wiring to that particular lambda sensor. In addition this
fault will be displayed if the vehicle has a condition which
causes it to run very lean or very rich on one side (example - a
vacuum leak or a bad injector). This code often appears in
conjunction with the misfire codes in cases of bad ignition
misfire (cross-firing plug wires)
If both codes are displayed, the voltage supply to the heater
coils of the sensors must be checked. Check for 12V appearing on
the O2 signal lead, and check the heater circuit for shorts.
- Code 48 - Stepper motor
- Check base idle speed as follows:
- First remove and clean the idle motor and the port it
screws into. Clean the throttle body as well.
- On the top of the throttle body you will see a hole
(possibly covered by an anti tamper plug) for the base idle
adjuster.
- Remove the air bypass hose from the throttle body, which
will cause the engine to speed up to 2500rpm or so. Unplug
the connector to the idle motor after 5 seconds then
reconnect the hose.
- Squeeze the hose shut with needle nose vise grips and
adjust the base idle using an allen wrench to give an idle
speed of 6-700rpm. Get the lowest speed you can that gives
smooth running and does not stall when blipping the
throttle. Screw in for slower idle, out for faster idle.
- Reconnect the idle stepper and remove the vise grip and
you should be done.
- In addition, refer to tests 15 and 16 of continuity test
procedure. Check road speed sensor- refer to test 25 of
continuity test procedure.
- Code 40 - Misfire bank A - left bank
- Code 50 - Misfire bank B - right bank
- If one fault code 40 or 50 is displayed check components
applicable to the particular bank that the misfire has occurred
on:
•Spark plugs
•Ignition leads
•Distributor cap
•Injectors - if code 34 bank A or 36 bank B displayed
- If both codes are displayed, check the following components
common to both banks:
•Distributor cap
•Distributor rotor
•Coil and its associated connections
•Distributor pick-up (air gap)
•Amplifier
•Injectors (if code 34 or 36 is displayed)
- Code 58 - Group faults 23/28
- This indicates that a fault has been registered that is
caused by the fuel supply or an air leak but the exact fault
cannot be identified. Check all items outlined under codes 23
and 28.
- Code 59 - Fuel thermistor
- Refer to test 13 of the continuity test procedure.
- Code 68 - Road speed sensor
- refer to test 25 of continuity test procedure.
- Code 69 Gearswitch
- Refer to test 24 of continuity test procedure.
- Code 88 - Purge valve leak
- Refer to test 9 and 10 of the continuity test procedure.