All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xander Wilmink <xwilmink@gmail.com>
To: netdev@vger.kernel.org
Cc: Xander Wilmink <xwilmink@gmail.com>,
	Jonas Jelonek <jelonek.jonas@gmail.com>
Subject: [PATCH net-next] net: sfp: Add quirk for Dell M14MK module
Date: Fri,  7 Aug 2026 21:30:25 +0000	[thread overview]
Message-ID: <20260807213025.1206-1-xwilmink@gmail.com> (raw)

Greetings,

This adds an quirk for the Dell M14MK (S28-10G-25G-SR-85C) SFP28 module.
These are short range fiber modules, and should advertise 10000baseSR/Full.
Incorrectly these advertise as being a copper module: 10000baseCR/Full. 
The link fails to come up, and the kernel logs "unsupported SFP module: 
no common interface modes."
With the quirk added, the 10Gbit/s link comes up.

Tested on a Linksys LGS328PC with OpenWRT SNAPSHOT version:
OpenWrt SNAPSHOT r35298-2a73f02e56 / LuCI Master 26.190.71895~a18dc50.
Ethtool advertises now "10000baseSR/Full" and the link works on 10Gbit/s.

Thank you for your time.

Kind regards,

Xander Wilmink

Co-authored-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Signed-off-by: Xander Wilmink <xwilmink@gmail.com>

---
 drivers/net/phy/sfp.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c
index 6c25b73c668a..64b4ec08f28a 100644
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -477,6 +477,13 @@ static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id,
 	__set_bit(PHY_INTERFACE_MODE_2500BASEX, caps->interfaces);
 }
 
+static void sfp_quirk_25g_10g_dual(const struct sfp_eeprom_id *id,
+				   struct sfp_module_caps *caps)
+{
+	linkmode_set_bit(ETHTOOL_LINK_MODE_10000baseSR_Full_BIT,
+			 caps->link_modes);
+	__set_bit(PHY_INTERFACE_MODE_10GBASER, caps->interfaces);
+
 static void sfp_quirk_disable_autoneg(const struct sfp_eeprom_id *id,
 				      struct sfp_module_caps *caps)
 {
@@ -523,6 +530,10 @@ static const struct sfp_quirk sfp_quirks[] = {
 	SFP_QUIRK("ALCATELLUCENT", "G010SP", sfp_quirk_2500basex,
 		  sfp_fixup_ignore_tx_fault),
 
+	// Dell M14MK, 10/25 GBit SFP28 module. Labeled as Dell S28-10G-25G-SR-85C.
+	// Runs at 10 Gbit/s in a SFP+ port, but does not advertise this properly.
+	SFP_QUIRK_S("DELL", "M14MK", sfp_quirk_25g_10g_dual),
+
 	// Alcatel Lucent G-010S-A can operate at 2500base-X, but report 3.2GBd
 	// NRZ in their EEPROM
 	SFP_QUIRK("ALCATELLUCENT", "3FE46541AA", sfp_quirk_2500basex,
-- 
2.52.0


             reply	other threads:[~2026-08-07 21:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-07 21:30 Xander Wilmink [this message]
2026-08-07 21:43 ` [PATCH net-next] net: sfp: Add quirk for Dell M14MK module Andrew Lunn
2026-08-20  4:34 ` kernel test robot
2026-08-20 11:58 ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260807213025.1206-1-xwilmink@gmail.com \
    --to=xwilmink@gmail.com \
    --cc=jelonek.jonas@gmail.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.