Need a dual-port 10G SFP+ NIC for x86

Hi all — looking for real-world recommendations and experience.

Short version of what I need :

  • Dual-port SFP+ (10G) NIC, PCIe 3.0 (x8/x16 slot), full-height (or comes with FH bracket).
  • Must accept GPON / XGS-PON / XGSPON SFP(+) ONU sticks such as Huawei MA5671A and modules based on MaxLinear PRX126 (i.e., the SFP sticks my ISP/market uses). I want the card to accept those SFP sticks and enumerate them as a normal Ethernet interface when inserted.
  • Must support link speeds and autoneg for 1G, 2.5G, 5G, 10G where applicable (the ISP line is 1 Gbps today but I want headroom / multi-rate support).
  • OpenWrt (x86_64) friendly: driver already in mainline Linux kernel (so it’s easy to keep working with OpenWrt snapshots/releases) and known to work with OpenWrt builds; good compatibility with nftables/netfilter.
  • Low power: target ≤ ~10 W typical for the dual-port card if possible (system budget important). If a card needs slightly more, note it explicitly.
  • Cheap used market availability (eBay / AliExpress / surplus) is a big plus.
  • Bonus: full OpenWrt community experience (firmware quirks, offload support, ethtool behavior, et cetera).

What I already looked at (and why I need your help):

  • Intel X520 / X520-DA2 class (82599) are common on the used market and low power (~7–10 W dual-port), but many are PCIe2.0 cards; I prefer a PCIe3.0 card.
  • Intel X710 series is PCIe3.0 and has newer variants that add multi-rate support; some SKUs and revisions differ in power and 2.5/5G support, so I need clarity which exact SKU is best if I go Intel. Typical numbers for some X710 SKUs are in the single-digit to low-teens watts.
  • Mellanox ConnectX-3 / ConnectX-3 Pro show up cheap used and are widely supported under Linux (and comparatively low power for SFP+ cards). They often work well with SFP+ transceivers but I want real experience with PON SFP sticks (MA5671A / PRX126).

Questions for folks who’ve done this before:

  1. Which exact dual-port SFP+ PCIe-3 NIC did you buy (model, revision, vendor SKU)? Did it support the Huawei MA5671A or PRX126-based sticks without vendor lock or weird EEPROM checks?
  2. Power profile: what idle/typical power did you measure for the card with two SFP(+) modules inserted? (real measurements > vendor datasheet preferred). If you measured >10 W, how did that affect your platform/homelab power budget?
  3. OpenWrt experience: which OpenWrt branch/kernel did you run, and did the card require out-of-tree drivers or firmware blobs to work? Any nftables / conntrack / nft offload corner cases?
  4. SFP(+) compatibility: did your NIC accept XGS-/XG-PON or GPON SFP sticks (e.g., MA5671A, XGS-PON sticks with PRX126) directly into the NIC’s SFP+ cages and expose the link as Ethernet? Any issues with vendor ID/EERPOM checks that required reflashing the SFP stick or using a “generic” SFP firmware?
  5. 2.5G / 5G fallbacks: if your setup required multi-rate (1G/2.5G/5G), which card handled autoneg reliably? Any special ethtool settings needed?
  6. Where to buy used: good keywords / seller flags / SKUs to avoid (e.g., “X710-T4L vs X710-T4” SKU differences, or vendor-branded PXE/firmware that blocked certain SFPs).

Recommendations I’d value (explicit, short):

  • A top 2 model SKUs you personally recommend (exact part numbers) and why.
  • Any inexpensive SFP+ XGS-PON / XGSPON sticks that are known to work out of the box with mainstream NICs (preferably those using PRX126).
  • If you had to choose between Intel X710 (PCIe3, mainstream, stable driver) vs Mellanox ConnectX-3 (cheap used, low power, good SFP compatibility): which would you pick for an OpenWrt x86_64 router box meant to accept MA5671A / PRX126 sticks?

Why I care about these specifics (so you can tailor replies):

  • I want to insert a PON SFP(+) ONU stick into the NIC’s SFP+ port and have OpenWrt see it as the WAN interface (like inserting a normal SFP+ fiber transceiver), similar to how people put MA5671A sticks into switch/router SFP slots. If a NIC enforces vendor lock on transceivers or the driver/firmware blocks the module, that’s a showstopper.

Helpful background / constraints:

  • System is x86_64 OpenWrt; I’ll build a kernel image but want to avoid needing long-term out-of-tree drivers. ixgbe / i40e / mlx4/mlx5 are preferred when they’re mainline.
  • Budget: looking for used or surplus — happy with Intel/Mellanox/older Chelsio if the other constraints are met. Chelsio T5xx cards sometimes run hotter and draw more power; mention that if you suggest Chelsio.

If you reply, please format like this:

  • Model / SKU (link to datasheet if available) — short verdict (works / mixed / avoid). Include measured or datasheet power if known.
  • Notes: any firmware quirks, required kernel versions, SFP compatibility notes (MA5671A / PRX126), and buying tips (seller keywords, what to avoid).

Thanks in advance — I’ll summarize the top picks into a single edit later for others to find.

I'm not sure I am able to follow.

How are these pon sfp different from other gbic?

I would go with mellanox all the time.

Hello,
Broadcom 57810S is your answer. I’m also using the same card (specifically the DELL N20KJ) with the Huawei MA5671A ONU stick.
cheers.

They're dirty cheap too, $10 used.

They are usually quite power hungry. But the real problem is that they are pretty smart two port routers with buggy firmware. And often with creative hardware solutions too, like pins with multiple purposes. This leads to compatibility issues

Consider we have x86, mlx connect 3 and one of these pon sfp.
Is it then a possible issue with the firmware in the gbic for Linux or what could go wrong?

Mellanox cx-4 ? Quite nice card, dual 25gig i have, or this one based on marvell. Or put gpon module in switch port and then vlan it to router card.

Mellanox back in the days had direct upstream drivers within Linux. That's one thing I value most. This was around 4.16 something so this should be considered more then solid especially given the fact these cards where used massively in DC.
In the end the only thing matters is the wavelength of the gbic and sometimes other minor details. The speed of the card and module can be set with eth tools.
So. Even you have a 25 GBit card you can set it's port to 1 or 10 GBit however you like or need.

I’m using a dual port (RJ45 tho.) Intel X550-T2 based PCIe v3 x4 card on a used Lenovo SFF desktop. One port goes to my ISP modem, and the other port goes to a 8-port (2.5 Gbe) unmanaged switch with 2 SFP+ uplink ports. Works OK.

Running it on OpenWrt x86_64, 24.10.5.

One issue I encountered with the card is that only one of the 2 RJ45 ports managed to get IPv6 addresses and PD from my ISP. Not sure why. Didn’t have time to troubleshoot why tho. as I needed to put it into use ASAP.