Subject: Re: [PATCH] r8169: add support for RTL8127ATF

From: Fabio Baltieri <[email-masked]>
Date: Tue, 18 Nov 2025 11:08:03 +0000

On Mon, Nov 17, 2025 at 08:37:41PM +0100, Andrew Lunn wrote:
> > +	if (tp->fiber_mode) {
> > +		phy_remove_link_mode(tp->phydev, ETHTOOL_LINK_MODE_10baseT_Half_BIT);
> > +		phy_remove_link_mode(tp->phydev, ETHTOOL_LINK_MODE_10baseT_Full_BIT);
> > +		phy_remove_link_mode(tp->phydev, ETHTOOL_LINK_MODE_100baseT_Half_BIT);
> > +		phy_remove_link_mode(tp->phydev, ETHTOOL_LINK_MODE_100baseT_Full_BIT);
> > +		phy_remove_link_mode(tp->phydev, ETHTOOL_LINK_MODE_2500baseT_Full_BIT);
> > +		phy_remove_link_mode(tp->phydev, ETHTOOL_LINK_MODE_5000baseT_Full_BIT);
> 
> An SFP module can support baseT modes, if the SFP module has a PHY
> inside it. But it could also be it is a fibre module with a laser and
> so uses 100baseFX, 1000baseX, 2500BaseX, etc.

Right, so for an SFP NIC would you expect ethtool to report only the
modes supported by the module? It'd make sense, like right now I'm
testing with a 10GBASE-SR module but as it stands ethtool will always
only show 1000baseT and 10000baseT.

> To do this properly, you need to be able to read the SFP EERPOMs
> content, to know what sort of SFP module you have plugged in. Then you
> can list the correct modes.

I see, unfortunately all I have for this NIC is the out of tree Realtek
driver and it does not seem to implement the API for reading the module
EEPROM data, and there's no datasheet available, so I'm afraid that
either the Realtek folks pick this up or it's not going to happen.

In the current state the driver matches the behavior of the out of tree
one, which is to only report 1000baseT and 10000baseT as supported,
which I guess is a good hint that that's what the user can set the card
manually at. Are you suggesting that I should change this to do
something different?

-- 
Fabio