[openwrt/openwrt] generic: add quirk for HG MXPD-483II 2500M fiber SFP

LEDE Commits lede-commits at lists.infradead.org
Sun Apr 2 16:13:08 PDT 2023


dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/658b45ce48d2e96c3bca20343272465e295ccb92

commit 658b45ce48d2e96c3bca20343272465e295ccb92
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Mon Apr 3 00:06:46 2023 +0100

    generic: add quirk for HG MXPD-483II 2500M fiber SFP
    
    The HG MXPD-483II 1310nm SFP module is meant to operate with 2500Base-X,
    however, in their EEPROM they incorrectly specify:
        Transceiver type                          : Ethernet: 1000BASE-LX
        ...
        BR, Nominal                               : 2600MBd
    
    Use sfp_quirk_2500basex for this module to allow 2500Base-X mode anyway.
    
    https://forum.banana-pi.org/t/bpi-r3-sfp-module-compatibility/14573/60
    
    X-Patchwork-Id: 13197378
    X-Mailing-List: netdev at vger.kernel.org
    X-Patchwork-Delegate: kuba at kernel.org
    Reported-by: chowtom <chowtom at gmail.com>
    Tested-by: chowtom <chowtom at gmail.com>
    Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
 .../generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch    |  6 +++---
 .../pending-5.15/701-net-sfp-add-quirk-for-MXPD-483II.patch | 13 +++++++++++++
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch b/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch
index 83b2c304e2..8ad43c0fe9 100644
--- a/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch
+++ b/target/linux/generic/hack-5.15/790-SFP-GE-T-ignore-TX_FAULT.patch
@@ -26,7 +26,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
 
 --- a/drivers/net/phy/sfp.c
 +++ b/drivers/net/phy/sfp.c
-@@ -373,6 +373,11 @@ static const struct sfp_quirk sfp_quirks
+@@ -377,6 +377,11 @@ static const struct sfp_quirk sfp_quirks
  		.modes = sfp_quirk_2500basex,
  		.fixup = sfp_fixup_ignore_tx_fault,
  	}, {
@@ -38,7 +38,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  		// Lantech 8330-262D-E can operate at 2500base-X, but
  		// incorrectly report 2500MBd NRZ in their EEPROM
  		.vendor = "Lantech",
-@@ -2306,7 +2311,8 @@ static void sfp_sm_main(struct sfp *sfp,
+@@ -2310,7 +2315,8 @@ static void sfp_sm_main(struct sfp *sfp,
  			 * or t_start_up, so assume there is a fault.
  			 */
  			sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT,
@@ -48,7 +48,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
  		} else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) {
  	init_done:
  			sfp->sm_phy_retries = R_PHY_RETRY;
-@@ -2529,10 +2535,12 @@ static void sfp_check_state(struct sfp *
+@@ -2533,10 +2539,12 @@ static void sfp_check_state(struct sfp *
  	mutex_lock(&sfp->st_mutex);
  	state = sfp_get_state(sfp);
  	changed = state ^ sfp->state;
diff --git a/target/linux/generic/pending-5.15/701-net-sfp-add-quirk-for-MXPD-483II.patch b/target/linux/generic/pending-5.15/701-net-sfp-add-quirk-for-MXPD-483II.patch
new file mode 100644
index 0000000000..86a665fd0a
--- /dev/null
+++ b/target/linux/generic/pending-5.15/701-net-sfp-add-quirk-for-MXPD-483II.patch
@@ -0,0 +1,13 @@
+--- a/drivers/net/phy/sfp.c
++++ b/drivers/net/phy/sfp.c
+@@ -366,6 +366,10 @@ static const struct sfp_quirk sfp_quirks
+ 		.part = "HL-GSFP",
+ 		.fixup = sfp_fixup_halny_gsfp,
+ 	}, {
++		.vendor = "HG GENUINE",
++		.part = "MXPD-483II",
++		.modes = sfp_quirk_2500basex,
++	}, {
+ 		// Huawei MA5671A can operate at 2500base-X, but report 1.2GBd
+ 		// NRZ in their EEPROM
+ 		.vendor = "HUAWEI",




More information about the lede-commits mailing list