Adding Speed Parameters to X550 Config

Started by spetrillo, September 16, 2025, 09:18:30 PM

Previous topic - Next topic
September 22, 2025, 06:45:13 PM #60 Last Edit: September 22, 2025, 06:49:38 PM by BrandyWine
Quote from: spetrillo on September 21, 2025, 03:06:36 PMMaybe the NVM update was all I needed?
The x550 appears to be some Intel product that they rushed to market, noting support for only 10 GbE/1 GbE/100 Mb/s.
In some early "Product Brief" Intel docs they list NBASE-T 2.5 and 5 with footnote, which read "to be supported in future release of firmware".
A lot of the x550 docs do mention 2.5 5 is disabled in nvm, but I believe this to mean the enable/disable bit is set to disable by default (in the nvm).

It could also just be the early versions of x550 drivers had no code to enable 2.5 5G. Hard to know exactly when/how Intel nvm had code to run 2.5 5G, and when drivers were able to use it.

I believe even the latest nvm has 2.5 5G disabled by default, and you then enable them using sysctl or other method.

As I have mentioned a few times, and it's hinted in Intel readme's and such, using latest "base" driver with latest nvm is best way. I have seen where some people downgrade a newer driver due to some odd issue, but that's usually because they did not install a latest nvm.


Mini-pc N150 i226-V

Quote from: BrandyWine on September 22, 2025, 04:57:38 AM
Quote from: spetrillo on September 21, 2025, 04:43:37 PMSo some interesting driver info for FreeBSD. If I look at the Intel website it tells me the latest FreeBSD driver version is 3.4.31, however when I run sysctl -a | grep dev.ix.0.iflib.driver_version it tells me I am running 4.0.1-k on my OPNsense server. Not sure where this driver came from bc the Intel 30.4.2 pkg only shows the 3.4.31 version.

Will I need to worry about driver updates in FreeBSD?
You have a if_ix.ko or if_ix_updated.ko on your system?
modinfo ixgbe

Driver updates, worry? Maybe not worry, but updates/patches do appear to be recent.

I just did a standard OPNsense install. Its just running 25.7. I ran sysctl -a | grep dev.ix.0.iflib.driver_version. It shows the version as 4.0.1-k. I thought this was the driver version for ix.

Quote from: pfry on September 22, 2025, 07:28:37 AM
Quote from: spetrillo on September 22, 2025, 01:29:54 AM[...]
I gotta say this X550 is toasty...I think I could put grill marks on a hot dog laying on the heat sink!

Yeah, I have a 10GTek X550-T1 which has a larger-than-Intel heat sink, which is nice. I have a Lenovo X550-T2 with the Intel heat sink form factor/mount which I would prefer to use, but my firewall has limited vertical space in the last slot and modifying a heat sink to fit isn't worth the effort. I do have a standard Alpha 50x50x25 heat sink which screws right on, so that's what it's getting, and it will go in a different machine. (The FSP is not designed for passive use, but I used a similar Alpha 60x60x25 sink on an 18W Coppermine years ago and it worked fine.)

The X710 isn't so bad (28nm vs. 40), but I'd still want a heat sink upgrade. Is anyone brave enough to try the E610? 2.5W/port, and apparently uses the ix driver.

I am looking to purchase an E610 but I do not believe it will fit in my Lenovo M720q Tiny. I am constrained by space.

Quote from: BrandyWine on September 22, 2025, 06:45:13 PM
Quote from: spetrillo on September 21, 2025, 03:06:36 PMMaybe the NVM update was all I needed?
The x550 appears to be some Intel product that they rushed to market, noting support for only 10 GbE/1 GbE/100 Mb/s.
In some early "Product Brief" Intel docs they list NBASE-T 2.5 and 5 with footnote, which read "to be supported in future release of firmware".
A lot of the x550 docs do mention 2.5 5 is disabled in nvm, but I believe this to mean the enable/disable bit is set to disable by default (in the nvm).

It could also just be the early versions of x550 drivers had no code to enable 2.5 5G. Hard to know exactly when/how Intel nvm had code to run 2.5 5G, and when drivers were able to use it.

I believe even the latest nvm has 2.5 5G disabled by default, and you then enable them using sysctl or other method.

As I have mentioned a few times, and it's hinted in Intel readme's and such, using latest "base" driver with latest nvm is best way. I have seen where some people downgrade a newer driver due to some odd issue, but that's usually because they did not install a latest nvm.




Definitely agree with that. I would want to run latest OS driver with the latest NVM code.

Quote from: pfry on September 22, 2025, 07:28:37 AMI do have a standard Alpha 50x50x25 heat sink which screws right on
This item comes with a fan on/in it? Does the x550 have fan header or you plug that in on mobo?

Mini-pc N150 i226-V

Quote from: BrandyWine on September 22, 2025, 06:58:32 PMThis item comes with a fan on/in it? Does the x550 have fan header or you plug that in on mobo?

Fans are optional - Sanyo Denki, I believe. I'd probably use Noctua, and just plug into the motherboard. Screws can be a bit tough to find (M3 x heat sink height + fan depth). But for me, I just use it passive, like the factory heat sink... in an actively-cooled enclosure. I tried running an Aquantia AQC-107 (nominally ~7.5W) in a fanless case with a 45x45x25 heat sink, and that did not work well. Anyway, the Alphas ain't cheap, but they have lots of different shapes/sizes/etc. and ship small quantities, at least in the US. Don't take my word on fitment, of course.

Quote from: spetrillo on September 22, 2025, 06:49:55 PMI am looking to purchase an E610 but I do not believe it will fit in my Lenovo M720q Tiny. I am constrained by space.

Both the E610-TX2 and -TX4 look like HHHL cards, same as most these days. PCI-e x4 and x8, respectively. Still too big?
(In the US, Provantage has good prices if you're buying new. Still not cheep.)

Quote from: pfry on September 22, 2025, 11:52:20 PM
Quote from: spetrillo on September 22, 2025, 06:49:55 PMI am looking to purchase an E610 but I do not believe it will fit in my Lenovo M720q Tiny. I am constrained by space.

Both the E610-TX2 and -TX4 look like HHHL cards, same as most these days. PCI-e x4 and x8, respectively. Still too big?
(In the US, Provantage has good prices if you're buying new. Still not cheep.)


Provantage has good prices but they have to order them...not in stock!

Has the x550 speed issue been resolved by 1) updating the nvm, and 2) setting the dev.ix sysctl setting to 23?

And yep, my ix (attached to x520's) also shows the driver as v4.0.1-k
Mini-pc N150 i226-V

Quote from: BrandyWine on September 23, 2025, 04:24:17 AMHas the x550 speed issue been resolved by 1) updating the nvm, and 2) setting the dev.ix sysctl setting to 23?

And yep, my ix (attached to x520's) also shows the driver as v4.0.1-k


Yes I believe those were the key to this working now. I am going to keep an eye on it and also ensure that any NVM updates are applied when they come out.

As a side note I have learned alot about FreeBSD and dont have anxiety about it any longer. I can operate in this world, just like I operate in the Linux world. Sometimes you just got to dive into the deep end of the pool and see if you can swim! I also want to thank those that posted here. You all helped!

September 23, 2025, 05:18:18 PM #70 Last Edit: September 23, 2025, 05:36:51 PM by spetrillo
Hold the presses....

Connected my device to my original switch and port 1 is back to running at 100M, even though port 1 registers as 23. So now I can eliminate everything except my switch or cables. These are the only changes introduced. Everything else, including config, is the same. I am going to swap out cables first, as that is an easy swap. Going to use the cables I tested with.

Swapped cables and we are now running at 2500M on both ports...yea!

Quote from: spetrillo on September 23, 2025, 05:18:18 PMHold the presses....

Connected my device to my original switch and port 1 is back to running at 100M, even though port 1 registers as 23. So now I can eliminate everything except my switch or cables. These are the only changes introduced. Everything else, including config, is the same. I am going to swap out cables first, as that is an easy swap. Going to use the cables I tested with.

Swapped cables and we are now running at 2500M on both ports...yea!
"23" is not a connected speed, it's just a mask number that tells the device what speeds are ok to advertise for autonegotiate.
Can you verify, your test was using different cables not connected to your switch, you then unplug cables from fw and the re-use some oler cables that were still connected to your switch? That shows the 100M issue, you then replaced those cables with the "newer" cables you used in testing, and then it's good?

Does your switch logs show any info relating to speed downshifting, or do they show a basic negotiating link directly to 100M.

From your description of events, appears to have been a cables issue?
Mini-pc N150 i226-V

Yes swapping the cables fixed the issue. The switch log shows the connection and negotiation to 100M. Nothing abnormal.

Quote from: spetrillo on September 23, 2025, 08:31:52 PMYes swapping the cables fixed the issue. The switch log shows the connection and negotiation to 100M. Nothing abnormal.
If the switch is fully 802.3bz compliant it could have ran next/fext for alien noise and decided to accept the lower speed. I wonder what the switch would accept of 100M was not available from the x550? If say 2.5G was the only speed allowed in auto-neg would it accept that or not link at all? For me I would be curious and test it, but since your setup is working that's up to you.

Were your bad cables new and labeled as CAT6?
Mini-pc N150 i226-V

September 24, 2025, 06:39:03 AM #74 Last Edit: September 25, 2025, 11:04:44 PM by BrandyWine
Quote from: spetrillo on September 22, 2025, 06:48:43 PMSo some interesting driver info for FreeBSD. If I look at the Intel website it tells me the latest FreeBSD driver version is 3.4.31, however when I run sysctl -a | grep dev.ix.0.iflib.driver_version it tells me I am running 4.0.1-k on my OPNsense server. Not sure where this driver came from bc the Intel 30.4.2 pkg only shows the 3.4.31 version.

I just did a standard OPNsense install. Its just running 25.7. I ran sysctl -a | grep dev.ix.0.iflib.driver_version. It shows the version as 4.0.1-k. I thought this was the driver version for ix.
Well, the ix ko shows 4.0.1-k
How it's loaded in? It's not in as klm
strings /boot/kernel/if_ix.ko | grep "4.0.1"

kldstat -v |grep ix
it's #146 on my OPNsense.
ix is in the kernel, I suspect the ko is the same code that's in the kernel. Edit: which is the case, v14.3 src code ID's ix driver as 4.0.1-k. Version numbers between freeBSD code and Intel code will be different, because it's different vendors numbering in different ways.

Why have a ko and in the kernel? Well, it is possible to unbind the static ix and then kldload the ko, which gives you flexibility, and ability to load your own compiled ko driver.


Mini-pc N150 i226-V