NBASE-T Support for Intel X550
-
[2.5.0-DEVELOPMENT][admin@pfSense.localdomain]/root: ifconfig -m ix1 ix1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=e538bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> capabilities=e53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> ether a0:36:9f: inet6 fe80::a236:9fff:fe27:b1f6%ix1 prefixlen 64 scopeid 0x2 inet6 fe80::1:1%ix1 prefixlen 64 scopeid 0x2 inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 media: Ethernet autoselect (Unknown) status: active supported media: media autoselect media 100baseTX media 1000baseT media 10Gbase-T
same in 2.5.0 :( definitely an FreeBSD/PFsense driver only issue . tested with Ubuntu bootable usb as well. as with windows it displays and auto negotiates at 2.5g just fine, i may test under newest FreeBSD tomorrow on the pfsense box it self.
-
Mine was always 2.5. Definitely FreeBSD/Intel issue, nothing to do on pfSense side. But at least it works now and this should not be a problem anyway.
-
Even the latest driver from Intel does not list 2.5G or 5G link speeds.
https://downloadcenter.intel.com/download/14688/Intel-Network-Adapters-Driver-for-PCIe-10-Gigabit-Network-Connections-Under-FreeBSD-?product=192957Steve
-
@stephenw10
This is the same driver we have in pfSense 2.5.0. Don't know are there any plans to implement full support for NBASE-T or not, can't find anything about it on FreeBSD side. -
Installed a Netgear CM2000 modem today. It's a DOCSIS 3.1 modem with a single 2.5GBASE-T port. The modem reports a 2.5G connection and pfSense reports "Unknown" as @WanTime showed earlier. I also see "<rxpause,txpause>" but it does not affect the connection as far as I can tell.
I'm getting an aggregate bandwidth of about 1.2 Gbps between devices so Comcast is overprovisioning my gigabit service. Upload is still terrible however.
-
Can anyone recommend a 1-port and/or 2-port low profile card?
-
Just another data point:
pfsense 2.5.1-RELEASE (amd64)
Intel X550-T2 connected to the 2.5Gb port on an Arris Surfboard S33 Cable Modem support page:
Standard Specification Compliant DOCSIS 3.1 Hardware Version V1.0 Software Version TB01.01.001.14_102120_192.S3 Energy Efficient Ethernet Enabled
Connected with a 10m Cat8 Cable.
ifconfig -m ix1 reports:
media: Ethernet autoselect (Unknown <rxpause,txpause>) status: active supported media: media autoselect media 100baseTX media 1000baseT media 10Gbase-T
From the transfer speeds it definitely seems to be connected at greater than 1Gb and seems to be 2.5Gb from what I can tell. Obviously it's not paused.
The latest Intel Driver is 3.3.24
The README still says:
This driver supports the following media type options: Media Type Description ---------- ----------- autoselect Enables auto-negotiation for speed and duplex. 10baseT/UTP Sets speed to 10 Mbps. Use the ifconfig mediaopt option to select full-duplex mode. 100baseTX Sets speed to 100 Mbps. Use the ifconfig mediaopt option to select full-duplex mode. 1000baseTX Sets speed to 1000 Mbps. In this case, the driver supports only full-duplex mode. 1000baseSX Sets speed to 1000 Mbps. In this case, the driver supports only full-duplex mode.
Here's the dmesg output from boot:
... ix0: <Intel(R) PRO/10GbE PCI-Express Network Driver> mem 0xfcc00000-0xfcffffff,0xfcbfc000-0xfcbfffff irq 19 at device 0.0 on pci2 ix0: Using 2048 TX descriptors and 2048 RX descriptors ix0: Using 8 RX queues 8 TX queues ix0: Using MSI-X interrupts with 9 vectors ix0: allocated for 8 queues ix0: allocated for 8 rx queues ix0: Ethernet address: a0:36:9f:28:1f:a6 ix0: PCI Express Bus: Speed 5.0GT/s Width x4 ix0: netmap queues/slots: TX 8/2048, RX 8/2048 ix1: <Intel(R) PRO/10GbE PCI-Express Network Driver> mem 0xfc400000-0xfc7fffff,0xfcbf8000-0xfcbfbfff irq 18 at device 0.1 on pci2 ix1: Using 2048 TX descriptors and 2048 RX descriptors ix1: Using 8 RX queues 8 TX queues ix1: Using MSI-X interrupts with 9 vectors ix1: allocated for 8 queues ix1: allocated for 8 rx queues ix1: Ethernet address: a0:36:9f:28:1f:a4 ix1: PCI Express Bus: Speed 5.0GT/s Width x4 ix1: netmap queues/slots: TX 8/2048, RX 8/2048 ... lo0: link state changed to UP ix1: link state changed to UP ix1: link state changed to DOWN igb1: link state changed to UP ix1: link state changed to UP pflog0: promiscuous mode enabled re0: link state changed to DOWN igb1: promiscuous mode enabled ...
WAN is on ix1, LAN is on igb1, ix0, igb0, and re0 (motherboard) are not currently connected. Eventually ix0 will connected to a 10GBASE-T SFP+ transceiver on a 10G switch as soon as I get around to installing the switch with another 10G Cat8.
So the hardware still seems happy to auto-negotiate to 2500Mbps, even though the FreeBSD ix driver can't report it. ¯_(ツ)_/¯ Annoying, but usable. Where do I sign the "Dear Intel" "metoo" petition? ;-)
-
The presence of
<rxpause,txpause>
there indicates that flow control is active on that link. Not that it's actually paused at that moment. -
I knew that! :-)
Sorry, I should have rephrased that as “Flow Control appears to be working.” Rather than saying the NIC does not appear to be paused. Doh! ;-)
Any guess on when/if this could be addressed by Intel or someone else?
-
No new information there I'm afraid.
-
2.5/5G added to the kernel's ixgbe driver with this commit: https://cgit.freebsd.org/src/commit/sys/dev/ixgbe/ixgbe.h?id=d381c807510de2ebb453a563540bd17e344a2aab
-
@brian-cunnie said in NBASE-T Support for Intel X550:
https://cgit.freebsd.org/src/commit/sys/dev/ixgbe/ixgbe.h?id=d381c807510de2ebb453a563540bd17e344a2aab
Any idea on approximately when this should show up in a pfsense RELEASE? Would I have to change anything?
-
It's only in 13-stable right now so at the very least it would need either to brought into 12 stable or pfSense moved to 13 stable (or newer).
-
@daplumber I don't have any idea when it would show up in a pfsense release.
Also, I've been struggling to get this to work on my non-pfsense straight-FreeBSD 13 firewall, and in spite of several attempts the Intel X550 negotiates a 1Gbe not 2.5Gbe connection. When I get it working I'll update the thread.
-
@brian-cunnie I have found that the connection needs to be pretty clean. I use a Cat8 factory made cable. The chipset also runs pretty warm, I had to ensure good thermal grease and adequate air flow.
-
Interesting. One of the big advantages of 2.5G is that it runs over cat5e. I've never had an issue using igc. Not tried an x550 though.
Steve
-
@stephenw10 I know that’s the spec. I just had zero auto negotiation issues when I switched to a Cat8 cable, I went from Cat5 straight to Cat8 as they were weirdly cheaper at the time, so I skipped Cat5e, Cat6, and Cat7. I just wanted it to work. The other end is an Arris S33 Cable modem which I think is some kind of Broadcom chipset? I don’t know if different chipsets/drivers are better at auto-negotiating?
-
Solution: the reason I've been having trouble getting my FreeBSD-based firewall running on an Atom C3000 SoC to negotiate 2.5Gbe with my Arris S33 modem is that the custom Intel 10G X550 on the SoC does not do NBASE-T—either you get 1Gbe or 10Gbe and nothing in between. Sigh.
On the bright side, I learned a lot about building the FreeBSD kernel and a reasonable amount about the
ixgbe
driver source code and about reading Intel datasheets. I must admit it was kind of fun.I'll revert to plugging the S33 & the firewall into a 1/2.5/5/10 switch, and that'll make it work. I was hoping for a direct connect, but that's not possible.
-
@brian-cunnie Well that’s a bummer. I guess they simplified the network part on the SoC version. I didn’t even realize that existed!
-
Hmm, X553 claims to support 2.5G, but not autonegotiate at that:
https://www.intel.co.uk/content/dam/www/public/us/en/documents/manuals/atom-c3000-family-programmer-reference-manual.pdf#G2.1229696I imagine the external components would also need to.
Steve