BPI-R3 2.5GB Ethernet not working for me


Do I have to enable something to make the Ethernet ports 2.5GB ? Doesn’t seem to work for me. I have verified cables, and switch port. I am using image, openwrt-23.05.0-rc3-92a7d087de39-mediatek-filogic-bananapi_bpi-r3-sdcard.img

Everything seems to work, though, haven’t tested the 10GB Ethernet ports, yet…

From menu item, Status, System Log,

  • Mon Sep 11 15:09:28 2023 kern.info kernel: [ 1645.894856] mt7530-mdio mdio-bus:1f lan1: Link is Up - 1Gbps/Full - flow control rx/tx

There are no 2.5g “ports”…the sfp cages have 2.5g backend. Here should be noted that right one is connected to switch which also serves the 5 rj45 ports (1g) and also connected with 2.5g to cpu. So having traffic on the rj45 ports will reduce traffic on lan-sfp.

10gbit/s? Upcoming bpi-r4 will have 10g sfp+ ports,but on r3 these are max 2.5g

Ahh, there’s my “problem”, rushing into things again. Thank you for the clarification!

Okay, time to read the SFP threads…

you need this : https://www.aliexpress.com/item/1005004545962352.html

i bought this one : https://www.aliexpress.com/item/1005003922625830.html

but unfortunately it doesn’t seem to support 1G, But TP-Link says it should work at 2.5/1G

root@OpenWrt:~# ethtool sfp2
Settings for sfp2:
        Supported ports: [ FIBRE ]
        Supported link modes:   2500baseX/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  2500baseX/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: d
        Wake-on: d
        Link detected: yes

i’m wondering if it is not a counterfeit ?

Yes and there are some patches from @ericwoud to get them completely working. Current linux only works in 2.5g mode only…lower speed is not detected,and will cause retransmitts

For tplink version it seems to need special handling

the patch is in the snapshot ? or do we have to compile our own firmware with this patch ? if yes then where can we find it ?

i move the discussion about the TL-SM410U here

No,not yet merged anywhere…SFP OEM SFP-2.5G-T kernel PHY?

I only have a patched mainline kernel here:

You can use it with debian.

Pre-build archlinux package:


If you know how, can use the binairies inside.

Hmm, I just bought the TL-SM410U from eBay yesterday. Shrug, I want to use it at 2.5GB anyways…

Please request information from TP-LINK or where ever you bought your TL-SM410U module regarding how to access the built-in RTL8221B PHY’s Clause-45 register space. For other 2.5G modules @ericwoud figured out how to access the PHY using RollBall protocol, but for the TL-SM410U that doesn’t seem to work :frowning:

Edit: I’ve tried to contact TP-LINK China support and all they told me was that the product is not meant to be available outside of China and asked where I had bought it – I had bought it from a TP-LINK-branded outlet on AliExpress, which I told them and never got a reply from there on. I’ve also tried to contact them via that shop on AliExpress, in a reply to my purchase there, but they only again referred me to TP-LINK support in China.

Edit 2: I’m aware that the module works fine in 2.5G mode only – just without access to the PHY there is no way for the host to know the speed of the link partner and hence whether to use 2500Base-X or SGMII for the link between MAC and PHY. As it also doesn’t seem to be configured for rate-adapter mode (and we don’t have anything we can do about it) we can’t support 1000M/100M/10M at the moment.

1 Like

Thank you for trying. Mine is still working great.

That is too bad, but on the product description it says that it also supports 1G.

That may still be true if you stick it into a device which doesn’t care about what’s in the EEPROM and just assumes 1000Base-X…

I’ve got both v1 and v2 version of the TL-SM410U here and both do not perform rate-adaptation using pause-frames, ie. link with anything else than 2500M doesn’t work.