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

It is up, but network is not configured correctly. That is very different. Writing it like that suggests a totally different problem

Fine but then what’s missing (and why does it work with older snapshots as it is)?

Sadly I do not use openwrt… If this was a driver issue, that would not really matter, and I would also be curious as to what is wrong. But this is a userland issue and depends on the operating system of choice. That is, if others also can partly fix it with udhcpc.

I agree it’s most likely a userland issue and the likely culprit is a major netifd upgrade in openwrt-snapshot in early August.

Also, FWIW, the DAC going to my switch works like it always did.

I’m away from home until September, when I get there I’ll try this patch https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=a1a9572f43776c3fed46c4545e93fbbb25d923c2 Something was changed in kernel 6, so it works on 5.4.

FWIW setting force_link worked for me (both on wan and wan6):

config interface 'wan'
        option device 'br-wan'
        option proto 'dhcp'
        option force_link '1'
1 Like

I think the problem is that the module is detected as “DFP-34X-2C3” and not as “DFP-34X-2C2”, maybe the second is the only one supported in the linux kernel.

Try flashing the firmware of the “DFP-34X-2C2” model like these guys did, since both devices are the same and only the connectors are different (UPC vs APC):

This is just a suggestion and I hope you can solve this problem.

@Karasik To change module connection speed, check this discussion: Right SFP EEPROM config for DFP-34X-2C2 to work automatically work at 2500base-X? · Anime4000/RTL960x · Discussion #250 · GitHub

(Though this shouldn’t have anything with your current problem)

1 Like

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.