My objective is to run this OpenWRT module in LAN mode at 2500Mbps on OPNsense or pfSense. I'm more familiar with Linux(Debian 10.5.0), so I thought I'd try it out on this platform first, especially after seeing these excellent instructions.
I learned from the post that only limited number of switches (Ubiquiti US-XG-6POE, ES-16-XG, US-16-XG) or Broadcom BCM57810S network card support 2.5G on SFP+ for fiber modules. The Broadcom card require some digging in diagnostic mode to enable 2.5G mode.
First step behind. Port 1 enabled for 2.5G. I left Port 2 unchanged in 1G/10G mode.
C : Brd:Rv Bus PCI Spd Base IRQ MAC FmwVer Config
1 : 57810:B0 00:01:00:00 PCIE-8 5.0 0xF180 11 000E1E73C6A0 7.13.0 Mn,2.5GFD
0xF100 P.N.:BCM957810A1006G
2 : 57810:B0 00:01:00:01 PCIE-8 5.0 0xF080 10 000E1E73C6A2 7.13.0 Mn,10G
0xF000 P.N.:BCM957810A1006G
1:>
The second step calls for a little soldering. It's much easier to do it on a network card (sorry, I couldn't resist, not to post this great picture)
or the G-010S-A module itself. Much harder to do. More info at this blog post.
https://rsaxvc.net/blog/2020/8/15/Nokia_G-010S-A_Pin_6_Issue.html
Ethtool has discovered a new link mode
root@debianBCM:~# ethtool enp1s0f0
Settings for enp1s0f0:
Supported ports: [ FIBRE ]
Supported link modes: 1000baseT/Full
2500baseX/Full
Supported pause frame use: Symmetric Receive-only
My last step was to compile a new 2.5G bnx2x driver (bnx2x_warpcore+8727_2_5g_sgmii.patch)
Do you see now 2500baseX/Full in the advertised link modes? The link will not come up unless the fiber is connected and the module is authenticated.
root@debianBCM:~# ethtool enp1s0f0
Settings for enp1s0f0:
Supported ports: [ FIBRE ]
Supported link modes: 1000baseT/Full
2500baseX/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: 2500baseX/Full
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Port: FIBRE
PHYAD: 1
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000000 (0)
Link detected: no
It was just a formality to connect to the SFP module and check the speed of the LAN port.
ONTUSER@SFP:~# onu lanpsg 0
errorcode=0 pport=0 mode=15 enable=1 link_status=5 phy_duplex=1
LAN_PHY_STATUS_1000_UP = 4
LAN_PHY_STATUS_2500_UP = 5