After Kernel Update USB NIC not recognized PVE 7.0-10 BUG?

SyntaxError

Active Member
Nov 6, 2018
43
2
28
28
Germany
Hello,

I have a small PVE cluster in the latest version. So I'm already on 7.0. The upgrade went perfectly. Yesterday a kernel update came out what I had installed and restarted. After this update, a USB NIC was no longer recognized and the vmbr Linux Bridge went down because the interface was missing.

I temporarily solved the problem by restarting the system and using the old kernel to boot. The NIC was recognized again and the vmbr bridge was active again. However, I would like to fix the problem completely. or is there a bug here?
 
Hi,

Thanks for your report. Just to be clear, going from 5.11.22-1-pve to 5.11.22-2-pve breaks it?

I temporarily solved the problem by restarting the system and using the old kernel to boot. The NIC was recognized again and the vmbr bridge was active again. However, I would like to fix the problem completely. or is there a bug here?
Could be one.
What USB NIC vendor/model is this? I'll have a few lying around I'll see if I can reproduce this.
 
Im using realtek usb LAN Adapter in 5 different machines. All on the latest pve7 Kernel without Problems.
 
It could be that your USB adapter is using a different chipset. Apparently there is a problem here because everything is recognized again when I reset the kernel to version 5.11.22-1.
 
We also could not reproduce it with some HW here, so not some general regression, rather a HW specific bug.

What module is in use for that device? lsusb -t
 
On Linux 5.11.22-1-pve:

Code:
root@ich-pve2:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 3: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
 
Code:
pveversion
pve-manager/7.0-10/d2f465d3 (running kernel: 5.11.22-2-pve)

lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
    |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 5000M
        |__ Port 3: Dev 8, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
        |__ Port 4: Dev 7, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M

dmesg | grep r8152
[Mi Jul 14 19:59:20 2021] usbcore: registered new interface driver r8152
[Mi Jul 14 19:59:20 2021] r8152 2-2.4:1.0: load rtl8153a-4 v2 02/07/20 successfully
[Mi Jul 14 19:59:20 2021] r8152 2-2.4:1.0 eth0: v1.11.11
[Mi Jul 14 19:59:20 2021] r8152 2-2.4:1.0 enx00e04c69f635: renamed from eth0
[Mi Jul 14 19:59:20 2021] r8152 2-2.3:1.0: load rtl8153a-4 v2 02/07/20 successfully
[Mi Jul 14 19:59:20 2021] r8152 2-2.3:1.0 eth0: v1.11.11
[Mi Jul 14 19:59:20 2021] r8152 2-2.3:1.0 enx00e04c6b01ea: renamed from eth0
[Mi Jul 14 19:59:23 2021] r8152 2-2.3:1.0 enx00e04c6b01ea: carrier on
[Mi Jul 14 19:59:24 2021] r8152 2-2.4:1.0 enx00e04c69f635: Promiscuous mode enabled
[Mi Jul 14 19:59:24 2021] r8152 2-2.4:1.0 enx00e04c69f635: carrier on
 
Last edited:
On Linux 5.11.22-1-pve:

Code:
root@ich-pve2:~# lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
    |__ Port 3: Dev 2, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
hmm you use the exact same module as @loomes for whom it works.

The output of dmesg | grep r8152 (especially on the newer kernel) would be interesting, or is there no activity when plugging the adapter in/out in dmesg?
 
When I run the dmesg I get something different with 5.11.22-1-pve:

Code:
root@ich-pve2:~# dmesg | grep r8152
[    4.488307] usbcore: registered new interface driver r8152
[    4.657618] r8152 2-3:1.0: load rtl8153b-2 v1 10/23/19 successfully
[    4.692464] r8152 2-3:1.0 eth0: v1.11.11
[    4.710543] r8152 2-3:1.0 enx00e04c68009b: renamed from eth0
[    7.767152] r8152 2-3:1.0 enx00e04c68009b: Promiscuous mode enabled
[    7.767277] r8152 2-3:1.0 enx00e04c68009b: carrier on

It uses rtl8153b-2 v1 10/23/19 and not rtl8153a-4 v2 02/07/20

Could this be the problem? I use a vanilla proxmox. I didn't install anything else on the host, just dutifully rolled out the updates.

If I start my remote pve cluster from here again on the new kernel, I shoot my leg because the firewall is running on the host. On Sunday I can see which driver is loaded with the new kernel.
 
Last edited:
It uses rtl8153b-2 v1 10/23/19 and not rtl8153a-4 v2 02/07/20
That's just the firmware it loads, not necessarily a problem, but the other Kernel could have requested a different FW file; for that we'd need the output from the broken Kernel - but def. better to wait out until you can try that one safely.
 
I went through everything again on Sunday and now I know more. With the new kernel, the USB NIC is only recognized when I unplug it and plug it in again after the boot process. When I boot into the old kernel with grub, everything is recognized immediately.

So it looks like a boot into the new kernel:

Code:
root@ich-pve2:~# dmesg | grep r8152
root@ich-pve2:~#

Nothing. If i unplug and reconnect it looks like that:

Code:
root@ich-pve2:~# dmesg | grep r8152
[    4.488307] usbcore: registered new interface driver r8152
[    4.657618] r8152 2-3:1.0: load rtl8153b-2 v1 10/23/19 successfully
[    4.692464] r8152 2-3:1.0 eth0: v1.11.11
[    4.710543] r8152 2-3:1.0 enx00e04c68009b: renamed from eth0
[    7.767152] r8152 2-3:1.0 enx00e04c68009b: Promiscuous mode enabled
[    7.767277] r8152 2-3:1.0 enx00e04c68009b: carrier on

I also tried to connect the USB nic to an other port but the same error appears
 
@t.lamprecht hello? I reinstalled Proxmox on the relevant node at the weekend. So vms backed up to another medium, formatted and reinstalled with the latest iso. After the installation everything looks good. As soon as I installed the updates, I had the same problem again. Currently I have installed Proxmox again and deactivated the updates and now everything is working again. So I can rule out a problem with my configuration because I have completely reinstalled everything. I haven't changed the configuration of Proxmox.
 
the firmware files haven't changed, and there aren't any changes in the module code either between .22-1-pve and the later kernels. could you post full journals of each boot with working and non-working kernels (journalctl -b)?
 

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!