# Adapter Testing Using Ethtool

Intel adapters have built-in self-test diagnostics, such as I/O conflicts, memory faults, EEPROM operability, and basic transmit/receive operation. This can help determine if there is a hardware fault due to the adapter or cable connectivity. This testing capability is built into the adapter and is accessed via the driver. Ethtool (version 1.6 or later) is used as the interface for the diagnostic tests and results.

Ethtool is an open-source program that can be used as an interface to provide driver configuration and diagnostics, as well as displaying statistical information.

Ethtool is available at: http://sourceforge.net/projects/gkernel. See the ethtool man page for complete information on usage.

To invoke diagnostics from ethtool, enter this command:

>     ethtool -t <EthX>

where <EthX> is the name of the Ethernet device under test (e.g., "eth0").

Here is a sample of the diagnostics output:

>     The test result is PASS
>     Register test  (offline).......... Passed
>     EEPROM test    (offline).......... Passed
>     Interrupt test (offline).......... Passed
>     Loopback test  (offline).......... Passed
>     Link test   (on/offline).......... Passed

By default, the more comprehensive "offline" test set is invoked. This will momentarily disrupt any active traffic on the device under test. The set of available diagnostic tests is determined internally by the NIC. The tests that are run are determined by the ethtool command line parameters.

The following tests are common to many Intel adapters:

Test Name | Description | Test Results
--- | --- | ---
Register Test | Test patterns are written, read and verified through the adapter's device registers to ensure proper functionality. | Test failure may indicate a faulty adapter.
FIFO Test | This utility will write test bit patterns to the adapter's FIFO buffers, to make sure the FIFOs are working properly. Not all adapters have FIFO buffers, so it may not appear in your test results. | Test failure may indicate a faulty adapter.
EEPROM Test | This test is run if the adapter is equipped with this type of memory. It tests both the readability of the EEPROM and the integrity of the data via checksum. | Test failure may indicate a faulty adapter.
Interrupt Test | This tests the adapter's ability to generate an interrupt. This test sets the interrupt cause register and reads the interrupt set register, verifying the adapter correctly registered an internal interrupt. | Test failure may indicate a faulty adapter.
Loopback Test | There are two internal loopback tests: MAC (media access controller) Loopback and PHY (LAN controller) Loopback. Neither test requires an external loopback connection or responder. These tests set the adapter in the appropriate loopback mode and send packets back through the adapter's receive circuitry and logic. | Test failure may indicate a faulty adapter.
Link Test | This checks to see whether or not the adapter has established link with its link partner. | If this test fails, check the cable connection and the status of the link partner.

`Last modified on 12/20/06 8:55a Revision 1`