Question abount VSOL/CarlitoxxPro SFP Patch on Marvell Armada (MCBIN DS)
Pali Rohár
pali at kernel.org
Sun May 8 09:31:37 PDT 2022
Hello!
On Monday 07 March 2022 23:01:18 Russell King (Oracle) wrote:
> > > [ 86.013661] sfp sfp-eth3: Detected broken RTL8672/RTL9601C emulated EEPROM
> > > [ 86.020569] sfp sfp-eth3: Switching to reading EEPROM to one byte at a time
> > > [ 86.067758] sfp sfp-eth3: module OEM V2801F
> > > rev 1.0 sn 202101195032 dc 210119
> > > [ 86.077555] mvpp2 f4000000.ethernet eth3: requesting link mode
> > > inband/1000base-x with support 0000000,00000200,00000440
> > > [ 86.088390] sfp sfp-eth3: tx disable 1 -> 0
>
> We've now detected what the module is, and we configure for it, which
> the EEPROM indicates it supports 1200Mbaud, which is 1G speed.
...
> > > In that way it goes up. So how can we avoid this behaviour?
>
> Very difficult to avoid it. My guess is that when you power up the
> system with the module inserted, it sees the interface operating at
> 2.5G speed and locks itself to 2.5G speed.
>
> Eventually, our kernel boots, and sfp reads the EEPROM. The EEPROM
> indicates that it supports 1G speed, so we switch the host interface
> to 1000base-X, and that causes link to be lost (although I don't see
> any sign of that happening in your debug.)
>
> That means that the module has decided to use 2.5G speed, but its
> reporting it supports 1G speed in the EEPROM... so its doing something
> different. No surprises that the link fails to come up.
>
> We could add an entry to the sfp_quirks[] table in sfp-bus.c for this
> module using the sfp_quirk_2500basex function to also indicate it
> supports 2.5G speed:
>
> }, {
> // VSOL/CarlitoxxPro SFP can also work at 2.5G speed
> .part = "V2801F",
> .modes = sfp_quirk_2500basex,
RTL8672/RTL9601C chips support only 1000base-x mode and therefore SFP
cannot operate on CPU side at 2500base-x nor in other way at 2.5G.
Trying to "force" mode to 2500base-x would not work.
More information about the linux-arm-kernel
mailing list