Adding Speed Parameters to X550 Config

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

Previous topic - Next topic
September 19, 2025, 06:10:16 PM #45 Last Edit: September 22, 2025, 05:01:45 AM by BrandyWine
Quote from: spetrillo on September 19, 2025, 04:00:12 PMFirst off I very much appreciate everyone's input to this. I really wish Intel would make it more straight forward but so be it. I do have one question and that is about the NVM update. Is that the only update I need to do to this card? We have talked about firmware and NVM almost interchangeably and I want to make sure I do whatever updates need to be done. I see the NVM update directory in the 30.4.2 update. I can follow that bouncing ball but is there another update for firmware or am I done at that point? Second what does the boot agent do for me and what options do most people pick when doing that kind of update on these cards?
Yep, for nvm just follow the directions, see post #38.

OR

You can curl -O the bundle download link from the fw device.
ssh into the box, shell "8"

unzip *.zip
cd ./Release_30.4.2.zip/NVMUpdatePackage/X550/
tar -xzf X550_NVMUpdatePackage_v3_70_FreeBSD.tar.gz
cd X550_NVMUpdatePackage_v3_70_FreeBSD/X550/FreeBSDx64/
chmod +x nvmupdate64e
./nvmupdate64e

***********************
Boot agent is the code that allows the system to boot from a boot image that is located somewhere outside your device.
Mini-pc N150 i226-V

September 19, 2025, 06:13:11 PM #46 Last Edit: September 19, 2025, 07:19:12 PM by BrandyWine
Just info:
That newer 30.4.2 download bundle only has 3 new files (names, 1 dir 2 files) for ESX9. Note I said names. I checking to see if files of same names have different MD5. The only file that has same name but different MD5 was "epct.txt" in the APPS folder. Everything else (of same name) was same MD5.

Quote$folder1 = "C:\Users\WildRice\Downloads\30.4"
$folder2 = "C:\Users\WildRice\Downloads\30.4.2"
$folder1Items = Get-ChildItem -Path $folder1 -Recurse
$folder2Items = Get-ChildItem -Path $folder2 -Recurse
Compare-Object -ReferenceObject $folder1Items -DifferenceObject $folder2Items -Property Name

located in 30.4.2 bundle zip \APPS\intnetcli\

Compare-Object -ReferenceObject $folder1Items -DifferenceObject $folder2Items -Property Name

Name                                        SideIndicator
----                                        -------------
ESXi9.0                                      =>         
Intel-esx-intnetcli_9.0-1.16.1.0-package.zip =>         
intnetcli-esx90-readme.txt                  =>
Mini-pc N150 i226-V

Ok, more good discovery.

I just found.
Besides the nvmupdate util, there's an "app" called EPCT (ethernet port configuration tool).
In the Intel download bundle look in "\APPS\EPCT\" folder, read the epct.txt
Check out the "Detailed Usage Examples" section !
Mini-pc N150 i226-V

Ok so I finally got the NVM updated. We are now running 3.70, which matches the package. I installed Ubuntu 24.04.3, so I could work on a platform I know. I am not a FreeBSD guy, even though there are similarities. I just wanted to be on an OS I knew. I saw your update about EPCT. I followed the bouncing ball but the wierd part is the EPCT64e command comes back with no supported adapters found. Not sure why this happening but going to investigate a bit more.

Vendor ID is 8086 and Device ID is 1563, so we now confirm this is an Intel X5520-T2.

More to come...

September 20, 2025, 11:22:57 PM #49 Last Edit: September 20, 2025, 11:30:46 PM by pfry Reason: Added Chelsio URL
Quote from: spetrillo on September 20, 2025, 08:22:52 PM[...]
the EPCT64e command comes back with no supported adapters found.[...]

It looks to me like a specialist utility for defining... er, port divisions for QSFP-based optical Ethernet adapters (40, 100, 200Gb - those that use a 4b interface). Useful if you wish to subdivide a point-to-point link or break out an interface into multiple connections. Examples: QSFP-to-SFP breakout DACs/AOCs (40 to 4x10, 100 to 4x25, 200 to 4x50) or QSFP-to-SFP adapters (where speed is determined by the installed SFP).

The Intel adapters seem to be pretty flexible. Chelsio T5 and T6 QSFP adapters, for instance, may only be subdivided in very particular ways ("Spider and QSA Modes"). I have no experience with Mellanox/nVidia or Broadcom. Caveat emptor.

There may be more to it. I'd have to try it on an x710 or e810.

Which nics are supported with EPCT tool? I am not 100% on that, but Intel page has more ink to read.
https://www.intel.com/content/www/us/en/download/19435/ethernet-port-configuration-tool-all-supported-oss.html

QuoteOverview
========

The Ethernet Port Configuration Tool (EPCT) is a command line utility
that allows users to change the link type of a device. The supported
types are defined within the adapter's NVM. This utility displays only
the devices that potentially support reconfiguration.
Mini-pc N150 i226-V

Quote from: spetrillo on September 20, 2025, 08:22:52 PMVendor ID is 8086 and Device ID is 1563, so we now confirm this is an Intel X5520-T2.

Note sure which OS you are looking from, but ix in freeBSD 14.3 says the 1563 is just a T model. They list 550T's as these two. I cannot find anything "T2" in driver files. I am not sure it matters because they go by the matching device ID, but we usually see model names in user gui's, so it can sometimes get confusing as to what actual model nic it is when we only look at names. I will assume "X550T" was really meant to say "X550T2".

Quote#define IXGBE_DEV_ID_X550T         0x1563
#define IXGBE_DEV_ID_X550T1         0x15D1

Mini-pc N150 i226-V

September 21, 2025, 04:15:32 AM #52 Last Edit: September 21, 2025, 04:32:27 AM by spetrillo
Quote from: BrandyWine on September 21, 2025, 02:07:02 AM
Quote from: spetrillo on September 20, 2025, 08:22:52 PMVendor ID is 8086 and Device ID is 1563, so we now confirm this is an Intel X5520-T2.

Note sure which OS you are looking from, but ix in freeBSD 14.3 says the 1563 is just a T model. They list 550T's as these two. I cannot find anything "T2" in driver files. I am not sure it matters because they go by the matching device ID, but we usually see model names in user gui's, so it can sometimes get confusing as to what actual model nic it is when we only look at names. I will assume "X550T" was really meant to say "X550T2".

Quote#define IXGBE_DEV_ID_X550T         0x1563
#define IXGBE_DEV_ID_X550T1         0x15D1


Yes I guess it can be confusing. I was still on Ubuntu desktop when I checked for the vendor and device id. Now at least I know I can move forward without worrying about EPCT.

Will I need to worry about driver updates in FreeBSD?

More info - I used the ethtool command to set the speed at 2500 for both ports and they connected at 2500! This is a good step forward. I am going to do a new install of OPNsense tomorrow and see what happens with both ports. Is there a similar tool in FreeBSD?

Ok so I installed OPNsense and booted things up to the console. I set both ports 0 and 1 as follows: sysctl dev.ix.0.advertise_speed=23 and sysctl dev.ix.1.advertise_speed=23. Both ports are now showing as 2500 on my switch, whereas port 0 would show 2500 and port 1 would show 100. That is a very good step forward.

Going to let this sit for a bit and see what happens. Maybe the NVM update was all I needed? How do ppl feel about a driver update in FreeBSD? I would think that is a bit more complicated and I am not sure I want to take that on.

So 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.drive_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 would like to up the MTU on the two X550 ports to 9000. I can use the ifconfig but does this persist through reboots? If not do I just add this as another tunable?

I assume Interfaces > <interface name> > MTU will work as intended, doesn't it?
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

September 22, 2025, 01:29:54 AM #57 Last Edit: September 22, 2025, 01:43:32 AM by spetrillo
Hmmm I use vlans, so my interfaces are the actual vlans.
Maybe I have to make the change at the hardware level using ifconfig and then edit the MTU on each interface/vlan also?

I gotta say this X550 is toasty...I think I could put grill marks on a hot dog laying on the heat sink!

September 22, 2025, 04:57:38 AM #58 Last Edit: September 22, 2025, 05:04:20 AM by BrandyWine
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.
Mini-pc N150 i226-V

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.