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 Huawei MA5671A and Nokia G-010S-P xPON 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).
BTW, both Alcatel Lucent G-010S-P (aka. Nokia G-010S-P) and Huawei MA5671A SFPs share the same hardware with minor differences. In fact they’re so similar, I’ve been able to run a Huawei firmware on an Alcatel
The only diffrence is that the Alcatel Lucent G-010S-P has a physical EEPROM chip (24LC16) to store SFP MSA settings (serial number, nominal bit rate, …). This chip is connected to both the GPON SoC and I2C pins on the SFP connector. This way, settings can be read by the SFP host while the SoC is still booting. On the Huawei MA5671A, U-Boot environment variables are used to store MSA settings and an I2C slave driver is loaded on boot to simulate an EEPROM device.
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.