[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?

I am using a LuLeey XPON stick called LL-XS2510.

It was detected in the earlier openwrt versions already, but I could never access the web interface.

Today I figured out that the issue was the auto negotiation for the speed between the R4 and the module. I used ethtool to disable autoneg and set the speed to full duplex and 1000Mbit. Then it all worked.

ISP Modem vs WAS-110 (10G XGS-PON ONU SFP+ Stick)

ISP Modem vs Alcatel-Lucent G-010S-P (2.5G GPON ONU SFP Stick)

Source:

1 Like

I found these heatsinks on AliExpress for the ONU SFP Stick, maybe they will help to reduce the temperature of the ONU SFP module.

AliExpress Links:

Blue Heatsink with Thermal Tape:

Green Heatsink with Thermal Tape:

.

They would be placed like this:

Source:

1 Like

Can this 100m SFP+ 10G transceiver work with BPI-R4? Please advise.

I might add that double-sided tape that is applied to those heatsinks from AliExpress is most likely not a thermal transfer tape, but a generic acrylic adhesive tape, which is actually a thermal insulator. Even if it’s labeled as 3M. The real deal from 3M like is the 88xx series tapes. They’re not cheap at all though.

By the way, could someone tell me what extra package I need to see the SFP module temperature with the sensors command? On my system it can only monitor the SoC and wireless Phy temperatures.

Just a word of caution do not attempt to upgrade or install to any new snapshot as of OpenWrt SNAPSHOT, r28056-40b8fbaa97 , opkg is no longer working and other than the core functionality not much else is available. I understand that the migration from opkg to apk has been planned for some time, but is now happened, I have also been advised to sit tight till all the packages have been migrated to the new apk. I did read some posts about Attended Sysupgrade being broken, I experienced the same… This is an issue for me (or anyone else) needing ethtool to get their SFP to work - ethtool is not available yet…