Need a sanity check on BPI‑R4 SFP cages – both ports link but pull a 169.254.x.x (self‑assigned) every time

Hardware: Banana Pi R4, OpenWrt 24.10 snapshot (also tried OMR v0.62‑6.6).

Optics tried so far:

  • Generic‑compatible Ubiquiti UF‑RJ45‑10G (10 GBASE‑T SFP+, 30 m)

  • FS SFP‑2.5G‑T‑I (Industrial 2.5 GBASE‑T, 100 m)

Link LEDs come up and dmesg shows 10 000/2500 Mb, but neither DHCP nor static IP works; Windows/Mac hosts fall back to APIPA. Copper WAN port is fine, so it’s just the cages.

Anyone with a working R4 + RJ‑45 SFP (or a known good DTS tweak / driver patch) willing to share a config or kernel tip? Pointers much appreciated!

Bump, any help is much appreciated!

I have the same problem. My computer does not always get the correct IP address. I use SFP RJ45-LAN 2.5G.

Does the port on the R4 side report link up? Did you check the openwrt forum?

Thanks for the reply, Eric! This is what ethtool returns on the SFP WAN & LAN:

I’m currently trying to tackle this from different forums/perspectives, I’ve seen here that the Unify 10G SFP+ Copper modules work ‘flawlessly’ according to some users, but that has not been the case for me. I’m in contacts with the OMR dev, but I’ll definitely check out the OpenWRT forums as well!

And the output of

ip a

To check if the interfaces were asked to go up?

Interesting, my two SFP’s flat out don’t give me any sort of address besides 169.x.x.x

Here it is, CARRIER_DOWN could be a potential clue… but I’m not tech savvy enough to know what it means yet.

I’ve also included ethtool -m [SFP WAN & LAN] incase it helps

It seems to recognize the driver, and all but I’ve tried eveyrthing I can. It seems to be a driver issue, but I don’t know from which end!

Can anyone check this out please? I really appreciate it!

You may have more luck in the openwrt forum for this problem. This really depends on the sfp-quirks/fixups that openwrt is or isn’t applying.

Thanks for the Eric, unfortunately the OpenWRT people said since it’s not official OpenWRT that they couldn’t help.

You’ve wrote above you are using openwrt snapshot ans not the bpi image…why is this not official openwrt?

You’re right I did say that… I apologize well it’s been a journey since we last spoke but fast forward I AM using the latest stable version of OpenWRT now and the problem remains. The SFP wan port got an ip address but it doesn’t seem to auto-neg properly.

You can try to force link speed and duplex or switch off autoneg and on again. The 169 ip is a dummy value.

Autoneg is disabled by default. The computer cannot obtain an IP address. Turning the computer’s network card off and on again may help.

root@OpenWrt:~# ethtool sfp-lan
Settings for sfp-lan:
        Supported ports: [ FIBRE ]
        Supported link modes:   2500baseX/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  2500baseX/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Current message level: 0x000000ff (255)
                               drv probe link timer ifdown ifup rx_err tx_err
        Link detected: yes
root@OpenWrt:~#