An ABS warning lamp that is on usually means trouble. If you are not dealing with a real problem the ABS system has self-diagnosed, you may have a "false" code that was set by some combination of circumstances. Either way, you will have to pull the code to figure out what is wrong.
Pulling trouble codes from an ABS system may be easy or difficult depending on the application. On early Bosch 2 ABS import systems, there are no codes. If the light is on, you have to perform pinpoint circuit tests to isolate the fault.
On ABS systems that provide manual flash codes (such as Bosch 2E, 2S, 2U and 3, Kelsey-Hayes RWAL and 4WAL, and ITT Teves Mark 2), you do not need a scan tool but using one reduces the chance of misreading a code.
On a typical General Motors application with a Bosch 2U ABS system (1990-94 fullsize rear-wheel drive passenger car), for example, codes can be accessed manually by grounding terminal "H" on the ALDL connector, then counting flashes of the ABS lamp. On these systems, flash codes repeat three times. Codes will stay in memory 50 ignition cycles. But to clear codes, you need a scan tool.
Kelsey-Hayes RWAL systems on older GM, Ford and Dodge trucks (1987 & up) can only store one code at a time, but the code can be accessed manually or with a scan tool. The manual procedure on the GM trucks is the same as that for a passenger car, but on Ford and Dodge trucks a pigtail connector has to be grounded to make the ABS light flash.
Kelsey-Hayes four-wheel 4WAL (introduced in 1990) and EBC systems (introduced in 1993) can remember multiple codes. But the EBC applications do not provide manual flash codes so a scan tool is needed.
Many newer ABS systems have no flash codes so you must use a scan tool to pull the codes. These include all Bendix systems (Bendix 6, 9, 10, ABX-4 and Mecatronic found primary on Chrysler cars and Jeeps), as well as Delco Powermaster III, Delco VI, ITT Teves Mark 4, and Bosch 5 and 5.3 ABS systems.
On some of the GM applications with Bosch ABS/ASR such as 1993 & up Cadillacs and 1992-94 Corvettes, codes can be read through the electronic speedometer or driver information center by pushing climate control or the trip reset, trip/ODO, and ENG/MET buttons in a specified sequence (refer to a shop manual for the specifics).
Most newer ABS systems also provide more sophisticated diagnostics including the ability to store snapshot data associated with a fault code, code history and the ability to take two-way inputs from a scan tool to exercise various components in the ABS system such as the solenoid valves, relays, pump motor, ABS warning lamp circuit, etc. To diagnose these systems, you need a more sophisticated type of scan tool or a dedicated ABS tester that allows bidirectional (two-way) communication between the ABS module and scan tool. This allows you to exercise the various solenoids (a procedure which is often necessary to bleed the brakes on these vehicles), and to check the operation of the various components.
Although a scan tool is all that is needed to read and clear fault codes on most ABS systems, fault codes alone do not fix the problem. A code only tells you the system has self-diagnosed a problem in a particular circuit or component. It does not tell you what to replace. To fix the problem you have to refer to the step-by-step diagnostic checks in a service manual and isolate the fault by a process of elimination. Jump to conclusions and you may guess wrong.
What is more, intermittent problems may not set a fault code. So if there is no code, do not assume everything is fine. You have to check the operation of the system as well as individual components to figure out what is wrong.
Point by point resistance and voltage checks can help you isolate problems with or without codes, but such tests can be very time-consuming and may not always reveal a problem. Dynamic tests are also impossible with this approach because you have no means of exercising or testing the operation of the ABS solenoids and valves. Such components may show the correct voltage and resistance readings, but may not be functioning correctly. So some means of testing their function may be necessary for an accurate diagnosis. That is where a bi-directional scan tool or dedicated ABS tester can make a big difference.
A tester such as the OTC ABS Reader gives bi-directional access on 1991-94 Delco VI and 1988-91 Powermaster III ABS systems. The tool can also be used to troubleshoot Bosch, ITT Teves, Kelsey-Hayes and Mazda MECS ABS systems.
At the fall 2007 AAPEX show in Las Vegas, Actron introduced this brand new ABS BrakeScan tool. This is the first affordable tool for basic ABS diagnostic work. The tool sells for under $300, and is a great product for the do-it-yourselfer or for bgasic ABS diagnosis by a professional technician. The tool covers 1996 and newer domestic cars (GM, Ford & Chrysler), and plugs into the OBD II connector under the dash. It reads all ABS codes for these applications, displays code definitions, and can be updated with future applications online.
Snap-On's Fast-Track ABS Troubleshooter provides detailed ABS diagnostics for both domestic and import applications (in two separate cartridges). This tester can display codes, system data including wheel speed sensor readings, lamp and pump motor status, and valve positions, and perform functional tests for activating various ABS valves, relays and motors, and cycle the ABS solenoids when bleeding the brakes.
C0035 - Left Front Wheel Speed Circuit Malfunction
C0040 - Right Front Wheel Speed Circuit Malfunction
C0041 - Right Front Wheel Speed Sensor Circuit Range/Performance (EBCM)
C0045 - Left Rear Wheel Speed Circuit Malfunction
C0046 - Left Rear Wheel Speed Sensor Circuit Range/Performance (EBCM)
C0050 - Right Rear Wheel Speed Circuit Malfunction
C0051 - LF Wheel Speed Sensor Circuit Range/Performance (EBCM)
C0060 - Left Front ABS Solenoid #1 Circuit Malfunction
C0065 - Left Front ABS Solenoid #2 Circuit Malfunction
C0070 - Right Front ABS Solenoid #1 Circuit Malfunction
C0075 - Right Front ABS Solenoid #2 Circuit Malfunction
C0080 - Left Rear ABS Solenoid #1 Circuit Malfunction
C0085 - Left Rear ABS Solenoid #2 Circuit Malfunction
C0090 - Right Rear ABS Solenoid #1 Circuit Malfunction
C0095 - Right Rear ABS Solenoid #2 Circuit Malfunction
C0110 - Pump Motor Circuit Malfunction
C0121 - Valve Relay Circuit Malfunction
C0128 - Low Brake Fluid Circuit Low
C0141 - Left TCS Solenoid #1 Circuit Malfunction
C0146 - Left TCS Solenoid #2 Circuit Malfunction
C0151 - Right TCS Solenoid #1 Circuit Malfunction
C0156 - Right TCS Solenoid #2 Circuit Malfunction
C0161 - ABS/TCS Brake Switch Circuit Malfunction
C0221 - Right Front Wheel Speed Sensor Circuit Open
C0222 - Right Front Wheel Speed Signal Missing
C0223 - Right Front Wheel Speed Signal Erratic
C0225 - Left Front Wheel Speed Sensor Circuit Open
C0226 - Left Front Wheel Speed Signal Missing
C0227 - Left Front Wheel Speed Signal Erratic
C0229 - Drop Out of Front Wheel Speed Signals
C0235 - Rear Wheel Speed Signal Circuit Open
C0236 - Rear Wheel Speed Signal Circuit Missing
C0237 - Rear Wheel Speed Signal Erratic
C0238 - Wheel Speed Mismatch
C0241 - EBCM Control Valve Circuit
C0245 - Wheel Speed Sensor Frequency Error
C0254 - EBCM Control Valve Circuit
C0265 - EBCM Relay Circuit
C0266 - EBCM Relay Circuit
C0267 - Pump Motor Circuit Open/Shorted
C0268 - Pump Motor Circuit Open/Shorted
C0269 - Excessive Dump/Isolation Time
C0271 - EBCM Malfunction
C0272 - EBCM Malfunction
C0273 - EBCM Malfunction
C0274 - Excessive Dump/Isolation Time
C0279 - Powertrain Configuration Not Valid
C0281 - Brake Switch Circuit
C0283 - Traction Switch Shorted to Ground
C0284 - EBCM Malfunction
C0286 - ABS Indicator Lamp Circuit Shorted to B+
C0287 - Delivered Torque Circuit
C0288 - Brake Warning Lamp Circuit Shorted to B+
C0290 - Lost Communications With PCM
C0292 - Lost Communications With PCM
C0291 - Lost Communications With BCM
C0297 - Powertrain Configuration Data Not Received
C0298 - Powertrain Indicated Traction Control Malfunction
C0300 - Rear Speed Sensor Malfunction
C0305 - Front Speed Sensor Malfunction
C0306 - Motor A or B Circuit
C0308 - Motor A/B Circuit Low
C0309 - Motor A/B Circuit High
C0310 - Motor A/B Circuit Open
C0315 - Motor Ground Circuit Open