Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
The SAE J2534-2/16_0500 recommended practice defines how to integrate Internet Protocol version 4 (IPv4) into the SAE J2534 API framework, enabling diagnostics over IP (DoIP) as specified by ISO 13400. This article explores the key extensions, design insights, and practical considerations for implementing an IPv4‑capable pass‑thru interface.
The automotive industry increasingly relies on Ethernet‑based diagnostics, and DoIP (ISO 13400) is central to modern vehicle architectures. SAE J2534-2/16_0500 was created to extend the core J2534-1_0500 API (version 05.00) with IPv4 support, allowing pass‑thru devices to communicate over TCP/IP networks using the well‑established IPv4 protocol.
This standard is part of the SAE J2534-2/X_0500 family and must be used in conjunction with the base Ethernet document (J2534-2/13_0500) and the general extended features guides (/BA_0500 and /RE_0500). Because it builds on the existing API, only the differences from the base standard are documented — everything else remains unchanged.
🛠️ A key design principle is that all mandatory functionality must be implemented for compliance. Any optional items are explicitly marked, ensuring clarity for developers.
To support IPv4, the standard introduces modifications to several API functions and adds new IOCTL commands. The primary changes involve the PassThruLogicalConnect function, which now accepts two new protocol identifiers: ETHERNET (for the physical communication channel) and IP4_LOGICAL (for the logical channel that adds network and transport layers). The discovery mechanism uses GET_PROTOCOL_INFO to check capable configurations.
The table below summarises the most important IOCTL additions for IPv4.
| IOCTL Command | Description | Category |
|---|---|---|
IP4_GET_ADDRESS_INFO |
Retrieves the IPv4 address configuration (IP address, subnet mask, gateway) of the pass‑thru device. | New (mandatory) |
GET_CONFIG / SET_CONFIG |
Used to query or set IP‑related parameters such as DHCP enable, link‑local address, etc. | Extended |
GET_PROTOCOL_INFO |
Discovery – reports supported protocols and their properties for Ethernet and IP4 logical channels. | Existing, updated |
🔍 The GET_PROTOCOL_INFO mechanism is essential for application developers. When called with ETHERNET, it provides information about the underlying physical Ethernet interface; with IP4_LOGICAL, it reports the IP‑layer capabilities.
Error handling is also extended. Network‑specific error conditions, such as Device Not Connected and Network Errors (including packet loss, connection refused, timeouts), are now explicitly defined. The pass‑thru device must return the appropriate error codes when these conditions occur.
When building an IPv4‑capable pass‑thru interface, developers must closely follow the interaction rules defined in the standard:
⚙️ Design Insight: The extension follows a layered approach – the existing J2534 API is preserved, and new protocol IDs and IOCTLs slot into the familiar interface. This design reduces the learning curve for developers already familiar with the base standard.
Q1: What is the purpose of the IP4_GET_ADDRESS_INFO IOCTL?
A: It allows the application to retrieve the current IPv4 address, subnet mask, and default gateway of the pass‑thru device. This is essential for network configuration and diagnostics session setup.
Q2: How does the discovery mechanism work?
A: Discovery is performed using the GET_PROTOCOL_INFO API function. By calling it with ETHERNET or IP4_LOGICAL, the application can determine which protocols and configurations the pass‑thru device supports, enabling dynamic selection of the correct diagnostic channel.
Q3: Which documents must be used together with J2534-2/16_0500?
A: You must use SAE J2534-1_0500 (base API), SAE J2534-2/13_0500 (Ethernet physical layer), SAE J2534-2/BA_0500 (base extended features), and SAE J2534-2/RE_0500 (resource document). These collectively ensure a complete and interoperable implementation.
Q4: What are the main error categories for IPv4 communication?
A: The standard defines two new error categories: “Device Not Connected” (when the Ethernet cable is unplugged or the device is not reachable) and “Network Errors” (such as packet loss, connection timeouts, or routing failures). The pass‑thru API must return specific error codes for these conditions to allow proper diagnostic session handling.