Adding Speed Parameters to X550 Config

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

Previous topic - Next topic
Quote from: BrandyWine on September 23, 2025, 09:47:22 PM
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?

They were labeled as Cat6 and prolly no more than a year old. I am going to end up swapping out all cables for new ones, when I build my mini rack.

Quote from: BrandyWine on September 24, 2025, 06:39:03 AM
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.




So then dont worry about this for my build.

Quote from: spetrillo on October 04, 2025, 06:42:18 PM
Quote from: BrandyWine on September 24, 2025, 06:39:03 AM
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.




So then dont worry about this for my build.
The driver is in the kernel, is what I was getting at. The GENERIC build still builds the kmods ko's, and many of them are compiled into the kernel modules.

To use the Intel one you need to re-compile kernel without ix, just as I outlined in the e610 thread.
Mini-pc N150 i226v x520, FREEDOM

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


Well, I updated my nvm to 3.70 and now PCI passthrough of the X550 port to the VM is broken (QEMU VM on Ubuntu). The opnsense dmesg error is "ix0: Error 2 setting up SR-IOV" but I'm not using VFs, this is direct hardware pass-through. This is motherboard integrated X550 (ASRock Rack X570D4U-2L2T) and ports work fine on the host system, just not in the VM.

I tried compiling the latest Intel driver (corresponding to the nvm version) but of course as BrandyWine mentioned the if_ix driver is compiled into the kernal  and I'm not going down the kernel re-compile path. The ix version in 26.1 is 5.0.1-k though so maybe drivers aren't the issue.

Oh and you can't downgrade 3.70 due to MinSRev. I guess spetrillo is running on bare metal so it could be a VM issue.

Yes I was running bare metal. You should not worry about upgrading your VM, as its the hypervisor's version that is in charge.

Did you comb through BIOS settings looking for any Virtual settings that need to be enabled. What about a new version of BIOS?

What I suspect is, new NVM is not playing nice with the existing static driver KLM.

Depending on actual OS you might be able to unload the static KLM and then load in a new KLM for the 550.

This is one of my gripes, shoving a bunch of driver mods into the GENERIC build of kernel, which makes it very difficult to try out new KLM's in attempt to fix issues. An OS install should find the hardware and then activate the related KLM's, this way it's still "P&P" but you at least get to pull a mod out and put some in as you see fit. This also makes the kernel more lightweight.
Mini-pc N150 i226v x520, FREEDOM