NBASE-T Support for Intel X550
-
@nater said in NBASE-T Support for Intel X550:
Realtek can't be trusted for 24/7 heavy network duties
Same as those 225/226 cards that are not stable on me. I am not sure, maybe some intel driver issue. Realtek works quite well when you are not using some netmap mode like suricata or snort on it. You just need to install the latest drivers, manually, do it before card insertion and you will be fine.
Realtek kmod installBy the way, what exactly happens when you set speed manually on pfSense to 2500?
What is firmware version is on the card now? -
I've never seen any of the reported issues in the i225/226 NICs. Even on the one box I have that has the supposedly terrible rev1/2 i225-V NICs.
The only quirk I've seen is the the igc NICs can only link use auto-negotiate. If you set a specific speed yopu are in fact only limiting he advertised speeds it tries to negotiate. That means it will have issues linking to something that is truly fixed speed and not negotiating.
Steve
-
@stephenw10 said in NBASE-T Support for Intel X550:
've never seen any of the reported issues in the i225/226 NICs. Even on the one box I have that has the supposedly terrible rev1/2 i225-V NICs.
I understand that this question is absolutely off-topic, but did you buy these cards separately or are we talking about built-in cards in Netgate devices?
For pci-e cards, there are different assembly options, single-port ones use the pcie bus directly, two or more ports use pcie splitters, usually asmedia. At the moment I have 3 variants of 225 cards purchased separately and 1 version of 226. They all work, yes. Perhaps I do not rule out that there will not even be any difference with realtek in specific conditions. Not mine, unfortunately. At least for now, I will refrain from recommending these cards for purchase.But for @nater, it is very possible that 226 or 225 will be quite suitable.
I'm not sure that everything is lost with HPE Ethernet 10Gb 2-port 562T Adapter.
-
Almost all the testing I've done is with the on-board NICs on our appliances but I do also have a single port i225 NIC on a card I tested in the 7100 and that was fine too.
-
I have played a bit with NBASE-T on my Intel original X550-T2 card.
EDIT: This card is not on the latest firmware, but some 1.93 stated. Will re-test this with latest later.
Port connected to 2.5Gbit switch. When set pfSense autoselect on that port it can SOMETIMES just crash the firewall and on the next boot it stops saying "Configuring interface xxx "
To boot I need to disconnect the cable.
When set to default it stops for a minute or two on boot and then comes 1000Base-T and not getting IP via DHCP.
If I set manually to 2500Base-T everything is working fine.
Booted to Kali-linux some latest available today.
There is no more 2.5G speed available and card works only on 10GBase-T, any other link – no IP or no media connected. Same for the latest Ubuntu version.
According to this Intel forum link to get the 2.5G it is needed to run 18.04 Ubuntu, so I downloaded it and voilà, no need to set up anything, both ports are working on desired speed. 10G and 2.5 are working “out of the box”.EDIT2: Similar behavior on the latest 3.6 NVM.
Well, it looks like we have at least possibility to get this all working, just a broken driver need to be fixed to get everything to work.Should it be reported? I don't know…
-
Crasdumps crash_x550.txt
Also reading FreeBSD forum provides more information about what is wrong with that card
For example this answer on Intel forums -
One of those look likes this: https://redmine.pfsense.org/issues/14431
Probably a symptom of the link failure rather than a cause of it.
Yes, likely a driver update required to get auto-select working. -
@stephenw10 said in NBASE-T Support for Intel X550:
Yes, likely a driver update required to get auto-select working.
It not just auto-select not working, but I can not get any IP by DHCP on the second, ix0 port, even if it up and running, if I do packet capture I see at least that some packets are moving, but don't see any DHCP offerings. That's strange. Will do further testings soon, may be I've missed something.
-
When mode is autoselect and speed is 1G, then pcap shows only my PPPoE PADI connection retries and Errors IN constantly grows UP, whatever it means and no packets going in. Does anyone else have the same behavior?
-
Booted into 2.6, using recovery mode. Got both ports running, one port shows "unknown" speed, but got IP address, so it's like @nater said just don't show the correct NBASE-T speed. Second shows correct speed and also works fine. Should I create redmine ticket or it's already known problem?
-
Which part? The fact it won't auto-negotiate? That's an upstream issue but we can open a ticket to track it.
-
@stephenw10 said in NBASE-T Support for Intel X550:
Which part? The fact it won't auto-negotiate?
Yes, it would be nice to solve all issues. I understand perfectly well that this is outside the area of responsibility of Netgate. But… Netgate have more chances to get it fixed in cooperation with maintainers.
BTW… Thanks to another thread and your suggestions…
dev.ix.1.advertise_speed: Control advertised link speed using these flags: 0x1 - advertise 100M 0x2 - advertise 1G 0x4 - advertise 10G 0x8 - advertise 10M 0x10 - advertise 2.5G 0x20 - advertise 5G 100M and 10M are only supported on certain adapters.
I found that default dev.ix.1.advertise_speed: 7
When I select default mode for the interface and set sysctl dev.ix.1.advertise_speed=16 via system tunables tab and then reboot the firewall than it connects on 2.5G speed. -
Ah, so it could simply be a matter of setting a different set of default advertisement flags?
-
@stephenw10
Isn't the same as manual selection of desired speed in GUI?
BTW if I set 2, then it comes with 1000BaseT link, but no data moving as I've been selected in GUI… -
I don't think so, not in ixgbe. As far as I know those NICs support a real fixed speed if you set it. It's igc that does not and setting a speed only sets a single advertisement speed.
-
@stephenw10
Ok, but, I've been checked this right now. Gui selection for 2500, sets
dev.ix.0.advertise_speed: 16
5000:
dev.ix.0.advertise_speed: 32
1000:
dev.ix.0.advertise_speed: 3
autoselect:
dev.ix.0.advertise_speed: 7
10G:
dev.ix.1.advertise_speed: 7 -
Right, those are all multiple advertised values rather than a single available value which is what igc does.
It appears it needs to include the 2.5 and/or 5G bits when set to autoselect and is not.
-
@stephenw10
I think it is commitSetting 63 as value is not possible, because in fact it reports that card is not supporting 10M, but if I set 37 and select "default" it sets media to the 100M and at least it is working, getting an IP address also!
If i select 100M in GUI then it sets the sysctl value to 1, but no IP then. If I change sysctl value to 37 it gets the IP.
36, 32 causes no link on the port, but it is accepted by sysctl.
Setting it to 2 in sysctl the link is active but no IP then. Looks like there are some values are hardly encoded in the other part of code and maybe not on the pf side. I will try the Ubuntu again to see if I can change the port speed to different values. -
It looks like Ubuntu have similar problems and even worse.
Link negotiation "Ignore" — this mode just means that some other manager or driver itself somehow auto-selecting the link speed, that puts the maximum speed for the link, like 2.5Gbps and 10Gbps.
Selecting 'auto' means 1Gbps in Ubuntu, at least on my cards.
Manual selecting is some kind of lottery that depends on a switch, for example if I select 1Gbps speed on 10G capable switch, it stays on 10Gbps, just ignoring the setting.
On other switch that is capable for 2.5Gbps and fully compliant with NBASE-T, I select 1Gbps, and it changes the link speed, but then no IP received from DHCP, like it happening on the pfSense side.I have found one x550 user report that in the Windows you need manualy select the link speed for X550 when the other side is 226 intel card.
I hope those findings will help someone to make things a bit better.
At least it would be good to use dev.ix.1.advertise_speed: 37 as default value, so you will have a working connection, but this need to be tested.
-
Yes it would need to be extensively tested. Because it looks like that was deliberately not set as a default in order to prevent negotiation issues with some other hardware. So if we set that as a default it could break links for anyone with that hardware.