[BPI-R4] SFP works in openWRT 21.02 only?

Stick is defined by the “HW ID”, the name is just a string in the EEPROM. Patches change link speed 1Gbps to 2.5Gbps without renaming 2c2 to 2c3. In kernel 5.4 it works without problems at a speed of 1 Gbps, in 6.6 it does not work completely. Apparently the reason is changes in 6.x kernels. When I get back, I’ll try this patch git.openwrt.org Git - openwrt/openwrt.git/commit

1 Like

No need to use quirk to patch speed and mainline linux refuse to accept this patch due to possible lockup. The best way to change speed is still changing eeprom info.

Besides, this module boots very slow, so sometimes system won’t think it is working. Have you tried doing a soft reboot after plugging in the module for a while?

1 Like

Yes, I tried it, it doesn’t work in 6.6. I heard about flashing EEPROM, but didn’t understand how to upload the changed firmware.

1 Like

@frank-w Do you have some actual hardware to test this? I see tons of compatibility issues on r4+different pon sticks. This is a severe issue

1 Like

Maybe this will help you:

Firmware Upgrade

No, i have no pon sfp or similar…only the 3 sfp i added to my compatible list in wiki

1 Like

This will most likely help, but I don’t know how to upload the firmware. Somehow through the i2c utility.

Good day. I am also struggling with launching dfp-34x-2c2, I changed the eeprom values ​​as indicated on github, but now when calling the ethtool command, eth2 shows speeds from 1000 to 10000 and the optics connection does not work and it is impossible to connect to the sfp itself via the web interface. Did you manage to do something, if so, describe how. Thank you.

Hi, what patches have you tried? My module will be back in a few days.

Hi, i not tried patches, on another topic on this forum i understand that some sfp patches a included on latest snapshot fit bpi-r4.

Do you have something connected to the M.2 slot at the same time you connect the SFP module?

It appears that the BPI-R4 v1.1 has a design flaw and connecting something into the M.2 slot causes the SFP modules to not be detected or not work.

Source:

Maybe this will help + EEPROM mod For ODI: https://patchwork.kernel.org/project/netdevbpf/patch/AS1PR03MB81893D69344708C98EE2B470827F2@AS1PR03MB8189.eurprd03.prod.outlook.com/

For OEM: https://lore.kernel.org/lkml/[email protected]/T/

If not, then this: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=a1a9572f43776c3fed46c4545e93fbbb25d923c2

I can try it myself in a week.

Not use m.2. BE14 + SFP 10G RJ-45 (good) + SFP DFP-34X-2C3 (problem)

The problem here is that some nvme bring down the i2c where sfps are connected over multiplexer. They cannot be read/detected in this case…in the moment you see the vendor-string for sfp it is not this issue. The most issues are caused by inband management is not working for 2.5g sfp and needs special handling via quirks and/or disabling autoneg.

1 Like

Yes, i have Kingston nvme onboard, tomorrow I’ll remove the nvme disk and check your option.

1 Like

Today I did a small test. By default, my dfp-34x-2c2 works in lan_sds_mode=2 1GB PHY SGMII PHY mode, I decided to switch it to lan_sds_mode=6 2.5 2500BaseX FIBER mode, as a result, I lost access to it, since I configured it via mikrotik crs112 which has 1gb sfp ports, as a result, I disassembled the dfp-34x-2c2 and connected via uart and switched it to lan_sds_mode=4 2.5Gb PHY and again there is no connection with my provider via fiber optics. Previously, I edited eeprom, also without result. Now I’m at a loss. Maybe someone will tell me what to apply, maybe some patch?

1 Like

Do you have to use a gpon?

Can’t just use a fibre adapter sfp module and have the R3/R4 do whatever is done in the gpon firmware? The bpi board is much more capable then the chip on the gpon…

But then you need to know what is all done inside the gpon… But in theory this should be possible, right?

Yes, I use a gpon connection, I previously had a bpi-r3 and there were no problems, now I also have a mikrotik crs-112 which also works fine with a dfp-34x-2c2. I found a tip to check if there are r228, r230 resistors, I’ll check tomorrow and if they are there, I’ll remove them, I also use the nvme slot where I have a Kingston ssd. Maybe this will really solve the problem, since they write that there is a problem with the i2c bus because of the resistors. What do you mean about bpi being able to do more than gpon stick, can bpi emulate the same work as dfp-34x-2c2?

1 Like

I am no gpon expert, so I do not know what you need to have it do.

But if a cpu in a sfp module, running an ancient uboot probably, can do it, then a R3/R4 running Linux can also do it…

You need to somehow connect fiber to R4 and fake ISP’s ONT S/N , DFP-34x allows you to do this.