Re: signal quality and cable diagnostic
From: Michal Kubecek
Date: Mon May 11 2020 - 10:59:32 EST
On Mon, May 11, 2020 at 04:13:10PM +0200, Oleksij Rempel wrote:
>
> I continue to work on TJA11xx PHY and need to export some additional
> cable diagnostic/link stability information: Signal Quality Index (SQI).
> The PHY data sheet describes it as following [1]:
> ================================================================================
> 6.10.3 Link stability
>
> The signal-to-noise ratio is the parameter used to estimate link
> stability. The PMA Receive function monitors the signal-to-noise ratio
> continuously. Once the signal-to-noise ratio falls below a configurable
> threshold (SQI_FAILLIMIT), the link status is set to FAIL and
> communication is interrupted. The TJA1100 allows for adjusting the
> sensitivity of the PMA Receive function by configuring this threshold.
> The microcontroller can always check the current value of the
> signal-to-noise ratio via the SMI, allowing it to track a possible
> degradation in link stability.
> ================================================================================
>
> Since this functionality is present at least on TJA11xx PHYs and
> mandatory according to Open Alliance[2], I hope this functionality is
> present on other 100/1000Base-T1 PHYs. So may be some common abstraction
> is possible. What would be the best place to provide it for the user
> space? According to the [2] SQI, is the part of Dynamic Channel Quality
> (DCQ) together with Mean Square Error (MSE) and Peak MSE value (pMSE).
IIUC these would be read-only parameters describing current state of the
link which can be queried at any time. If this is the case, adding them
as attributes to ETHTOOL_MSG_LINKSTATE_GET_REPLY message seems most
fitting.
As for getting / setting the threshold, perhaps ETHTOOL_MSG_LINKINFO_GET
and ETHTOOL_MSG_LINKINFO_SET. Unless you expect more configurable
parameters like this in which case we may want to consider adding new
request type (e.g. link params or link management).
Michal