Re: [PATCH] net: sfp: add fixup for tplink 2.5gbase-t rj45 modules
From: Josua Mayer
Date: Mon Jan 08 2024 - 12:03:35 EST
Hi Russell,
Am 07.01.24 um 17:10 schrieb Russell King (Oracle):
> On Sat, Jan 06, 2024 at 05:29:56PM +0100, Josua Mayer wrote:
>> TP-Link TL-SM410U modules are single-rate 2.5GBase-T RJ45 SFP modules.
>> The EEPROM data is lying about connector and extended cc,
>> reporting 25Gbps fiber.
>>
>> Add fixup for these specific modules forcing RJ45 @ 2.5Gbase-T.
>>
>> For reference original eeprom data dump from ethtool:
>>
>> Identifier : 0x03 (SFP)
>> Extended identifier : 0x04 (GBIC/SFP defined by 2-wire interface ID)
>> Connector : 0x07 (LC)
>> Transceiver codes : 0x00 0x00 0x00 0x00 0x00 0x00 0x40 0x00 0x00
>> Transceiver type : FC: Twisted Pair (TP)
>> Encoding : 0x01 (8B/10B)
>> BR, Nominal : 3100MBd
> This isn't 25Gbps - it's 2.5Gbps!
oh :(
I misread a header-file not being careful that day ... sorry
>
> So what actually happens with this module without the quirk?
In summary it looks like on armada-385 it is working fine except for reporting wrong port and link-mode (fiber),
but on cn9130 it is not working either way.
1. On CN9130 Clearfog Base, linux v6.1.69 without this patch:
Module is detected - ethtool reports a 2500 fiber, no link detected, comphy configured for 2500basex
[ 51.465237] sfp sfp: module TP-LINK TL-SM410U rev 1.0 sn 12154J6000039 dc 210605
[ 51.474699] mvpp2 f2000000.ethernet eth0: switched to inband/2500base-x link mode
root@localhost:~# ifconfig eth0 up
[ 88.156486] mvpp2 f2000000.ethernet eth0: configuring for inband/2500base-x link mode
root@localhost:~# ethtool eth0
Settings for eth0:
Supported ports: [ FIBRE ]
Supported link modes: 2500baseX/Full
Speed: 2500Mb/s
Port: FIBRE
Link detected: no
2. On Armada 385 Clearfog GTR, linux 6.1.69 without this patch - but many openwrt patches:
[ 54.290627] sfp sfp-0: module TP-LINK TL-SM410U rev 1.0 sn 12154J6000039 dc 210605
[ 54.300164] mvneta f1034000.ethernet eth2: switched to inband/2500base-x link mode
root@OpenWrt:/# ifconfig eth2 up
[ 199.689326] mvneta f1034000.ethernet eth2: configuring for inband/2500base-x link mode
[ 265.892986] mvneta f1034000.ethernet eth2: Link is Up - 2.5Gbps/Full - flow control rx/tx
root@OpenWrt:/# ethtool eth2
Settings for eth2:
Supported ports: [ FIBRE ]
Supported link modes: 2500baseX/Full
Speed: 2500Mb/s
Port: FIBRE
Link detected: yes
I would have yet to try the exact same sources between the two platforms - but it seems the problem addressed by my submitted patch is cosmetic.
> We should
> end up marking it for use as a 2500base-X fibre module
Yes
> which should
> result in it working.
conceptually - if the problem was purely cosmetic it will not be worth adding a fixup?
>
> (Please include in the commit message how it works or not without the
> patch.)
okay - I will outline it here first before potential v2 or dropping the patch:
> Also, patches to netdev need to have "net" (for -rc) or "net-next"
> (for the next merge window) in the "[PATCH ...]" n the subject line.
Ack.
>
> Thanks.