Hoping someone has got the SFP+ port on a Flint 4 working, or can tell me what it is expected to support.
Setup: GL-BE14000, firmware 4.9.1 . XGS-PON fibre (8 Gbps symmetric, DS-Lite). The ISP's gateway terminates fibre in a removable SFP+ ONU module , so the natural move is to put that module into the Flint's SFP+ cage and drop the ISP router from the path.
The problem: the cage detects the module, reads its EEPROM, reports no receive LOS with a live fibre, and selects a 10G host path — and then the switch port never links. Every port-4 counter stays at zero.
sfp sfp@0: module <vendor/part> rev V1.0 sn [omitted] dc 230110
yt92xx: SFP notify br_nominal=99 ext=0x00 -> speed=5
yt92xx: P4 SFP apply 10G-force path
sfp sfp@0: SM: exit waitdev:detached:down
Module state: waitdev
Device state: detached
Main state: down
moddef0: 1
rx_los: 0 (during the live-fibre control test)
tx_fault: 0
tx_disable: 1
switch0 port 4: enabled, link down
Port 4 RX counters: all zero
Port 4 TX counters: all zero
Tested ONU modules (serials omitted):
MNC MPOS22-LDCE-T2
SourceDoing 1325-00051, rev V1.0
What I think this might mean — and where I need your help:
The combination of waitdev and Device state: detached appears consistent with the SFP bus waiting for its upstream network/phylink device, but I would appreciate confirmation from GL.iNet, because this firmware contains vendor-specific SFP and switch-driver changes and I do not want to misinterpret them.
The SFP debug state also reports tx_disable=1, while the raw TX-disable GPIO reading appeared deasserted. I do not know whether that is active-low interpretation, stale state, or another consequence of the detached upstream device. Which value is authoritative?
Possibly related as a clue only: /etc/board.json exposes an sfp role with "protocol": "none" and no obvious device binding. I understand this may describe GL.iNet UI/default-role configuration rather than the kernel phylink binding.
What I have ruled out, and what remains untested:
-
Two unrelated XGS-PON ONU modules produce the same host-side result. Both are known-good: they register and carry live 8 Gbps service in the ISP's own gateway, on two different ISPs, and swap freely between those boxes. Both reach
waitdev:detached:down, port 4 link down, zero RX/TX counters. That makes a single defective module unlikely. -
However, I have not tested a conventional Ethernet SFP+ transceiver or a passive DAC. That remains the most useful control test, and until I run it I cannot rule out a PON-specific host-interface compatibility problem. If anyone has one working in this cage, that would be very useful to know.
-
Optical control test: with the same module inserted, I moved only the fibre to a second, live ISP line. This generated a real
los_lowevent and changedrx_losfrom 1 to 0. The driver reappliedP4 SFP apply 10G-force pathtwice, but the state remainedwaitdev:detached:down. So the SFP state machine received and reacted to the optical signal transition, yet the upstream Ethernet link never attached. -
Board configuration maps the cage to
switch0port 4 through theeth1CPU trunk. I also tested the intended VLAN configuration, but the VLAN and DHCP layers cannot explain a physical switch port that stays down with every port-4 counter at zero. -
Ethernet 1 was switched to a LAN role so SFP+ was the only WAN.
-
Reasserting
eth1up and port 4enable_port=1changed nothing.swconfig,switch,mii_mgrandethtoolare present; none exposes a documented SFP host-mode override. I did not attempt undocumented register writes.
Possibly related: the Ethernet Port page shows WAN/LAN1 as link down while it is connected and working — same as this thread. If switch link-state reporting is unreliable in general, these might be one issue rather than two.
Why it matters practically: the Flint 4 has exactly two 10 G ports — SFP+ and one copper RJ45. With SFP+ unusable I have to choose between a 10 G WAN and 10 G to my workstation, and I cannot remove the ISP router from the path. On an 8 Gbps line doing sustained large-file transfer, that was the reason for this router.
Questions:
-
Has anyone got the SFP+ port on a Flint 4 to link with any module — ONU stick, Ethernet transceiver, or DAC? If so, which, and on what firmware?
-
Is
switch0port 4's phylink bound to the SFP cage on 4.9.1? Thewaitdevstate suggests it may not be, but I would rather be told than assume. -
Is there a supported way to force the upstream attach, or bring port 4 up, for diagnosis?
-
Does the SFP+ cage officially support only standard Ethernet SFP+/DAC devices, or are 10G-host-interface XGS-PON ONU sticks expected to work? If the former, that is fair — but it is not documented, and the port is described as WAN-capable.
-
What electrical host interface does the driver expect from a 10G module — 10GBASE-R / XFI — and does it perform an Ethernet-module compliance check before attaching phylink?
-
Is
speed=5a private YT92xx enumeration for 10 Gbps, and isbr_nominal=99being interpreted correctly? -
Is
tx_disable=1expected while the state iswaitdev:detached:down, and why does it differ from the raw GPIO reading? -
Could you provide a diagnostic build with SFP/phylink debug enabled, or the relevant DTS / port-4 binding information?
Happy to run any diagnostics or provide full logs.




