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.