Getting Intel E810 25GbE and 100GbE NICs Working on Proxmox

Technical Guide
Published: March 24, 2026

Getting Intel E810 25GbE and 100GbE NICs Working on Proxmox

Install Intel BootUtil firmware tools on Proxmox VE for E810 series NICs and fix the FEC negotiation issue that prevents 25GbE links from coming up

The Intel E810 series — covering 25GbE and 100GbE adapters — is a common choice for high-performance Proxmox deployments. Proxmox ships with the ice driver built into the kernel, so no separate driver build is needed. What you do need is Intel's BootUtil package for firmware diagnostics and updates — and if your 25GbE links won't come up, a one-time FEC fix that makes all the difference.

  1. Overview
  2. Download the Preboot Package
  3. Transfer to Your Proxmox Host
  4. Install BootUtil
  5. Reboot and Verify
  6. Fix FEC and Make Links Come Up at 25GbE

1. Overview

Proxmox includes the ice driver out of the box — you don't need to build or install it separately. For most E810 deployments the NIC will be detected and functional immediately after boot.

What this guide covers:

  • BootUtil — Intel's firmware diagnostic and update CLI, distributed as part of the Preboot package. Useful for checking NIC firmware versions and running pre-deployment diagnostics.
  • FEC fix — A known issue where 25GbE links never establish due to FEC negotiation mismatch between the E810 and the connected switch. This is the most common real-world problem with E810 NICs at 25G speeds.

💡 Note: The iqvlinux module included in BootUtil will produce a kernel taint warning on Proxmox because it is not signed with a Proxmox-trusted key. This is expected and cosmetic — it does not affect NIC operation.


2. Download the Preboot Package

Intel distributes BootUtil as part of their Preboot package, which includes firmware images, EFI drivers, and the bootutil64e CLI tool.

  • Go to the Intel E810 Downloads page
  • Under Administrative Tools for Intel Network Adapters, find Intel® Ethernet Connections Boot Utility, Preboot Images, and EFI Drivers
  • Click through to the download page and download Preboot.tar.gz (the Linux package — not the Windows PREBOOT.zip)

3. Transfer to Your Proxmox Host

Copy the downloaded archive to your Proxmox host:

scp Preboot.tar.gz root@pve01:.

Then SSH in and extract it:

ssh root@pve01
tar xzf Preboot.tar.gz

4. Install BootUtil

Navigate to the Linux x86 driver directory inside the extracted package and run the installer:

cd APPS/BootUtil/Linux_x86_64/DRIVER
./install

You'll see output similar to:

[ 3202.652195] iqvlinux: module verification failed: signature and/or required key missing - tainting kernel
[ 3202.652904] Intel Pro Diagnostic Driver loading (v. 1.3.0.13)
[ 3202.655207] Intel Pro Diagnostic Driver exiting

The "tainting kernel" message is expected — the iqvlinux module is not signed with a Proxmox-trusted key, which is normal for third-party diagnostic drivers. It will not affect NIC operation or Proxmox functionality.

Once installed, run the BootUtil CLI to inspect NIC firmware versions:

cd ../..
./bootutil64e -all

5. Reboot and Verify

Reboot the host:

reboot

After coming back up, verify the NIC is detected and the driver is active:

# Check driver and version
ethtool -i <interface> | grep -E "driver|version"

# Check link status
ip link show

If your interfaces show the expected speed and are UP, you're done. If 25GbE links still won't come up, continue to the next section.


After rebooting, you may find that 25GbE links never establish — the interface is detected and the driver is loaded, but the link stays down. This is a well-known FEC negotiation issue with the E810 at 25G speeds.

The E810 firmware is strict about FEC mode matching. By default it may not advertise RS-FEC, which most switches require for 25GbE links. The fix is to force the correct advertisement bitmask and explicitly set RS-FEC encoding:

ethtool -s nic5 advertise 0x80000000
ethtool --set-fec nic5 encoding rs   # rs = Reed-Solomon FEC

The 0x80000000 bitmask advertises 25000baseCR/Full with RS-FEC capability. After running these two commands the link should come up within a few seconds.

Making it persistent across reboots

Add pre-up hooks to /etc/network/interfaces for each affected interface. Proxmox uses ifupdown which supports pre-up directives, and $IFACE automatically resolves to the interface name being brought up:

auto nic4
iface nic4 inet manual
    pre-up ethtool -s $IFACE advertise 0x80000000
    pre-up ethtool --set-fec $IFACE encoding rs   # rs = Reed-Solomon FEC

auto nic5
iface nic5 inet manual
    pre-up ethtool -s $IFACE advertise 0x80000000
    pre-up ethtool --set-fec $IFACE encoding rs   # rs = Reed-Solomon FEC

If your interfaces are bridge members (typical in Proxmox), put the pre-up hooks on the physical interface stanza, not the bridge — the physical interface needs FEC configured before the bridge tries to use it.

Test without rebooting:

ifdown nic5 && ifup nic5
ip link show nic5

Bitmask reference for E810 link modes:

BitmaskLink Mode
0x8000000025000baseCR Full
0x80000000050000baseKR2 Full
0x8000000000000050000baseLR_ER_FR Full
0x8000000000100000baseLR4_ER4 Full
0x800000000000000100000baseCR2 Full

Substitute the appropriate bitmask in the ethtool -s command for your port speed and media type. If you're unsure which modes your switch supports, run ethtool <interface> and check the Supported link modes and Advertised link modes output.


More Information

Share:

Want to Learn More?

Have questions about our services or want to discuss how we can help your business? We'd love to hear from you.

Contact Us