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