Speaking of SFP weirdness in recent snapshots, my FS 10gbit SFP needs
option force_link ‘1’
on wan and wan6 ever since the netifd update about a month ago. Turning off autoneg did not do anything. Unlike in the excerpt shown above it however did detect link with standard settings…
Today I disassembled bpi-r4 and checked if there are resistors r228, r230, it turned out that there are. I unsoldered them. After that I connected dfp-34x-2c2 and there is still no way to connect to it. For now I made a bridge from mikrotik crs-112 through dfp-34x-2c2 and received a dhcp address from my provider in wan eth bpi-r4. If anyone has other options, what can be done to run dfp-34x-2c2, then I am ready to try them. Thank you.
Previously I had a bpi-r3 and there were no problems with connecting odi dfp-34x-2c2. Now my friend has a bpi-r3 with odi dfp-34x-2c2 and everything works like clockwork.
Would someone recommend a copper SFP(+) module that is known to work out of the box or with minimal tinkering and supports 1G speed? Beside the Xicom SFP±T (SFP-10G-T) that @Vasya mentioned, as I couldn’t find them being sold anywhere.
Thank you. Those are apparently the same SFP-10G-T that @Vasya had luck with. I wonder if the 2.5G one branded as compatible with BPI-R3 will work though.
Quoting the BPI-R4 wiki: “The SFP serdes speed of BPI-R4 is fixed at 10Gbps, so only SFP that support this can be used”. The SP-2.5G-T is also not SFP+, but a regular SFP.
On the other hand, will the SFP-10G-T support 2.5G? Those that Vasya pictured are labeled as 2.5G compatible, while the ‘official’ ones are labled for 100/1000/10000M only.
Another question is temperature. Will a 10G copper module run as hot in a 1G network as it usually does at full speed?
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).
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:
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.
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 )
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.
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’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.
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.
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.
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.