How to set deault kernel OR how to support I219 in current kernel?

Oggy512

Member
Oct 18, 2020
25
1
8
36
Hi folks,

I installed PVE 7, with kernel 5.11.22-4, which was working fine. I did upgrade the system to the current Version 7.1-8 with kernel 5.13.19-2 and the Intel I219 NIC stopped working. After some research I found out, that the I219 NIC seems to have"some" problem with some (most older) Debian/linux releases. However, it was working with PVE 7 and kernel 5.11.22-4
While booting, I now have a list of 3 kernels to choose:

5.11.22-4 (working)
5.11.22-7 (not working)
5.13.19-2 (not working)

So the question is now: how can I set the 5.11.22-4. kernel as default boot to not have to choose it manually while each boot?
Or, more preferably, how can I make the currekt kernel work with the I219 NIC (again)?

Thanks for supporting!
 
you do not need to delete old kernels, so you can still go back to 5.11.
 
you do not need to delete old kernels, so you can still go back to 5.11.

Tried 5.15, but no luck, I219 still not working.
Any other ideas? Or how to set the old, working kernel as default boot?
 
what do you mean exactly with "not working"? how do you test?
well, I can't reach the PVE server, since it has no network connection (i.e. no access to the webinterface).
Also, from the host console, I can't ping any outside services, the eno1 interface doens't come up and therefore the vmbr1 does not have a connection to the outside world.
With the old kernel eno1 comes up and running, so vmbr1 is reachable.
 
I assume your NIC is working but the newer kernel just renamed your NIC and therefore your bridge is not working.?

Boot again a not working kernel and check the name of your NIC.

E.g. with:

> ip a

If you see a new name for the NIC (previously named eno1), just adapt your vmbr0 settings on /etc/network/interfaces and reboot.
 
I assume your NIC is working but the newer kernel just renamed your NIC and therefore your bridge is not working.?

Boot again a not working kernel and check the name of your NIC.

E.g. with:

> ip a

If you see a new name for the NIC (previously named eno1), just adapt your vmbr0 settings on /etc/network/interfaces and reboot.
Unfortunately it's not that easy.
The I219 NIC is just not availabe, not as eno1, nor with an other name.
I attached an USB NIC (enx00243216680d), which I also added as slave to vmbr1, to get access to the server, if bootet with a newer kernel. It doesen't make any difference, if that USB NIC is attached and configured or not.
I have the I219 as eno1 with the old kernel, working fine.
And with any other kernel the I219 (eno1) is just not loaded/started
See:

Boot with any other (newer) kernel, no eno, nor an other name available:

Code:
root@servername:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enx00243216680d: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
    link/ether 00:24:32:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:24:32:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.10.11.199/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::224:32ff:fe16:680d/64 scope link
       valid_lft forever preferred_lft forever
4: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b6:27:86:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 172.25.1.1/24 scope global vmbr1
       valid_lft forever preferred_lft forever
    inet6 fe80::b427:86ff:fe4c:45b9/64 scope link
       valid_lft forever preferred_lft forever
5: vmbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 66:07:bb:d9:d4:96 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::6407:bbff:fed9:d496/64 scope link
       valid_lft forever preferred_lft forever
6: vmbr3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4a:8e:41:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet6 fe80::488e:41ff:fe24:d563/64 scope link
       valid_lft forever preferred_lft forever


Boot with kernel 5.11.22-4, eno1 available:

Code:
 root@servername: ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master vmbr0 state UP group default qlen 1000
    link/ether d8:bb:c1:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
3: enx00243216680d: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master vmbr0 state DOWN group default qlen 1000
    link/ether 00:24:32:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether d8:bb:c1:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.10.11.199/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::dabb:c1ff:fe5d:ad01/64 scope link
       valid_lft forever preferred_lft forever
5: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b6:27:86:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 172.25.1.1/24 scope global vmbr1
       valid_lft forever preferred_lft forever
    inet6 fe80::b427:86ff:fe4c:45b9/64 scope link
       valid_lft forever preferred_lft forever
6: vmbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 66:07:bb:d9:d4:96 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::6407:bbff:fed9:d496/64 scope link
       valid_lft forever preferred_lft forever
7: vmbr3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4a:8e:41:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet6 fe80::488e:41ff:fe24:d563/64 scope link
       valid_lft forever preferred_lft forever


My network definition looks like following:

Code:
auto lo
iface lo inet loopback

iface eno1 inet manual

iface enx00243216680d inet manual

auto vmbr0
iface vmbr0 inet static
        address 10.10.11.199/24
        gateway 10.10.11.254
        bridge-ports eno1 enx00243216680d
        bridge-stp off
        bridge-fd 0


Any hints?
Thanks!
 
No ideas? Or at least a hint, how to set the default kernel to boot?
I'm on ZFS as root, booted with systemd, but I can't find loader.conf...
I tried to uninstall all the newer kernels, but then the system says it's going to remove Proxmox at all (I added 5.11.22-4 to the manual list...)
 
Btw, while still trying to further debug... The e1000 driver is not loaed/bind to the NIC on the newer kernel versions, syslog says:

kernel: e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid
kernel: e1000e: probe of 0000:00:1f.6 failed with error -5
 
Having that same error as well but on a Dell 5420 laptop:

kernel: e1000e 0000:00:1f.6: The NVM Checksum Is Not Valid
kernel: e1000e: probe of 0000:00:1f.6 failed with error -5

First thoughts are that It would seem that your earlier kernel 5.11.22-4 (working) with the e1000e driver may SKIP a checksum check or is bypassing it somehow... perhaps a patch onthe newer kernel / e1000e driver to avoid this check may work?

Here's some of the steps I've been through - Depending on your I219 version -V or -LM etc the following may work on the firmware side

Read this:
https://www.dell.com/community/Prec...NVM-Checksum-Is-Not-Valid/td-p/8064069/page/2

and this

https://superuser.com/questions/119...ecksum-is-not-valid-with-asus-maximus-ix-hero

I downloaded the suggested "Bootutil" tool from this link as per above:
https://www.intel.com/content/www/u...-utility-preboot-images-and-efi-drivers.html?

but Flashing the NIC on the Dell 5420 isn't allowed as it is set to Read Only.

Let me know if you find a solution / workaround
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!