[BPI-R4] and SFP

1 Like

I found Alcatel-Lucent G-010S-P and Huawei MA5671A GPON ONU SFP Sticks with Lantiq PEB98035 chipset on AliExpress, maybe they will not have the same problems on Banana Pi BPI-R3 / BPI-R4 and OpenWrt as modules with Realtek RTL9601D chipset like ODI DFP-34X-2C2 (aka. HSGQ).

AliExpress Links:

AliExpress Seller Notes:

  • The “Alcatel-Lucent G-010S-P” is already flashed with OpenWrt firmware.
  • The “Huawei MA5671A” is already rooted and flashed with OpenWrt firmware.

.

Quirks already added to the “sfp” driver in the linux kernel to make “Alcatel-Lucent G-010S-P” and “Huawei MA5671A” work automatically at “2500base-X” without problems:

Tutorials:

  1. Detailed authentication configuration of SFP GPON G-010S-P/A & Huawei MA5671A running OpenWRT firmware.
  2. Tutorial for beginners to replace 2.5G optical modem.
  3. Replace ISP ONT/ONU - NOKIA GPON SFP G-010S-A (OpenWrt SFP 7.5.3).
  4. 2.5G GPON with the Nokia G-010S-A ONT and NanoPi R6S.
  5. Nokia Modem Flashing Tutorial (G-010S-A) No profiteering, if you like to tinker, do it yourself!.
  6. GitHub - Instructions for Gigahub Bypass on Bell Aliant.
  7. PON Madness - AT&T GPON ONT Cloning/Bypass - Google Docs.

Posts about Huawei MA5671A and Alcatel-Lucent G-010S-P:

1 Like

2.5G GPON ONU SFP Sticks Power Consumption Test

Huawei MA5671A vs Nokia G-010S-A vs Alcatel-Lucent G-010S-P vs ODI DFP-34X-2C2

@kuzevich1983

I was able to get my 2.5G xpon stick to run on the banana BPI-R4 by doing exactly the same I had to do on the BPI-R3, patch the kernel to force the sfp link to be 2.5G. The patch is exactly the same for the R4 as for the R3. ( I’m using OpenWRT master) My 2.5 xpon stick is a clone of the ODI one, so it should also work for the ODI.

@Betonmischer

I have a bunch of sfp modules with me that I tested on the BPI-R4, one 10g copper module, 3 diferent brand 2.5G copper modules, several 1G fiber modules. They all work well and thus this means that The BPI-R4 is compatible with 10G, 2.5G and 1G modules. ( using OpenWRT master )

1 Like

Please describe what patch you use to work dfp-34x-2c2 on bpi-r4, if you can describe how to apply it, I will be very glad if my problem is solved. Thank you in advance. Thank you for your answer.

I created a file named 952-add-sfp-quirk.patch with the following content:

--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -458,6 +458,10 @@ static const struct sfp_quirk sfp_quirks[] = {
        SFP_QUIRK_F("OEM", "RTSFP-10G", sfp_fixup_rollball_cc),
+       // DFP-34X-2C2 GPON ONU supports 2500base-X
+       SFP_QUIRK_M("OEM", "DFP-34X-2C2", sfp_quirk_2500basex),
+       SFP_QUIRK_M("OEM", "XPON-Stick", sfp_quirk_2500basex),
+       SFP_QUIRK_M("OEM", "GPONOLTC+++", sfp_quirk_2500basex),
        SFP_QUIRK_F("Turris", "RTSFP-10", sfp_fixup_rollball),
        SFP_QUIRK_F("Turris", "RTSFP-10G", sfp_fixup_rollball),
 };

and placed it in target/linux/mediatek/patches-6.6/

What this patch does is, it forces any sfp stick that identifies itself as OEM DFP-34X-2C2 or OEM XPON-Stick or OEM GPONOLTC+++ to sync at 2.5G speed. It does so by adding a sfp quirck to the sfp.c file. In your case you have to modify the patch so that it matches the identifier of your strick, so just select one of the three lines I added ( the ones with + ) and edit it and change to your stick identifier. If your stick identification is one of those three, you don’t have to edit the patch. You then build OpenWRT from source and it’s done.

I must say that this is not a good choice. More information here:

https://patchwork.kernel.org/project/netdevbpf/patch/AS1PR03MB8189AD85CEB6E139F27307D3827F2@AS1PR03MB8189.eurprd03.prod.outlook.com/ https://patchwork.kernel.org/project/netdevbpf/patch/AS1PR03MB8189FE82C632EBA97644D70082642@AS1PR03MB8189.eurprd03.prod.outlook.com/ https://patchwork.kernel.org/project/netdevbpf/patch/TY3P286MB2611C0FA24318AA397DB689B985A2@TY3P286MB2611.JPNP286.PROD.OUTLOOK.COM/

I’ve seen those messages before, actually, the submited patch was what I used to make mine agaisnt the current openwrt master. It’s the choice that works. If you find another that doesn’t require adding the quirk I would be very much interested in knowing about it.

Actually ODI sticks’ eeprom can be modified through i2c bus directly and I have already posted in this topic before. More information here: Right SFP EEPROM config for DFP-34X-2C2 to work automatically work at 2500base-X? · Anime4000/RTL960x · Discussion #250 · GitHub

1 Like

I’ve come across that post when trying to figure out how to make the stick work but I thought it would be too risky. patching the kernel is risk free but it does bother me to have to do it.

I may order another stick and try changing the eeprom.

thanks for the heads up!

This method is not that risky as long as you have a backup of original eeprom data. Because even linux can’t find correct eeprom data, we can still have access to i2c bus and fix the corrupted eeprom data. eeprom access is separated from stick access.

1 Like

ok, you convinced me, I will try it. :slight_smile:

Changes according to your instructions do not work for my bpi-r4+dfp-34x-2c2 bundle firmware V1.0-210702, I will try the latest version. Today I tried to build an image for the be14 wifi module according to the instructions from mediatek and I wanted to put a patch for quirk in it. In the end, nothing worked. I was a little upset, but nothing, I will try again tomorrow. In general, I need a working sfp and be14. Tomorrow I will try to build an image with a quirk patch separately. Thank you all for your answers.

V1.0-210702 is R4’s firmware version? If so, that’s not mainline kernel but SDK. Have you tried firmware here?

OpenWrt Firmware Selector

No, sorry for not describing in more detail. This is the firmware dfp-34x-2c2, the firmware version for bpi-r4 is the latest, snapshot, I also tried 21.02 from sinovoip.

So both version of openwrt firmware won’t work on r4 + sfp? Can you post dmesg message that generated after module plugged in?

Okay, tomorrow I’ll start new attempts to run sfp dfp-34x-2c2 and throw the dmseg logs here.

Please bear in mind that Luleey module is not the same as the Anddear module. The one from the Andear shop has the yt8821 on it, and so for we have not been successful in communicatiing with the phy on the module.

2 Likes

Thank you very much.

Just to add, regular 1.25gbit SFP works for me on the latest master.

1 Like