[BPI-R4] and SFP

seems ethtool gives more information

root@OpenWrt:~# dmesg | grep sfp
[   70.209088] sfp sfp1: Host maximum power 3.0W
[   70.213974] sfp sfp2: Host maximum power 3.0W
[   70.533301] sfp sfp2: module OEM              10G-T-RM-Y-30    rev 1    sn C2408010077      dc 240731
[   70.561973] sfp sfp1: module OEM              SFP-2.5G-T       rev 1.0  sn XC202409051030   dc 240905

I was hoping to see 1 more line… Guess it is different on openwrt.

There are 2 versions of oem sfp-2.5g-t.

I guess he uses it without phy driver…too bad that shop does not ship to germany

It can be rtl8221 or yt8821

Do you know how to use i2cdump?

i2cdump -y 2 0x56

With 2 one needs to find the correct bus number.

root@OpenWrt:~# dmesg | grep i2c
[    2.203409] i2c_dev: i2c /dev entries driver
[   70.040657] i2c i2c-1: Added multiplexed i2c bus 2
[   70.045530] i2c i2c-1: Added multiplexed i2c bus 3
[   70.050386] i2c i2c-1: Added multiplexed i2c bus 4
[   70.055239] i2c i2c-1: Added multiplexed i2c bus 5
root@OpenWrt:~# i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- 51 -- -- -- -- -- UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@OpenWrt:~# i2cdetect -y 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- -- -- 56 -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@OpenWrt:~# i2cdetect -y 4
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@OpenWrt:~# i2cdetect -y 5
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@OpenWrt:~#

root@OpenWrt:~# i2cdump -y 3 0x56
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 20 58 00 06 00 1c c8 49 20 70 00 8a 80 00 00 30     X.?.??I p.??..0
10: 82 00 00 00 00 00 41 a0 00 00 00 00 00 1c c8 49    ?.....A?.....??I
20: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00    ...........?....
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
root@OpenWrt:~# ethtool -m eth2 hex on
Offset          Values
------          ------
0x0000:         03 04 07 00 01 00 00 00 00 02 00 05 19 00 00 00
0x0010:         1e 14 00 00 4f 45 4d 20 20 20 20 20 20 20 20 20
0x0020:         20 20 20 20 00 00 00 00 53 46 50 2d 32 2e 35 47
0x0030:         2d 54 20 20 20 20 20 20 31 2e 30 20 03 52 00 19
0x0040:         00 1a 00 00 58 43 32 30 32 34 30 39 30 35 31 30
0x0050:         33 30 20 20 32 34 30 39 30 35 20 20 68 f0 01 1c
0x0060:         00 00 11 d6 c2 97 d0 20 20 77 eb 4a b1 91 06 77
0x0070:         e1 ff 4a 00 00 00 00 00 00 00 00 00 97 e3 3d a1
0x0080:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0090:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00a0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00b0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00c0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00d0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00e0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00f0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0100:         5f 00 ce 00 5a 00 d3 00 8c a0 75 30 88 b8 79 18
0x0110:         1d 4c 01 f4 19 64 03 e8 4d f0 06 30 3d e8 06 f2
0x0120:         2b d4 00 c7 27 10 00 df 00 00 00 00 00 00 00 00
0x0130:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0140:         00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00
0x0150:         01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 f1
0x0160:         31 7d 81 a4 0b b8 13 88 0f a0 ff ff ff ff 80 ff
0x0170:         00 00 ff ff 00 00 ff ff 02 ff ff ff ff ff ff 00
0x0180:         43 4e 55 49 41 46 4a 41 41 41 33 30 2d 31 33 30
0x0190:         31 2d 30 32 56 30 32 20 89 fb 55 00 00 00 00 78
0x01a0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01b0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 aa aa
0x01c0:         47 4c 43 2d 53 58 2d 4d 4d 44 20 20 20 20 20 20
0x01d0:         20 20 20 20 00 00 00 00 00 00 00 00 00 00 00 a2
0x01e0:         00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01f0:         00 00 00 00 00 00 00 00 00 40 00 40 00 00 00 00

Thank you for sharing your experience with the SFP>RJ45 :pray:

I contacted the AliExpress vendor and received a reply within 24 hours! The vendor says both products are the same!

That is the rtl8221, so it is possible to use tge phy driver…

Actually, you can buy a good 2.5g rtl8221 adapter for almost the same price…It also does 1g.

The 88e1111 module will probably also work ok, but you never know for sure until you try it.

If you will be intrested i got few corner cases with using this sfp+ with bpi-r4

1 - SFP-2.5G-T stop receive traffic after software reboot.

For example if i restart bpi with reboot command or restart Wan interface coresponded to this sfp+ module then it can’t receive any packet from ISP Even replug ethernet cable can’t solve this problem Only way to fix it is to replug sfp module from router. Or reboot router with power switch

it is not so critical in real case because i rarely change some settings that need software reboot

i seen some patches that sound similiar but don’t know if its really same problem - [openwrt-24][mt7988][eth][Fix the issue of firmware loss after toggling the interface up and down for the Aquantia 10G PHY] https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/25e6da735931937668f11a5f339dc7b033710d1c

2 - sfp+ speed maximum to 8gbit\5gbit rx\tx

i was not able to achiveve speed over 8gbit receive and 5gbit transfer with iperf3 test I tried this 10gbe sfp+ and also 3meter DAC sfp+.

Same speeds

bpi-r4 cpu load to 25%

Good day! I would like to understand: is it possible to use regular SFP RJ45 for 1Gb? None of the models that I have are suitable: the error is the same:

 OpenWrt SNAPSHOT, r26895-d7a76fc351
 -----------------------------------------------------
root@OpenWrt:/# [   51.702912] sfp sfp1: module Molex Inc.       74741-0015       rev A    sn 83182063         dc 081113
[   51.803665] mtk_soc_eth 15100000.ethernet eth2: validation with support 00,00000000,00000000,00000000 failed: -EINVAL
[   51.814377] sfp sfp1: sfp_add_phy failed: -EINVAL

root@OpenWrt:/# dmesg | grep sfp
[   12.077394] sfp sfp1: Host maximum power 3.0W
[   12.082269] sfp sfp2: Host maximum power 3.0W
[   51.702912] sfp sfp1: module Molex Inc.       74741-0015       rev A    sn 83182063         dc 081113
[   51.814377] sfp sfp1: sfp_add_phy failed: -EINVAL
root@OpenWrt:/#

How can I deal with the above problem?