Re: [PATCH v1] net: sfp: add quirks for ODI DFP-34X-2C2

From: Russell King (Oracle)
Date: Mon Feb 26 2024 - 10:42:48 EST


On Mon, Feb 26, 2024 at 10:51:36PM +0800, Shengyu Qu wrote:
> Hi Russell,
>
> 在 2024/2/26 22:39, Russell King (Oracle) 写道:
> > On Mon, Feb 26, 2024 at 10:16:46PM +0800, Shengyu Qu wrote:
> > > Hi Russell,
> > >
> > > > On Mon, Feb 26, 2024 at 09:23:46PM +0800, Shengyu Qu wrote:
> > > > > ODI DFP-34X-2C2 is capable of 2500base-X, but incorrectly report its
> > > > > capabilities in the EEPROM.
> > > > > So use sfp_quirk_2500basex for this module to allow 2500Base-X mode.
> > > > This was previously submitted by Sergio Palumbo, and comes in two
> > > > different forms - an OEM version and non-OEM. There was extensive
> > > > discussion about this, and the result is that I'm not accepting this
> > > > quirk for this module.
> > > >
> > > > The reason is that the module _defaults_ to 1000base-X and requires
> > > > manual reconfiguration by the user to operate at 2500base-X.
> > > > Unfortunately, there is no way for the kernel to know whether that
> > > > reconfiguration has occurred.
> > > No, In the firmware of this stick, the speed rate is configured to auto
> > > negotiation rather than fixed 1000base-X.
> >
> > How does this "auto negotiation" work?
> >
> > I mean *exactly* how does it work? How does it know whether the host is
> > operating at 1000base-X or 2500base-X?
> >
> > There is *no* inband protocol to allow this to be negotiated.
> >
> Well, that seems some kind weird trick implemented in that chip's SDK (maybe
> hardware?). It would automatically detect the speed rate that host uses and
> switch to that rate. The system log of the stick shows that.

This sounds racy - between the SFP detecting the speed of the host and
the kernel code reconfiguring the interface. More details please...

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!