LIN Diagnostics is used for monitoring, configuring, and troubleshooting LIN network nodes by enabling communication between a diagnostic tester and the master or slave ECUs. A new function in LIN 2.0 has the possibility of reading out diagnostic information from master and slave nodes in a LIN bus.
It utilizes a diagnostic frame structure based on the ISO 14229 UDS-on-LIN specification, allowing access to services like reading DTCs and performing functional checks.
Diagnostic sessions are managed through NAD (Node Addressing) and can include dynamic reconfiguration of slave parameters using configuration services.
Table of Contents
How is LIN Diagnostics possible?
Diagnosing a LIN vehicle network is possible. A new function in LIN 2.0 has the possibility of reading out diagnostics information from master and slave nodes. For this purpose, 2 frame identifiers are used, which both expect 8 data bytes:
- Master request frame with ID 60 (0x3C)
- Slave response frame with ID 61 (0x3D)
The first byte of a LIN diagnostics frame is a NAD (Node address for Diagnostics), which is a 1-byte long diagnostic node address. The value ranges from 1 – 127, while 0 is reserved and 128 – 255 is for free usage. There are 3 methods for LIN bus diagnostics:
- Signal based LIN Diagnostics
- User-defined LIN Diagnostics
- Diagnostic transport layer
Signal-based LIN Diagnostics
Signal Diagnostics is the simplest method and uses standard signals in ordinary frames which represent:
- Low overhead in slave nodes
- A standardized concept
- Static with no flexibility
User-defined LIN Diagnostics
User-defined Diagnostics can be designed to fit the needs of a specific device, but this also means that it will not be useful for general purposes. This method uses NAD in the range 128 – 255.
Diagnostic Transport Layer
Diagnostic Transport Layer is useful for a LIN network, which is built on a CAN-based system where ISO diagnostics is used. In this diagnostics method, NADs 1 – 127 are used. This method represents:
- Low load on the master device
- Provides ISO diagnostics for LIN slaves
- Intended for more complex and powerful LIN nodes
LIN Diagnostic frame structure
A Diagnostic frame is called a PDU (Packet Data Unit) and starts with a NAD which addresses a certain node. After that follows a PCI (Protocol Control Information), which handles flow control.
If the PCI type is a Single Frame (SF), the whole LIN Diagnostic request command will fit into a single PDU.
If the PCI type is a First Frame (FF), then the next byte (LEN) will describe the number of bytes to come.
The data bytes that do not fit into the first frame will be sent in the following frames with the PCI type of Continuation Frames (CF).
A service Identifier (SID) specifies the request and which data bytes to follow.

Compatibility with LIN 1.3 (older version)
A LIN 2.0 master is backward compatible with LIN 1.3 slave with limitations. Both LIN 2.0 and LIN 1.3 slave can coexist in a network, but some new features like the improved checksum & automatic baud rate detection have to be avoided.
Additionally, LIN 2.0 must operate using the classic checksum mode when communicating with LIN 1.3 nodes to ensure proper message validation.
The frame structure and scheduling must also adhere to LIN 1.3 constraints to prevent synchronization and data interpretation errors.