I stopped fighting with S+RJ10.
I bought XICOM and they are on phy Aquantia AQR113C
They are 10-15 degrees cooler and seem to be fully supported by openwrt.
But there is one peculiarity: in 2024 they changed the name of their modules for DDMI.
In 2023 and earlier they were called
OEM SFP+-T
Now starting in 2024 They are called
OEM SFP-10G-T
Old 2023 and earlier modules did not detect their phy, but this can be fixed.
You just need to add the name of the old module before building.
Maybe someone will add this fix to the main build in the future.
[ 19.598863] sfp sfp1: module OEM SFP-10G-T rev 1 sn CI2401130569 dc 240112
[ 19.619594] sfp sfp2: module OEM SFP+-T rev 1 sn C2312180155 dc 231218
[ 19.640098] hwmon hwmon2: temp1_input not attached to any thermal zone
[ 19.666445] hwmon hwmon3: temp1_input not attached to any thermal zone
[ 20.239281] mtdblock: MTD device 'ubi' is NAND, please consider using UBI block devices instead.
[ 20.251394] mtdblock: MTD device 'bl2' is NAND, please consider using UBI block devices instead.
[ 20.268447] md: md0 stopped.
[ 20.307591] md0: detected capacity change from 0 to 1937388544
[ 21.864184] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[ 21.879282] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/internal link mode
[ 21.887414] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx
[ 21.889843] mt7530-mmio 15020000.switch lan1: configuring for phy/internal link mode
[ 21.904051] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 21.911104] br-lan: port 1(lan1) entered blocking state
[ 21.916362] br-lan: port 1(lan1) entered disabled state
[ 21.921827] device lan1 entered promiscuous mode
[ 21.930157] mt7530-mmio 15020000.switch lan2: configuring for phy/internal link mode
[ 21.938625] br-lan: port 2(lan2) entered blocking state
[ 21.943863] br-lan: port 2(lan2) entered disabled state
[ 21.949339] device lan2 entered promiscuous mode
[ 21.956305] mt7530-mmio 15020000.switch lan3: configuring for phy/internal link mode
[ 21.964639] br-lan: port 3(lan3) entered blocking state
[ 21.969912] br-lan: port 3(lan3) entered disabled state
[ 21.975367] device lan3 entered promiscuous mode
[ 21.982319] mt7530-mmio 15020000.switch wan: configuring for phy/internal link mode
[ 21.990730] br-lan: port 4(wan) entered blocking state
[ 21.995876] br-lan: port 4(wan) entered disabled state
[ 22.001567] device wan entered promiscuous mode
[ 22.007351] mtk_soc_eth 15100000.ethernet eth1: configuring for inband/10gbase-r link mode
[ 22.030559] mtk_soc_eth 15100000.ethernet eth2: configuring for inband/10gbase-r link mode
[ 23.549413] EXT4-fs (md0): recovery complete
[ 23.553708] EXT4-fs (md0): mounted filesystem with ordered data mode. Quota mode: disabled.
[ 48.129729] hwmon hwmon4: temp1_input not attached to any thermal zone
[ 48.909538] mtk_soc_eth 15100000.ethernet eth2: PHY [i2c:sfp1:11] driver [Aquantia AQR113C] (irq=POLL)
[ 49.919770] hwmon hwmon5: temp1_input not attached to any thermal zone
[ 50.699779] mtk_soc_eth 15100000.ethernet eth1: PHY [i2c:sfp2:11] driver [Aquantia AQR113C] (irq=POLL)
[ 56.561973] mtk_soc_eth 15100000.ethernet eth1: Link is Up - 2.5Gbps/Full - flow control rx/tx
[ 56.570624] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[ 57.281984] mtk_soc_eth 15100000.ethernet eth2: Link is Up - 2.5Gbps/Full - flow control rx/tx
[ 57.290634] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
finally got flow control working on 2.5G and now he understands that this is not 10G
root@OpenWrt:~# ethtool eth1
Settings for eth1:
Supported ports: [ ]
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
1000baseKX/Full
10000baseKX4/Full
10000baseKR/Full
2500baseT/Full
5000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
1000baseKX/Full
10000baseKX4/Full
10000baseKR/Full
2500baseT/Full
5000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
2500baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Link partner advertised FEC modes: Not reported
Speed: 2500Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 17
Transceiver: external
MDI-X: Unknown
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
UPD: I changed the name on the module now I don’t need the quirk.
Old name
OEM+-T
I changed its name to
OEM-10G-T
and now it works normally.
[ 2627.204270] sfp sfp1: module OEM SFP-10G-T rev 1 sn C2312180155 dc 231218
[ 2627.244145] hwmon hwmon2: temp1_input not attached to any thermal zone
[ 2653.565434] hwmon hwmon3: temp1_input not attached to any thermal zone
[ 2654.355229] mtk_soc_eth 15100000.ethernet eth2: PHY [i2c:sfp1:11] driver [Aquantia AQR113C] (irq=POLL)
[ 2683.518830] sfp sfp1: module removed
All information is in this post.
https://forum.banana-pi.org/t/i2csfp-sfp-debugging-via-i2c/17761?u=vasya
Here is the executable file you can run directly on the BPI-R4
i2csfp.tar.gz (298,4 КБ)
root@OpenWrt:/tmp$ ./i2csfp /dev/i2c-3 eepromfix -V OEM -N SFP-10G-T