Modify Intel X540-T2 NIC To Work At 2.5GbE ?
-
Hmm, it does seem like something outside pfSense then. Urgh.
-
@panzerscope
You can try to swap the ports or play with dev.ix.[port number 0 or 1].fc = 0 tunable or even change the card to X540, but… it looks like some ISP limits. Many of them use the phrase "speeds up to xx Gbps" in the contract, which means that the actual speed can range anywhere from 0 to xx Gbps -
@w0w said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
@panzerscope
You can try to swap the ports or play with dev.ix.[port number 0 or 1].fc = 0 tunable or even change the card to X540, but… it looks like some ISP limits. Many of them use the phrase "speeds up to xx Gbps" in the contract, which means that the actual speed can range anywhere from 0 to xx GbpsThanks. Im leaving everything for now until the ISP come back to me. Oddly, the language used by the ISP is almost contradictory. They state that they guarantee speeds up to the point of their router, but to test at different points of the day to get the best idea of the speeds. In other words they shouldn't used the word "Guarantee" at all as they elude that the speeds can be variable.
Historically speaking, their speeds have been rock solid and extremely small variation has been seen. Their upload has always been consistent, until now where it bounces between full advertised speed and half.
Will report back once I have more info.
-
Hey guys.
While I am waiting on my ISP, I have been doing some research with respects to getting the most out of my X550-T2 NIC.
Regarding the options found in System>Advanced>Networking as highlighted in the below image, should any of these be unchecked?
I also did some other research regarding system tuneable and noted someone with an X550-T2 using the below to enhance performance:
net.inet.tcp.tso="0"
hw.ix.flow_control="0"
hw.ix.num_queues=40
hw.ix.enable_aim=1
hw.ix.max_interrupt_rate=30000
kern.ipc.nmbclusters="1000000"
kern.ipc.nmbjumbop="524288"
machdep.hyperthreading_intr_allowed=1I am going to give these a test once I have some feedback, however I have bolded the ones I am unsure of as I believe these are CPU/Hardware specific and wondered if I could get some guidance.
My CPU is shown below.
Could anyone help with some suggested values based on this?
Additionally as per the guide HERE I have added the following.
Happy for other recommendations or any thing I should avoid doing as noted above. While some testing would need to be done, just looking for some "best practice" optimizations concerning my setup.
Many thanks,
P -
When you definitely don't need hn altq support. Those are only found in hyper-V VMs. But it does nothing having it set when you don't have the NICs.
-
@panzerscope said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
hw.ix.flow_control="0"
This one is not working anymore, AFAIK
Use dev.ix.[port number 0 or 1].fc = 0 tunable instead. You can also untick "disable HCO". -
@stephenw10 said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
i226
Thanks for the responses guys. I have made the changes as noted in my prior post. I have an Intel i7 8700 (6 Core/12 Threads) which I am going to go ahead and pop in the firewall as this will give me a higher core clock and hyperthreading.
One question however regarding these variables:
hw.ix.num_queues=6 (Should be set to the number of physical CPU cores you have from what I understand, I set mine to 6 as that is what I have)
machdep.hyperthreading_intr_allowed=1 (Enables the use of logical cores, essentially hyperthreading)The above variables would sort of work in tandem together, so I want to make sure I have them set correctly. Should "hw.ix.num_queues" be set to the value of physical cores ONLY (ignoring logical cores) ? and the "machdep.hyperthreading_intr_allowed" when enabled would make use of any available logical cores.
On another sidenote, I am sourcing a genuine Intel X550-T2. The one I have now is a Lenovo SKU. I am sure the change will make not make any particular difference, but Intel releases its NVM updates more frequently that the sub vendors.
Thanks
P -
@panzerscope
You probably don't need to set those variables. These cards should work at 2 Gbit out of the box. As I already said, try flow control setting.This option might affect something. -
@w0w said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
@panzerscope
You probably don't need to set those variables. These cards should work at 2 Gbit out of the box. As I already said, try flow control setting.This option might affect something.Possibly, but I would like to experiment with them all the same :). I did implement the flow control variable, unfortunately there was no improvement, but will leave it enabled anyway as it seems sensible to.
-
Hey all.
So a little update after installing the Intel X550-T2 and updating to the latest NVM (3.7), replacing the Lenovo SKU of the X550-T2 I originally had installed.
I did some further testing for sanity check and to eliminate other devices being the issue.
I hooked up my Main PC using a 10Gbe NIC (X540-T2) to Pfsense using a brand new CAT6 SFTP cable to remove my switch as the middleman and maybe a bad cable. No discernible difference upon multiple speed testing. So I can remove the switch as the issue.
I wondered if it was the cable going from my ONT to Pfsense causing the issue. Again, used a new CAT6 SFTP cable, again no discernible difference.
The only thing I did witness is when swapping out cables, causing a new connection to the ONT, was that when running a speed test immediately afterwards, my upload was at the full 2GB, but would drop off below that after subsequent tests.
Sitting here for the moment, it is either Pfsense/X550-T2 or the ONT that is being difficult.
Worth noting that I am still forcing 10Gbe link speed with the ONT. Auto negotiation ends up with the WAN going up and down, error in the logs show as "arpresolve: can't allocate llinfo for WAN IP HERE on ix0" This is a Kernel level message.
I am now going to disable some of the pfsense services to see if it is that, though I highly doubt it.
-
This post is deleted! -
@panzerscope
And what about putting your PC directly, without pfsense and testing speeds again? -
I did that a while ago, should have reiterated that going from PC direct to ISP Router gives the full expected speeds.
-
@panzerscope
Hmm... Ok
Just to make sure it's not some hardware-specific glitch, I'd probably try installing IPFire or OpenWRT for x86 instead of pfSense—if you have enough time for such experiments, of course. The main thing is, don't forget to back up your configuration. -
If you set the advertised speeds for auto-neg to only one speed in the sysctls does it still flap?
[25.03-BETA][root@m470-3.stevew.lan]/root: sysctl -d dev.ix.0.advertise_speed dev.ix.0.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.
-
@w0w said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
@panzerscope
Hmm... Ok
Just to make sure it's not some hardware-specific glitch, I'd probably try installing IPFire or OpenWRT for x86 instead of pfSense—if you have enough time for such experiments, of course. The main thing is, don't forget to back up your configuration.I see the logic of doing that, for sure. However I am not willing right now to go that deep with it.
@stephenw10 said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
If you set the advertised speeds for auto-neg to only one speed in the sysctls does it still flap?
[25.03-BETA][root@m470-3.stevew.lan]/root: sysctl -d dev.ix.0.advertise_speed dev.ix.0.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.
If I set a link speed then it will be fine. Auto-Neg is a no go for me otherwise the WAN will go up and down all over the place. So I set it to 10G.
-
So it still flaps even if you expose only one possible negotiation speed?
-
@stephenw10 said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
So it still flaps even if you expose only one possible negotiation speed?
What would the tuneable be for 10g only? Sorry I looked at what you put but don't fully understand the value/flag I need to input for sysctl -d dev.ix.0.advertise_speed
-
It would be like:
[25.03-BETA][root@m470-3.stevew.lan]/root: sysctl dev.ix.2.advertise_speed=4 dev.ix.2.advertise_speed: 6 -> 4
But obviously ix0 or whichever NIC you're using there
-
@stephenw10 said in Modify Intel X540-T2 NIC To Work At 2.5GbE ?:
It would be like:
[25.03-BETA][root@m470-3.stevew.lan]/root: sysctl dev.ix.2.advertise_speed=4 dev.ix.2.advertise_speed: 6 -> 4
But obviously ix0 or whichever NIC you're using there
Thanks. I have popped that in. Does that mean I should set my WAN to Autoselect now or leave it set at 10G? I had it manually set to 10G anyway, so seemingly nothing has changed.