Implementing Ethernet NDIS in SAE J2534 Pass-Thru Interfaces

The SAE J2534-2/9_500 standard extends the pass-thru interface to support Ethernet NDIS, enabling high-speed vehicle diagnostics and programming over automotive Ethernet networks. This document defines the required changes to the SAE J2534-1_0500 API for integrating the Microsoft Network Driver Interface Specification (NDIS) into the pass-thru framework. Engineers implementing this feature should understand the scope, protocol requirements, and design nuances to achieve full compliance.

Understanding the Scope and Rationale

SAE J2534-2/9_500 is part of the J2534-2/X_0500 series, which publishes each extended feature as a separate document for ease of maintenance and extensibility. This particular revision updates the original Ethernet NDIS feature to align with API version 05.00 and incorporates field feedback. The document must be used in conjunction with SAE J2534-2/BA_0500 (Base Document) and SAE J2534-2/RE_0500 (Resource Document).

🛠️ Note: Compliance requires that all required functionality be implemented; optional items are explicitly marked. Any functionality not marked as optional is mandatory.

The standard covers only the differences from SAE J2534-1_0500; all unchanged aspects (e.g., core API functions, error codes) are inherited from the base version. This modular approach allows independent updates per feature without affecting the entire J2534 suite.

Key Technical Requirements for Ethernet NDIS

Protocol and API Changes

To support Ethernet NDIS, the pass-thru interface introduces new protocol identifiers, connection flags, and IOCTL commands. The PassThruConnect function now accepts a ProtocolID for Ethernet NDIS and uses flags that control link activation and simultaneous communication behavior.

Simultaneous Communication

The standard defines specific limitations when multiple protocols are active concurrently. The table below summarizes the allowed configurations for Ethernet NDIS coexisting with other protocols:

Configuration Ethernet NDIS Other Protocols Description
A Active Active Simultaneous communication allowed with constraints
B Active Inactive Only Ethernet NDIS is active
C Inactive Active Ethernet NDIS not used

Refer to the standard’s Table 1 for full details.

Pin Configuration for J1962 Connector

Ethernet NDIS may repurpose pins on the SAE J1962 (OBD-II) connector. The typical assignment for gigabit automotive Ethernet uses differential pairs on pins 6, 7, 11, and 12, but the standard provides multiple configuration options. Table 2 in the source document details the signal assignments for each mode.

Data Buffering and Error Handling

Robust buffering is required for both transmission and reception of NDIS messages. The pass-thru device must handle receive buffer overflows gracefully, detect network disconnection, and manage message termination. Error handling must align with the base API’s return codes and include specific network error reporting.

Design Insights and Compliance Considerations

Engineering Design Insights: The modular structure of J2534-2 simplifies maintenance but demands careful integration with the base API version 05.00. Designers must implement link activation as defined in the protocol requirements and ensure simultaneous protocol communication follows the specified limitations. The GET_NDIS_ADAPTER_INFO IOCTL is a required addition for retrieving NDIS adapter details (e.g., MAC address, link speed).

⚠️ Common Mistake: Overlooking error handling for network timeouts or buffer overflows can lead to non-compliance. Always test these paths against the standard’s requirements.

Below is a summary of the primary IOCTL introduced by this standard:

IOCTL Command Description Requirement
GET_NDIS_ADAPTER_INFO Retrieves information about the NDIS adapter, including MAC address, link state, and support capabilities. Required

For a complete list, see Section 7.4 of the standard.

Frequently Asked Questions

  1. How does J2534-2/9_500 relate to the base J2534-1 standard?
    It defines only the changes needed to support Ethernet NDIS. All functions, structures, and conventions not explicitly modified are inherited from SAE J2534-1_0500.
  2. What are the most critical API additions?
    The new IOCTL GET_NDIS_ADAPTER_INFO and updated PassThruConnect flags (e.g., for link activation and protocol selection).
  3. Can Ethernet NDIS operate simultaneously with other protocols like CAN or DoIP?
    Yes, but with restrictions detailed in Table 1 of the standard. The device must enforce the defined concurrent communication options.
  4. What happens if the pass-thru device disconnects during an NDIS session?
    The standard requires the device to detect disconnection and return appropriate error codes (e.g., ERR_DEVICE_NOT_CONNECTED) in subsequent API calls.

🔍 For further details, always consult the latest version of SAE J2534-2/9_500, J2534-2/BA_0500, and J2534-2/RE_0500.

This guide provides an overview; refer to the official SAE documents for complete specifications and compliance requirements.

Leave a Reply

Your email address will not be published. Required fields are marked *