Re: [PATCH net-next] net: sfp: add quirk for ODI DFP-34X-2C2 GPON ONU SFP

From: Russell King (Oracle)
Date: Sun Jan 28 2024 - 09:43:41 EST


Oh, a second repost. What's different from the first repost?

On Sun, Jan 28, 2024 at 03:23:06PM +0100, Sergio Palumbo wrote:
> DFP-34X-2C2 is a GPON spf module working at both 1000baseX
> and 2500baseX.
> Setting the module to LAN_SDS_MODE=6 the module is working
> at 2500baseX with auto negotiation see at
> https://hack-gpon.org/ont-odi-realtek-dfp-34x-2c2/
> Unfortunatly the module's PHY is accessible at 1000baseX only.
> ethtool returning:
> Supported ports: [ Fibre ]
> Supported link modes: 1000baseX/Full
>
> After applying the quirk:
> Supported ports: [ Fibre ]
> Supported link modes: 1000baseX/Full
> 2500baseX/Full
> Tested on BANANA PI R3 in OpenWRT v 23.05.2 Kernel 5.15.137
> Tested on sfp to ethernet Media Converter.
> Autonegotiating 1000baseX or 2500baseX according to the
> connected host speed.
>
> This module is existing in 2 versions:
> Vendor = "ODI"
> Vendor = "OEM"
> This is the patch for vendor "ODI"
>
> Patch has been inserted keeping the list in alphabetical order
> first by vendor first and then by part string.
>
> Signed-off-by: Sergio Palumbo <palumbo.ser@xxxxxxxxxx>
> ---
> drivers/net/phy/sfp.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c
> index 3c0028a4af92..410375bc6b94 100644
> --- a/drivers/net/phy/sfp.c
> +++ b/drivers/net/phy/sfp.c
> @@ -495,6 +495,9 @@ static const struct sfp_quirk sfp_quirks[] = {
> // 2500MBd NRZ in their EEPROM
> SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex),
>
> + // ODI DFP-34X-2C2 GPON ONU support 2500base-X
> + SFP_QUIRK_M("ODI", "DFP-34X-2C2", sfp_quirk_2500basex),
> +
> SFP_QUIRK_M("UBNT", "UF-INSTANT", sfp_quirk_ubnt_uf_instant),
>
> // Walsun HXSX-ATR[CI]-1 don't identify as copper, and use the
> --
> 2.34.1
>
>

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