Running Adapter Diagnostics - UG1739

AMD Solarflare X4 Series Ethernet Adapter User Guide (UG1739)

Document ID
UG1739
Release Date
2025-10-24
Revision
1.0 English

You can use ethtool to run adapter diagnostic tests, either offline (default) or online:

  • Offline runs the full set of tests, which can interrupt normal operation during testing.
  • Online performs a limited set of tests without affecting normal adapter operation.
Note: Offline tests must not be run while sfptpd is running. The PTP daemon must be terminated before running the offline test.

As root user, enter the following command:

ethtool --test <interface> offline|online

where <interface> is the name of an interface on the X4 series adapter.

The tests run by the command are as follows:

Table 1. Adapter Diagnostic Tests
Diagnostic Test Purpose
core.nvram Verifies the flash memory ‘board configuration’ area by parsing and examining checksums.
core.registers Verifies the adapter registers by attempting to modify the writable bits in a selection of registers.
core.interrupt Examines the available hardware interrupts by forcing the controller to generate an interrupt and verifying that the interrupt has been processed by the network driver.
tx/rx.loopback Verifies that the network driver is able to pass packets to and from the network adapter using the MAC and Phy loopback layers.
core.memory Verifies the SRAM by writing various data patterns (incrementing bytes, all bit on and off, alternating bits on and off) to each memory location, reading back the data and comparing it to the written value.
core.mdio Verifies the MII registers by reading from PHY ID registers and checking the data is valid (not all zeros or all ones). Verifies the MMD response bits by checking each of the MMDs in the Phy is present and responding.
chanX eventq.poll

Verifies the adapter’s event handling capabilities by posting a software event on each event queue created by the driver and checking it is delivered correctly.

The driver uses multiple event queues to spread the load over multiple CPU cores (RSS).

phy.bist Examines the PHY by initializing it and causing any available built-in self tests to run.