Adding Speed Parameters to X550 Config

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

Previous topic - Next topic
Here is the info right from the Amazon listing:

10Gb PCI-E NIC Network Card for Intel X550-T2,2.5GbE/5GbE/10GbE Copper Dual RJ45 Ports,with Intel ELX550AT2 Chip,10GbE PCI Express 3.0 X4 Ethernet Adapter Support Windows/Linux/VMware

So it seems the card is called a X550-T2 but the chipset is AT2. Did i read that correctly?

September 18, 2025, 08:12:57 PM #31 Last Edit: September 18, 2025, 08:38:38 PM by BrandyWine
Quote from: spetrillo on September 18, 2025, 07:46:00 PMSo it seems the card is called a X550-T2 but the chipset is AT2. Did i read that correctly?
Let me explain.
1) You have it in reverse. Chipset is the x550, T AT2 BT2 are the form-factors.
2) Still need "dmesg |grep ix" to see how the system is identifying your x550. It's been seen before, weird device ID's are reported.
3) What switch make/model do you have?
4) I missed it earlier from Intel doc (page 24) in post #28, x550 is 802.3bz compliant. To get 2.5 5G both sides needs to be 802.3bz. It's very possible a "bad" cable causes link to downshift. Is your cable 802.3bz certified? A decent Cat5e cable should support 2.5G w/o issue.
Mini-pc N150 i226v x520, FREEDOM

September 18, 2025, 08:50:08 PM #32 Last Edit: September 18, 2025, 08:57:06 PM by BrandyWine
Quote from: pfry on September 17, 2025, 09:25:16 AMI'm not aware of any cable testing or training as part of any Ethernet link establishment - the link is simply negotiated to the highest common advertised speed
Not the case in 802.3bz, as long as the devices are fully 802.3bz compliant. "NBASE-T Downshift" is the coding name for the learning. It's a method to detect if the cable is causing packet issues, the coding can then do a speed downshift in an effort to remedy the packet issue, this helps keep data moving err free but sacrificing some speed.

A good read (https://archive.nbaset.ethernetalliance.org/wp-content/uploads/2017/05/NBASET-Downshift-WP-1217.pdf)
Alien noise in home environments can be an issue just like a bundle of Cat5e/6 in structured wiring in buildings. More rare in the home though.
Quotehowever, the quality of the cable, how
cables are bundled together, or "alien noise"

IEEE 802.3bz Auto-Negotiation Detail
The 2.5GBASE-T and 5GBASE-T standards use IEEE 802.3bz
Auto-Negotiation, specified in Clause 28, Clause 126.6, Annex
28B, Annex 28C, and Annex 28D.
As part of the link-training sequence,
Mini-pc N150 i226v x520, FREEDOM

Quote from: BrandyWine on September 18, 2025, 08:50:08 PMNot the case in 802.3bz, as long as the devices are fully 802.3bz compliant. "NBASE-T Downshift" is the coding name for the learning.[...]

I had not seen that. Heh. Learn something new every day. I wonder what the implementation rate is. There is some material flying around on the Internet that claims "wide implementation". Perhaps it's been hanging around in the background.

September 18, 2025, 11:19:55 PM #34 Last Edit: September 18, 2025, 11:27:22 PM by BrandyWine
Yet another update.
According to the driver code, you cannot use "dev.ix.<X>.advertise_speed" (well you can, but driver code disables based on phy).
The code is only checking for "phy.autoneg_advertised == 0", so even if per iface is set and the phy is 0, the driver will disable 2.5 5 autoneg capable bits.
More confusing in, Intel docs for x550 explicitly state 2.5 5 bits are set disabled in nvm, so by default those are out, so you must turn them on.

I would recommend using "phy.autoneg_advertised" tunable for best opportunity to get good 2.5 link. Or, set it to a non-zero and then also use the dev per nic setting. I wonder if phy setting overrides dev setting or vice-versa when they don't match?

But perhaps a catch-22. If the phy setting is set to 22, that part of ix code won't match the 'if' statement (so it does nothing), but where then does the ix driver code enable that 22 on the nics, because according to Intel docs for x550, the nvm has by default 2.5 and 5 autoneg capable bits set to disable. So now need to look into other parts of the driver code to see how the driver will set the bits to 'enable' when dev or phy sysctl setting is set to non-zero.

[b]if (hw->mac.type == ixgbe_mac_X550 &&
            hw->phy.autoneg_advertised == 0)[/b] {
            /*
             * 2.5G and 5G autonegotiation speeds on X550
             * are disabled by default due to reported
             * interoperability issues with some switches.
             *
             * The second condition checks if any operations
             * involving setting autonegotiation speeds have
             * been performed prior to this ixgbe_config_link()
             * call.
             *
             * If hw->phy.autoneg_advertised does not
             * equal 0, this means that the user might have
             * set autonegotiation speeds via the sysctl
             * before bringing the interface up. In this
             * case, we should not disable 2.5G and 5G
             * since that speeds might be selected by the
             * user.
             *
             * Otherwise (i.e. if hw->phy.autoneg_advertised
             * is set to 0), it is the first time we set
             * autonegotiation preferences and the default
             * set of speeds should exclude 2.5G and 5G.
             */
            autoneg &= ~(IXGBE_LINK_SPEED_2_5GB_FULL |
                IXGBE_LINK_SPEED_5GB_FULL);
Mini-pc N150 i226v x520, FREEDOM

OK so below is the output from the grep command. What I noticed is the FW and NVM code needs to be updated. I thought I had updated the FW code but maybe it didnt apply. So that is the first place I am going to start working on. The switch is a ReadHD 2.5 gig switch with PoE. I have other devices running at 2.5 gig with no issue. The ethernet cables are Cat6 cables that were purchased about 6-12 months ago. I do not think they said anything about being 802.3bz compliant. I am not sure most cables tell you that.

So my course of action is as follows:

1) Update card with latest firmware and NVM code
2) Test other tunable options mentioned above
3) Dive into X550 code and Intel docs

Am I missing anything?

Steve

[1] acpi0: Power Button (fixed)
[1] ix0: <Intel(R) X550-T2> mem 0xb0400000-0xb07fffff,0xb0804000-0xb0807fff irq 17 at device 0.0 on pci1
[1] ix0: Using 2048 TX descriptors and 2048 RX descriptors
[1] ix0: Using 6 RX queues 6 TX queues
[1] ix0: Using MSI-X interrupts with 7 vectors
[1] ix0: allocated for 6 queues
[1] ix0: allocated for 6 rx queues
[1] ix0: Ethernet address: a0:36:9f:29:94:1c
[1] ix0: PCI Express Bus: Speed 8.0GT/s Width x4
[1] ix0: fw 2.11.11 nvm 1.86.0 Option ROM V1-b3863-p0 eTrack 0x80000c67
[1] ix0: netmap queues/slots: TX 6/2048, RX 6/2048
[1] ix1: <Intel(R) X550-T2> mem 0xb0000000-0xb03fffff,0xb0800000-0xb0803fff irq 16 at device 0.1 on pci1
[1] ix1: Using 2048 TX descriptors and 2048 RX descriptors
[1] ix1: Using 6 RX queues 6 TX queues
[1] ix1: Using MSI-X interrupts with 7 vectors
[1] ix1: allocated for 6 queues
[1] ix1: allocated for 6 rx queues
[1] ix1: Ethernet address: a0:36:9f:29:94:1e
[1] ix1: PCI Express Bus: Speed 8.0GT/s Width x4
[1] ix1: fw 2.11.11 nvm 1.86.0 Option ROM V1-b3863-p0 eTrack 0x80000c67
[1] ix1: netmap queues/slots: TX 6/2048, RX 6/2048

Quote from: spetrillo on September 19, 2025, 02:02:26 AMAm I missing anything?
dmesg cli command.

If you follow the directions for nvm update in the i226 thread, you'll get a log file that tells you what the update utility did.

What is the firmware you speak of?
Mini-pc N150 i226v x520, FREEDOM

September 19, 2025, 03:43:44 AM #37 Last Edit: September 19, 2025, 04:08:10 AM by spetrillo
This is what I updated, and what it looks like I did is update the boot agent: Intel(R) Boot Agent XE (X550)  v2.4.59

So I did not do the firmware correct? I have to be honest I am very confused at this point. I have the Intel 30.4 update downloaded and unzipped. I thought this was the firmware but now I am not soo sure.

I ran the dmesg command...that is the output I posted in my last update. Is this not what you want to see? The rest of the output was about my vlans. I didnt think that was necessary to post but please tell me. You mention the I226 thread. Would you have a link for it? Is there a good doc for doing the update via UEFI? It seems that is the best way to do these updates?

So I just noticed that there is now a 30.4.2 update package. I am downloading that now and going to look into that for an update. Its highlighted in bold that it supports for FreeBSD 13.5 and FreeBSD 14.3 OSes. I wonder if that might help my situation.

September 19, 2025, 04:18:06 AM #38 Last Edit: September 19, 2025, 04:27:12 AM by BrandyWine
Quote from: spetrillo on September 19, 2025, 03:43:44 AMI did is update the boot agent: Intel(R) Boot Agent XE (X550)  v2.4.59

So I did not do the firmware correct? I have to be honest I am very confused at this point. I have the Intel 30.4 update downloaded and unzipped. I thought this was the firmware but now I am not soo sure.

That's the boot agent that allows a nic to boot from nic port.

Just follow the directions in the Intel 34.0 bundle download.
Extract out the FreeBSD tar file from the Intel zip, get it to your system, untar it, run the nvm util.

X550_NVMUpdatePackage_v3_70_FreeBSD.tar

QuoteUpdating Your NVM Using Interactive Mode
========================================

1. Extract the update package into a temporary folder.

2. Start the Intel Ethernet NVM Update Tool by running the executable.
   For example, on an x64 Microsoft* Windows* system, type:

      nvmupdatew64e

   On an x64 Linux* system, type:

      nvmupdate64e

3. Follow the prompts to update the NVM image on the desired device.

Mini-pc N150 i226v x520, FREEDOM

September 19, 2025, 04:34:59 AM #39 Last Edit: September 19, 2025, 04:53:33 AM by BrandyWine
Quote from: spetrillo on September 19, 2025, 03:43:44 AMI ran the dmesg command...that is the output I posted in my last update. Is this not what you want to see? The rest of the output was about my vlans. I didnt think that was necessary to post but please tell me. You mention the I226 thread. Would you have a link for it? Is there a good doc for doing the update via UEFI? It seems that is the best way to do these updates?

So I just noticed that there is now a 30.4.2 update package. I am downloading that now and going to look into that for an update. Its highlighted in bold that it supports for FreeBSD 13.5 and FreeBSD 14.3 OSes. I wonder if that might help my situation.

Download 30.4.2 and see if the bins for x550 are any newer. And yep, best to have latest driver on latest nvm.

Your dmesg has no eeprom listed, weird.
Run pciconf -l -bv to see what device ID is being reported.

You have device with nvm etid 80000c67

The nvm util with cfg will replace your nvm with
Quote;**************************************************************************
;  Retail_SagePond_B0_AT2_noMNG_H86377  ***********************************
;**************************************************************************
BEGIN DEVICE
DEVICENAME: SAGEVILLE_EXT
VENDOR: 8086
DEVICE: 1563
NVM IMAGE: Retail_SagePond_B0_AT2_noMNG_H86377_3p70.bin
SKIP OROM: FALSE
EEPID: 80001860
EEPROM MAP: dSGVL_0.txt
REPLACES: 80000492 80000C67 80000D43 80000CD8 80000C4D 80000F53 8000105A 80001141 80001184 800011FE 8000134E 80001377 8000156E 800016E0 80001731
RESET TYPE: POWER
END DEVICE

Mini-pc N150 i226v x520, FREEDOM

September 19, 2025, 04:48:01 AM #40 Last Edit: September 19, 2025, 05:03:14 AM by BrandyWine
Where are you seeing 30.4.2?
I only see 30.4.1, and 30.4 and 30.3 have been yanked. Odd.
Edit: I was looking at the release notes area on Intel, no 30.4.2 there. That's Intel for you, docs and stuff not well sync'd.

But actual bundle download area has 30.4.2
(https://www.intel.com/content/www/us/en/download/15084/intel-ethernet-adapter-complete-driver-pack.html)

Mini-pc N150 i226v x520, FREEDOM

September 19, 2025, 05:24:32 AM #41 Last Edit: September 19, 2025, 05:35:16 AM by BrandyWine
Sadly, nothing new for your x550. I did not look at the other update files that apply to other x550's. I will get hashes for the rest.

QuoteAlgorithm Hash                             Path
--------- ----                             ----
MD5       6FB99C7C91663CB4C53BBD1A42A766AE \x550\dSGVL_0.txt.30.4.2
MD5       6FB99C7C91663CB4C53BBD1A42A766AE \x550\dSGVL_0.txt.30.4
MD5       13F37D1B5B259C7B5C26B7A018C02D76 \x550\Retail_SagePond_B0_AT2_noMNG_H86377_3p70.bin.30.4
MD5       13F37D1B5B259C7B5C26B7A018C02D76 \x550\Retail_SagePond_B0_AT2_noMNG_H86377_3p70.bin.30.4.2
Mini-pc N150 i226v x520, FREEDOM

September 19, 2025, 05:44:11 AM #42 Last Edit: September 19, 2025, 06:04:40 AM by BrandyWine
Sadly, not a single update for any x550 from 30.4 to 30.4.2
I did the gz's, that tells us the story, but also did all the individual files.
It's just a rebundle for x550, notice both say "v3_70".
There's probably something else in the 30.4.2 bundle that's different. I try and find it.

QuoteAlgorithm Hash                             Path
--------- ----                             ----
MD5       9F13981E915BBB488909EE6E2E7DAC38 \x550\X550_NVMUpdatePackage_v3_70_FreeBSD.tar.gz.30.4
MD5       9F13981E915BBB488909EE6E2E7DAC38 \x550\X550_NVMUpdatePackage_v3_70_FreeBSD.tar.gz.30.4.2
MD5       F332ED2D04CE151509A01C7D709BB5AD \x550\X550_NVMUpdatePackage_v3_70_EFI.zip.30.4
MD5       F332ED2D04CE151509A01C7D709BB5AD \x550\X550_NVMUpdatePackage_v3_70_EFI.zip.30.4.2
MD5       5411C17F56944394AD1A6FC4F81B41C9 \x550\X550_NVMUpdatePackage_v3_70_ESX.tar.gz.30.4
MD5       5411C17F56944394AD1A6FC4F81B41C9 \x550\X550_NVMUpdatePackage_v3_70_ESX.tar.gz.30.4.2
MD5       0CC7A242AF46527AA2341D11D8ABFFDE \x550\X550_NVMUpdatePackage_v3_70_Linux.tar.gz.30.4
MD5       0CC7A242AF46527AA2341D11D8ABFFDE \x550\X550_NVMUpdatePackage_v3_70_Linux.tar.gz.30.4.2
MD5       34C312BC207D184516460458A58FD5FC \x550\X550_NVMUpdatePackage_v3_70_Windows.zip.30.4
MD5       34C312BC207D184516460458A58FD5FC \x550\X550_NVMUpdatePackage_v3_70_Windows.zip.30.4.2


Algorithm Hash                             Path
--------- ----                             ----
MD5       6FB99C7C91663CB4C53BBD1A42A766AE \x550\dSGVL_0.txt.30.4
MD5       6FB99C7C91663CB4C53BBD1A42A766AE \x550\dSGVL_0.txt.30.4.2
MD5       AB3DA920FC6AF9FDF9EC617F0E902F19 \x550\dSGVL_1.txt.30.4
MD5       AB3DA920FC6AF9FDF9EC617F0E902F19 \x550\dSGVL_1.txt.30.4.2
MD5       6D380B2342F28BBCBACCC694F1ABB811 \x550\dSGVL_B0_AT2_MCTP_3p70.bin.30.4
MD5       6D380B2342F28BBCBACCC694F1ABB811 \x550\dSGVL_B0_AT2_MCTP_3p70.bin.30.4.2
MD5       4AAB88AC3F5B424A3D793D4318381B4E \x550\dSGVL_B0_AT2_NCSI_3p70.bin.30.4
MD5       4AAB88AC3F5B424A3D793D4318381B4E \x550\dSGVL_B0_AT2_NCSI_3p70.bin.30.4.2
MD5       02F16CCB674D078D904B359367939F89 \x550\dSGVL_B0_AT2_noMNG_3p70.bin.30.4
MD5       02F16CCB674D078D904B359367939F89 \x550\dSGVL_B0_AT2_noMNG_3p70.bin.30.4.2
MD5       8541437B110A7A98DC900B465EB97CB0 \x550\dSGVL_B0_AT2_SMB_3p70.bin.30.4
MD5       8541437B110A7A98DC900B465EB97CB0 \x550\dSGVL_B0_AT2_SMB_3p70.bin.30.4.2
MD5       D2FECA1A44D3DB5C50973FD3F8D67A37 \x550\dSGVL_B0_AT_SP_MCTP_3p70.bin.30.4
MD5       D2FECA1A44D3DB5C50973FD3F8D67A37 \x550\dSGVL_B0_AT_SP_MCTP_3p70.bin.30.4.2
MD5       CC1BADB271FC08DB1E80D13140609B59 \x550\dSGVL_B0_AT_SP_NCSI_3p70.bin.30.4
MD5       CC1BADB271FC08DB1E80D13140609B59 \x550\dSGVL_B0_AT_SP_NCSI_3p70.bin.34.0.2
MD5       6EC453426AC200339ABA7D3136FCE58F \x550\dSGVL_B0_AT_SP_noMNG_3p70.bin.30.4
MD5       6EC453426AC200339ABA7D3136FCE58F \x550\dSGVL_B0_AT_SP_noMNG_3p70.bin.30.4.2
MD5       6C5513375AC77C549F055E53FD7A47D4 \x550\dSGVL_B0_AT_SP_SMB_3p70.bin.30.4
MD5       6C5513375AC77C549F055E53FD7A47D4 \x550\dSGVL_B0_AT_SP_SMB_3p70.bin.30.4.2
MD5       08ACED106BC6F31EBB3AD54124938302 \x550\dSGVL_B0_BT2_MCTP_3p70.bin.30.4
MD5       08ACED106BC6F31EBB3AD54124938302 \x550\dSGVL_B0_BT2_MCTP_3p70.bin.30.4.2
MD5       272E7C738691B9CC319A15BC0FEF33EB \x550\dSGVL_B0_BT2_NCSI_3p70.bin.30.4
MD5       272E7C738691B9CC319A15BC0FEF33EB \x550\dSGVL_B0_BT2_NCSI_3p70.bin.30.4.2
MD5       5CD7090EC5DDD1CC267E9762D3DC1F90 \x550\dSGVL_B0_BT2_noMNG_3p70.bin.30.4
MD5       5CD7090EC5DDD1CC267E9762D3DC1F90 \x550\dSGVL_B0_BT2_noMNG_3p70.bin.30.4.2
MD5       4FE19F50B2FD0800C5B040F5A757F1F2 \x550\dSGVL_B0_BT2_SMB_3p70.bin.30.4
MD5       4FE19F50B2FD0800C5B040F5A757F1F2 \x550\dSGVL_B0_BT2_SMB_3p70.bin.30.4.2
MD5       52939860AF7A78E513340ABC3F86DBC3 \x550\nvmupdate.cfg.30.4
MD5       52939860AF7A78E513340ABC3F86DBC3 \x550\nvmupdate.cfg.30.4.2
MD5       0FFE7760E396D37924FA759A7EBDD103 \x550\OEMG_sagePond_B0_AT2_MCTP_H49289_3p70.bin.30.4
MD5       0FFE7760E396D37924FA759A7EBDD103 \x550\OEMG_sagePond_B0_AT2_MCTP_H49289_3p70.bin.30.4.2
MD5       0B6AFAF011532D99FC8707BFA5737DF8 \x550\OEMG_sagePond_B0_AT_MCTP_H89173_3p70.bin.30.4
MD5       0B6AFAF011532D99FC8707BFA5737DF8 \x550\OEMG_sagePond_B0_AT_MCTP_H89173_3p70.bin.30.4.2
MD5       13F37D1B5B259C7B5C26B7A018C02D76 \x550\Retail_SagePond_B0_AT2_noMNG_H86377_3p70.bin.30.4
MD5       13F37D1B5B259C7B5C26B7A018C02D76 \x550\Retail_SagePond_B0_AT2_noMNG_H86377_3p70.bin.30.4.2
MD5       C5B89642E5A6888DA12091820BE58AE5 \x550\Retail_SagePond_B0_AT_SP_noMNG_H92506_3p70.bin.30.4
MD5       C5B89642E5A6888DA12091820BE58AE5 \x550\Retail_SagePond_B0_AT_SP_noMNG_H92506_3p70.bin.30.4.2
Mini-pc N150 i226v x520, FREEDOM

September 19, 2025, 07:22:01 AM #43 Last Edit: September 19, 2025, 07:26:12 AM by BrandyWine
I can't find any gz or zip in NVM area where MD5's are different !
30.4 vs 30.4.2 NVM files.
Names(path) appear the same because I had to do some sorting, but no diffs at all.

Whatever is "new", it's not in NVM.

QuoteA1075DB93C862F1D2EECA95B9E6B7E7F   \700_Series\700Series_NVMUpdatePackage_v9_55_EFI.zip
A1075DB93C862F1D2EECA95B9E6B7E7F   \700_Series\700Series_NVMUpdatePackage_v9_55_EFI.zip
126FCC960E7100CF58ECEC415D6528A7   \700_Series\700Series_NVMUpdatePackage_v9_55_ESX.tar.gz
126FCC960E7100CF58ECEC415D6528A7   \700_Series\700Series_NVMUpdatePackage_v9_55_ESX.tar.gz
0A99DD23D3B021CC63DFB57AE9408D54   \700_Series\700Series_NVMUpdatePackage_v9_55_FreeBSD.tar.gz
0A99DD23D3B021CC63DFB57AE9408D54   \700_Series\700Series_NVMUpdatePackage_v9_55_FreeBSD.tar.gz
993D7092F54825BC42CA9DC38007E2E4   \700_Series\700Series_NVMUpdatePackage_v9_55_Linux.tar.gz
993D7092F54825BC42CA9DC38007E2E4   \700_Series\700Series_NVMUpdatePackage_v9_55_Linux.tar.gz
5B4B063017ACA946304896923C79434F   \700_Series\700Series_NVMUpdatePackage_v9_55_Windows.zip
5B4B063017ACA946304896923C79434F   \700_Series\700Series_NVMUpdatePackage_v9_55_Windows.zip
33D567BF8E13B48A282318BAABC38792   \E610\E610_NVMUpdatePackage_v1_30_EFI.zip
33D567BF8E13B48A282318BAABC38792   \E610\E610_NVMUpdatePackage_v1_30_EFI.zip
5C34DD2877B97108382DC4D1F9D4C44D   \E610\E610_NVMUpdatePackage_v1_30_ESX.tar.gz
5C34DD2877B97108382DC4D1F9D4C44D   \E610\E610_NVMUpdatePackage_v1_30_ESX.tar.gz
AE271787DF8A0C547AECD360C02BE358   \E610\E610_NVMUpdatePackage_v1_30_FreeBSD.tar.gz
AE271787DF8A0C547AECD360C02BE358   \E610\E610_NVMUpdatePackage_v1_30_FreeBSD.tar.gz
6C194865B093F68332A04FE286FF25C4   \E610\E610_NVMUpdatePackage_v1_30_Linux.tar.gz
6C194865B093F68332A04FE286FF25C4   \E610\E610_NVMUpdatePackage_v1_30_Linux.tar.gz
195984E161159E0DF4A374913ACE9598   \E610\E610_NVMUpdatePackage_v1_30_Windows.zip
195984E161159E0DF4A374913ACE9598   \E610\E610_NVMUpdatePackage_v1_30_Windows.zip
100F01F6A4AEAE5EDC18AFB59301BB08   \E810\E810_NVMUpdatePackage_v4_90_EFI.zip
100F01F6A4AEAE5EDC18AFB59301BB08   \E810\E810_NVMUpdatePackage_v4_90_EFI.zip
171DFDD0A18B172BB34553DDF1BB4DF5   \E810\E810_NVMUpdatePackage_v4_90_ESX.tar.gz
171DFDD0A18B172BB34553DDF1BB4DF5   \E810\E810_NVMUpdatePackage_v4_90_ESX.tar.gz
69BD5070729B853F73DF26471826324B   \E810\E810_NVMUpdatePackage_v4_90_FreeBSD.tar.gz
69BD5070729B853F73DF26471826324B   \E810\E810_NVMUpdatePackage_v4_90_FreeBSD.tar.gz
DA6DAE1713B1C20D31788406557DA61C   \E810\E810_NVMUpdatePackage_v4_90_Linux.tar.gz
DA6DAE1713B1C20D31788406557DA61C   \E810\E810_NVMUpdatePackage_v4_90_Linux.tar.gz
7761A7F330E3D15998012593A821FDC4   \E810\E810_NVMUpdatePackage_v4_90_Windows.zip
7761A7F330E3D15998012593A821FDC4   \E810\E810_NVMUpdatePackage_v4_90_Windows.zip
A1CD250DE921643A6953A87B55B91A8B   \E810\E810_NVMUpdatePackageAArch64_v4_90_EFI.zip
A1CD250DE921643A6953A87B55B91A8B   \E810\E810_NVMUpdatePackageAArch64_v4_90_EFI.zip
2EB32B1472B5C227CDF1D270DAFF9049   \E810\E810_NVMUpdatePackageAArch64_v4_90_Linux.tar.gz
2EB32B1472B5C227CDF1D270DAFF9049   \E810\E810_NVMUpdatePackageAArch64_v4_90_Linux.tar.gz
F74A03325EC6C492E9421D96742D53EB   \E830\E830_NVMUpdatePackage_v1_10_EFI.zip
F74A03325EC6C492E9421D96742D53EB   \E830\E830_NVMUpdatePackage_v1_10_EFI.zip
C17D43FAB768746D7A0AB8DA8150E3DC   \E830\E830_NVMUpdatePackage_v1_10_ESX.tar.gz
C17D43FAB768746D7A0AB8DA8150E3DC   \E830\E830_NVMUpdatePackage_v1_10_ESX.tar.gz
147D9F687EF7D6AB9C522C842CBF27E3   \E830\E830_NVMUpdatePackage_v1_10_FreeBSD.tar.gz
147D9F687EF7D6AB9C522C842CBF27E3   \E830\E830_NVMUpdatePackage_v1_10_FreeBSD.tar.gz
634BDDC7734C4DAF39AE72B505E0E57C   \E830\E830_NVMUpdatePackage_v1_10_Linux.tar.gz
634BDDC7734C4DAF39AE72B505E0E57C   \E830\E830_NVMUpdatePackage_v1_10_Linux.tar.gz
ADE4825FCED4CAA13B2E1FDCA19C11D2   \E830\E830_NVMUpdatePackage_v1_10_Windows.zip
ADE4825FCED4CAA13B2E1FDCA19C11D2   \E830\E830_NVMUpdatePackage_v1_10_Windows.zip
CAA820D9F9043573E9AD667BFC31329B   \I210\I210_NVMUpdatePackage_v2_00_EFI.zip
CAA820D9F9043573E9AD667BFC31329B   \I210\I210_NVMUpdatePackage_v2_00_EFI.zip
BF3CC271E9183B75078195A1F92044B6   \I210\I210_NVMUpdatePackage_v2_00_ESX.tar.gz
BF3CC271E9183B75078195A1F92044B6   \I210\I210_NVMUpdatePackage_v2_00_ESX.tar.gz
2750BF0C0C6A178702EA2D912F6E7A6E   \I210\I210_NVMUpdatePackage_v2_00_FreeBSD.tar.gz
2750BF0C0C6A178702EA2D912F6E7A6E   \I210\I210_NVMUpdatePackage_v2_00_FreeBSD.tar.gz
9F906DBBA3B7E2778B9CA3C39E7F9CC0   \I210\I210_NVMUpdatePackage_v2_00_Linux.tar.gz
9F906DBBA3B7E2778B9CA3C39E7F9CC0   \I210\I210_NVMUpdatePackage_v2_00_Linux.tar.gz
4428AEC1E36EBACF08970E06BC530717   \I210\I210_NVMUpdatePackage_v2_00_Windows.zip
4428AEC1E36EBACF08970E06BC530717   \I210\I210_NVMUpdatePackage_v2_00_Windows.zip
4E1915F351946160E7EED81BDA598821   \I225\I225_NVMUpdatePackage_v1_00_EFI.zip
4E1915F351946160E7EED81BDA598821   \I225\I225_NVMUpdatePackage_v1_00_EFI.zip
3967DA51676565782D56A82CD31DE9D6   \I225\I225_NVMUpdatePackage_v1_00_Linux.tar.gz
3967DA51676565782D56A82CD31DE9D6   \I225\I225_NVMUpdatePackage_v1_00_Linux.tar.gz
9487EDE06314CB43963EBA7DD8EFE669   \I225\I225_NVMUpdatePackage_v1_00_Windows.zip
9487EDE06314CB43963EBA7DD8EFE669   \I225\I225_NVMUpdatePackage_v1_00_Windows.zip
F332ED2D04CE151509A01C7D709BB5AD   \X550\X550_NVMUpdatePackage_v3_70_EFI.zip
F332ED2D04CE151509A01C7D709BB5AD   \X550\X550_NVMUpdatePackage_v3_70_EFI.zip
5411C17F56944394AD1A6FC4F81B41C9   \X550\X550_NVMUpdatePackage_v3_70_ESX.tar.gz
5411C17F56944394AD1A6FC4F81B41C9   \X550\X550_NVMUpdatePackage_v3_70_ESX.tar.gz
9F13981E915BBB488909EE6E2E7DAC38   \X550\X550_NVMUpdatePackage_v3_70_FreeBSD.tar.gz
9F13981E915BBB488909EE6E2E7DAC38   \X550\X550_NVMUpdatePackage_v3_70_FreeBSD.tar.gz
0CC7A242AF46527AA2341D11D8ABFFDE   \X550\X550_NVMUpdatePackage_v3_70_Linux.tar.gz
0CC7A242AF46527AA2341D11D8ABFFDE   \X550\X550_NVMUpdatePackage_v3_70_Linux.tar.gz
34C312BC207D184516460458A58FD5FC   \X550\X550_NVMUpdatePackage_v3_70_Windows.zip
34C312BC207D184516460458A58FD5FC   \X550\X550_NVMUpdatePackage_v3_70_Windows.zip
Mini-pc N150 i226v x520, FREEDOM

First 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?