@@ -713,17 +713,23 @@ driver supports reporting such events.
- **Monitor Error Counters**:
- - While some NIC drivers and PHYs provide error counters, there is no unified
- set of PHY-specific counters across all hardware. Additionally, not all
- PHYs provide useful information related to errors like CRC errors, frame
- drops, or link flaps. Therefore, this step is dependent on the specific
- hardware and driver support.
-
- - **Next Steps**: Use `ethtool -S <interface>` to check if your driver
- provides useful error counters. In some cases, counters may provide
- information about errors like link flaps or physical layer problems (e.g.,
- excessive CRC errors), but results can vary significantly depending on the
- PHY.
+ - Use `ethtool -S <interface> --all-groups` to retrieve standardized interface
+ statistics if the driver supports the unified interface:
+
+ - **Command:** `ethtool -S <interface> --all-groups`
+
+ - **Example Output (if supported)**:
+
+ .. code-block:: bash
+
+ phydev-RxFrames: 100391
+ phydev-RxErrors: 0
+ phydev-TxFrames: 9
+ phydev-TxErrors: 0
+
+ - If the unified interface is not supported, use `ethtool -S <interface>` to
+ retrieve MAC and PHY counters. Note that non-standardized PHY counter names
+ vary by driver and must be interpreted accordingly:
- **Command:** `ethtool -S <interface>`
@@ -740,6 +746,17 @@ driver supports reporting such events.
condition) or kernel log messages (e.g., link up/down events) to further
diagnose the issue.
+ - **Compare Counters**:
+
+ - Compare the egress and ingress frame counts reported by the PHY and MAC.
+
+ - A small difference may occur due to sampling rate differences between the
+ MAC and PHY drivers, or if the PHY and MAC are not always fully
+ synchronized in their UP or DOWN states.
+
+ - Significant discrepancies indicate potential issues in the data path
+ between the MAC and PHY.
+
When All Else Fails...
~~~~~~~~~~~~~~~~~~~~~~
Replace generic instructions for monitoring error counters with a procedure using the unified PHY statistics interface (`--all-groups`). Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- .../twisted_pair_layer1_diagnostics.rst | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-)