Intro to J1587 / J1708 Standard Fault Codes (2024)

Why is this important to know? It's good to understand the foundation of fault codes and where they originate from. The SAE formed a document that is the underlying layer of the low-speed communication bus. In heavy-duty applications, this is the primary communication protocol depending on the manufacturer.

Engineering Level - You needboth J1587 + J1708 document to understand the requirements for the hardware and the basic protocol. You can purchase these documents from SAE website. Links are at the bottom.

The message format for J1587/J1708 fault codes.

  1. MID
  2. PID, SID, PSID, PPID
  3. FMI

Why is this relevant?

This is because the heavy duty industry adapted to use the J1587/J1708 for the way they opted to send diagnostic fault code messages on older trucks. The channel for communication happens on this low speed protocol. Not all manufacturers use this protocol to transmit the engine relatedfault codes. This communication is usually more common on trucks that are older than 2013 year model year. The most common protocol for the trucking industry is J1939, which communicates at the faster 250k baud rate.

Let's look at this first example fault code:

MID 128 SID 146 FMI 5

Do you know what it is off the top of your head?

WHAT IS MID?

This is your source address. For instance MID 128 = Engine ECU. This is the address what the module is. For instance in HEX format MID 128 = HEX (80). 80 would be the module on the communication protocol, which in this case for our example is the Engine ECU.

Here is an example of some raw J1708 data:

Intro to J1587 / J1708 Standard Fault Codes (1)

What did we use to connect to see this raw data:

  • Windows Computer
  • Nexiq USB Link Adapter
  • DMUX32 Software
  • Stand Alone ECU - 2011 Volvo D13

When you connect the ECU and read raw data this is the communication that you see. This data is being sent at 9600 baud rate speed. This is not that fast compared to the newer J1939 250k speed. So the communication that is happening here is transmitting important information at a rate that is documented by the standard.

That gives you some of the meat that goes into what the format looks like when understanding the J1587/J1708 fault codes.

So let's recap, If you have MID 128 = Source ID, which in this example is Engine ECU

Now that we got that basic element of surprise down we can begin with the next part.

PID, SID, PSID, PPID

PIDParameter Identification
SIDSubsystem Identification
PPIDPropreitary Parameter Identification
PSIDPropreitary Subsystem Identification

This part of the fault code explains what the parameter or system identification is. The classification of this is detailed on the SAE document that is why you need this to understand what SID, PID, PPID, PSID you need to look up. All of that raw data in the example above means something!

The SAE document provides the standard SID, PID identifications. The OEM's use the standard so everyone is on the same page. So the vehicle speed identification is the same across all modules and all manufacturesas long as they are supported on the bus.

Examples of how this is used:

  • PID 84 = Road Speed ( Same on all modules)
  • SID 146 = EGR Valve (Specific toward Engine ECU)
  • PPID 326 = Soot Level (Specific to Volvo / Mack Manufacture)

How does FMI influence the fault code?

Failure Mode Identifier or FMI, describes the type of failure detected in the subsystem identified by the PID or SID or PPID or PSID.

This is simply just telling you what is wrong with the component that is giving the issue.

EXAMPLE: MID 128 SID 146 FMI 5 - ACTIVE FAULT

MID 128 = Engine ECU, SID 146 = EGR Valve #1
FMI = 5, which means the current is below normal or open circuit. Meaning that you have no load or resistance since an EGR motor is a resistor. You need to check for rubbed wires or you need to replace your EGR valve to fix this fault code. Check the resistance of the EGR motor, it should be less than 10 ohms based on the manufacture spec.

You can have the same fault code with multiple failure modes. This just means that you have two different conditions that were set on the ECU. An example of this is this particular fault code is when that fault code come Active and then turns Inactive.

Example:

  1. MID 128 SID 146 FMI 5 - Active Fault
  2. MID 128 SID 146 FMI 13 - Inactive Fault

FMI 13- Out Of Calibration
This example tells us that it failed its calibration at the startup sequence of theinitiating the EGR valve open. Understanding the different failure modes are very helpful in properly fixing your problem.

FAILURE MODE TABLE

0

Data valid but above normal operational range (that is, engine overheating)

1

Data valid but below normal operational range

2

Data erratic, intermittent, or incorrect

3

Voltage above normal or shorted high

4

Voltage below normal or shorted low

5

Current below normal or open circuit

6

Current above normal or grounded circuit

7

Mechanical system not responding properly

8

Abnormal frequency, pulse width, or period

9

Abnormal update rate

10

Abnormal rate of change

11

Failure mode not identifiable

12

Bad intelligent device or component

13

Out of Calibration

14

Special Instructions

15

Reserved

Thats it! Younow are an expert of fault codes that are located on the J1587/J1708 protocol. This protocol is largly used on modules within the trucking industry so you will come across these type of fault codes with Engine / ABS / Brakes / Climate Control / Instrument clusters and other modules that are located on the J1587/J1708 Bus.

You need the full MID + PID + FMI to properly diagnosis a fault code on this communication protocol. So next time you ask for help make sure you have all of that information.

Drop us a comment if this helped.

Links to purchase SAE documents

SAE J1587:https://www.sae.org/standards/content/j1587_201301/
SAE J1708:https://www.sae.org/standards/content/j1708_201609/

Intro to J1587 / J1708 Standard Fault Codes (2024)

FAQs

What is the code J1587 J1708? ›

J1587 is an application layer and is used together with J1708, which is the physical layer. J1587 describes a message format and defines parameters. A J1587 message consists of MID, PID, data bytes and a checksum. The length of a J1587 message is limited to 21 bytes according to J1708.

What is the engine code for J1708? ›

Society of Automotive Engineers standard SAE J1708 is a standard used for serial communications between ECUs on a heavy duty vehicle and also between a computer and the vehicle. With respect to Open System Interconnection model (OSI), J1708 defines the physical layer.

What is the difference between J1587 and J1708? ›

SAE J1708 defines a serial, bidirectional network for use in the commercial vehicle industry. The SAE J1587 Standard regulates communication and standardized data exchange between different ECUs based on SAE J1708 networks.

What is Caterpillar code J1587? ›

The J1587 Fault code message consists of a Message Identifier (MID) which identifies the ECU sending the Message (MID 128 = Engine Controller #1), either a Parameter Identifier (PID) or Subsystem Identifier (SID) which identifies the Parameter or subsystem sending the DTC, and then a Failure Mode Identifier (FMI) which ...

What is the J1587 standard? ›

Society of Automotive Engineers standard SAE J1587 is an automotive diagnostic protocol standard developed by the Society of Automotive Engineers (SAE) for heavy-duty and most medium-duty vehicles built after 1985. The J1587 protocol uses different diagnostic connectors.

What is J1708 used for? ›

J1708 is an SAE specification developed especially for heavy duty vehicles (trucks and busses). The intention is that the protocol will promote a standard for serial communication between modules with microcontrollers. The standard means that data can be transferred between devices in a more cost-effective way.

What is the voltage of J1708? ›

As you can see from the above image, voltage values from J1708 + are between 1V and 4V and for J1708 -0.4V and 4V.

Does J1587 have a terminating resistor? ›

The cab terminating resistor is located in the dash tucked up above the dash tap points for the J1587. The correct datlink resistence measured at any device, or at the diagnostic plug should be 60 ohmes with the battery disconnected.

What is the voltage of the J1587 data link? ›

Measure the voltage between the positive battery post and J1587- terminal — voltage should be 9 to 13.5 volts.

When did J1939 replace J1708? ›

SAE J1939 was initially released in 1994, but the top-level document was published in 2000. Around the mid-2000s, manufacturers began switching from the SAE J1587/J1708 system to the SAE J1939 protocol.

What is the difference between J1939 and J1708? ›

Re: Regarding j1939 and J1708

Starting in 1990's- J1708 is the physical layer (i.e., or wiring), and J1587 – the message layer or data format. This had a limited speed of 9600 bits/second. Then later J1939 was created with speeds of 250 Kbits/second then upgraded to a 500 Kbits/second based on a new standard, J1939-14.

What is the history of J1708? ›

In 1986 the Society of Automotive Engineers (SAE) issued the recommended practice J1708, which defines a bidirectional, multi-master network that enables the communication between Electronic Control Units (ECUs) in heavy duty vehicles.

How do I reset my caterpillar code? ›

To clear the codes, select the "Clear Codes" or "Reset" option within the software. Confirm the action, and CAT ET will clear the engine codes. Turn off the engine and disconnect the diagnostic connector.

What is the active fault code? ›

Active fault codes mean the there is a present issue. In some cases, and in some engine models you can actually clear certain active codes. For instance, certain Volvo and Mack trucks will display active codes on the dashboard but when you plug in the diagnostic software the fault codes display as inactive.

What is code 58 caterpillar? ›

Code 58 is defined as data link fault. It just means there is a communication failure between the engine ECM and truck. Code 56 is a programming fault. This is most likely logged and not active.

What is the maximum data speed of a J1708-1587 data link? ›

The standard defines a 2-wire 18 gauge wire cable that can run up to 130 feet (40 m) and operates at 9600 bit/s. A message is composed of up to 21 characters, unless the engine is stopped and the vehicle is not moving in which case transmitters are allowed to exceed the 21 byte max message length.

Top Articles
Latest Posts
Article information

Author: Dr. Pierre Goyette

Last Updated:

Views: 5579

Rating: 5 / 5 (50 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Dr. Pierre Goyette

Birthday: 1998-01-29

Address: Apt. 611 3357 Yong Plain, West Audra, IL 70053

Phone: +5819954278378

Job: Construction Director

Hobby: Embroidery, Creative writing, Shopping, Driving, Stand-up comedy, Coffee roasting, Scrapbooking

Introduction: My name is Dr. Pierre Goyette, I am a enchanting, powerful, jolly, rich, graceful, colorful, zany person who loves writing and wants to share my knowledge and understanding with you.