USB Network Adapter Stopped working after kernel-6.3.5-100

I have a USB 2.5GB ethernet adapter that stopped working after taking the 6.3.5 kernel. I had to boot to previous kernel (kernel-6.2.15-200) to get it to work again.

I see the following ModemManger entries that I believe are related:

Jun 4 06:03:36 noahsark ModemManager[984]: [base-manager] couldn’t check support for device ‘/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1’: not supported by any plugin
Jun 4 06:03:36 noahsark ModemManager[984]: [base-manager] couldn’t check support for device ‘/sys/devices/pci0000:00/0000:00:19.0’: not supported by any plugin
Jun 4 06:03:36 noahsark ModemManager[984]: [base-manager] couldn’t check support for device ‘/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0’: not supported by any plugin

I also see this just prior to the ModemManager logs:

Jun 4 06:03:33 noahsark kernel: RTL8226B_RTL8221B 2.5Gbps PHY r8169-0-200:00: attached PHY driver (mii_bus:phy_addr=r8169-0-200:00, irq=MAC)
Jun 4 06:03:33 noahsark kernel: r8152 3-1:1.0 enp0s20u1: carrier on
Jun 4 06:03:33 noahsark kernel: r8169 0000:02:00.0 enp2s0: Link is Down
Jun 4 06:03:33 noahsark kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp0s20u1: link becomes ready
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9589] device (enp0s20u1): carrier: link connected
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9596] device (enp0s20u1): state change: unavailable → disconnected (reason ‘carrier-changed’, sys-iface-state: ‘managed’)
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9602] policy: auto-activating connection ‘Wired connection 1’ (10ec9b48-b5d3-3062-9b71-374705ab9cd9)
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9606] device (enp0s20u1): Activation: starting connection ‘Wired connection 1’ (10ec9b48-b5d3-3062-9b71-374705ab9cd9)
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9607] device (enp0s20u1): state change: disconnected → prepare (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9610] manager: NetworkManager state is now CONNECTING
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9611] device (enp0s20u1): state change: prepare → config (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9669] modem-manager: ModemManager available
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9670] device (enp0s20u1): state change: config → ip-config (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 06:03:33 noahsark NetworkManager[877]: [1685876613.9680] dhcp4 (enp0s20u1): activation: beginning transaction (timeout in 45 seconds)

Device enp0s20u1 is not connected but is plugged into the system. The USB adapter is enp0s20u1c2.

I’m not sure what to look at here but I need to get this fixed so that I can upgrade to FC38.

Any ideas?

Thanks in advance…

More info…
When it works, I see the following NM logs:

Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.0770] manager: (enp0s20u1c2): new Ethernet device (/org/freedesktop/NetworkManager/Devices/3)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.0774] device (enp0s20u1c2): state change: unmanaged → unavailable (reason ‘managed’, sys-iface-state: ‘external’)

and…

Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5379] device (enp0s20u1c2): carrier: link connected
Jun 4 09:25:27 noahsark kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp0s20u1c2: link becomes ready
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5383] device (enp0s20u1c2): state change: unavailable → disconnected (reason ‘carrier-changed’, sys-iface-state: ‘managed’)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5393] policy: auto-activating connection ‘eth2’ (bb97794b-78d0-4904-a8f9-2d393718ff40)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5398] device (enp0s20u1c2): Activation: starting connection ‘eth2’ (bb97794b-78d0-4904-a8f9-2d393718ff40)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5399] device (enp0s20u1c2): state change: disconnected → prepare (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5406] manager: NetworkManager state is now CONNECTING
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5410] device (enp0s20u1c2): set-link: failure to set link negotiation
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5410] device (enp0s20u1c2): state change: prepare → config (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5419] device (enp0s20u1c2): state change: config → ip-config (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 09:25:27 noahsark named[961]: listening on IPv4 interface enp0s20u1c2, 192.168.1.1#53
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5460] device (enp0s20u1c2): state change: ip-config → ip-check (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5485] device (enp0s20u1c2): state change: ip-check → secondaries (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5487] device (enp0s20u1c2): state change: secondaries → activated (reason ‘none’, sys-iface-state: ‘managed’)
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5493] manager: NetworkManager state is now CONNECTED_LOCAL
Jun 4 09:25:27 noahsark NetworkManager[873]: [1685888727.5498] device (enp0s20u1c2): Activation: successful, device activated.

1 Like

I have the same problem. The USB 2.5GB ethernet adapter (r8152) that I have also stopped working after upgrading to 6.3 kernel. However it works on 6.2 kernel.

How can I be of help ?

I haven’t had time to work on this as it takes out my entire network as this is my LAN connection to my home network. I was going to try booting without the adapter connected then once up, connect to a different USB port and see if it gets detected. Ideally I was hoping someone else here had the same issue and found a solution.

I do my updates weekly on Saturday nights and my fear is I get another kernel update that does not work and I lose access to the working kernel.

“I was going to try booting without the adapter connected then once up, connect to a different USB port and see if it gets detected.”

I tried this but it didn’t work for me. You can always try on your end.

“My fear is I get another kernel update that does not work and I lose access to the working kernel.”

Same here, What you can do is to backup the OS on an image that you can restore later. Or use snapshots (in case you’re using BtrFS). I’m just commenting and replying so that the thread won’t close or die.

In such a case it makes sens to install an alternative kernel. As an example I used:
kwizart/kernel-longterm-6.1 Copr

So you can test the official kernel if the driver is available from time to time, while working with the LTS 6.1 Kernel.

3 Likes

I found this video (granted it’s for Debian) but it might work for Fedora as well.
FIXING my USB3 2.5Gbe network adapters on Linux / Proxmox! - YouTube
It basically tells you to create a udev rule for Realtek to get the kernel to load the correct driver.
The related blog post is here: FIXING my USB3 2.5Gbe network adapters on Linux / Proxmox! :: apalrd’s adventures

I plan to test this but have to do it when nobody is using Internet.

1 Like

Thanks for this btw…appreciate it!

Thank you for this one mate ! You are appreciated :pray:

Will try it tonight. Thank you :pray:

If there is a kernel regression, please report it to kernel.

Check rhbz, kernel bz, and mailing lists (lkml or netdev, find links to archives of each list here). bz links are examples, you may need to tweak the search.

2 Likes

Kernel updates should never remove the kernel that is currently booted. This seems an unfounded concern.

You may be correct here. I have never had to run a previous kernel version. I just assumed that when there was a kernel update the oldest was removed keeping new and 2 previous.

1 Like

I can confirm adding the udev rule works. I added the rule per that video and after rebooting, the adapter was detected but with a new ID. Old ID was enp0s20u1c2 and now it is enp0s20u1. I had to reconfigure the adapter as it was manually set. Once I did that, it works. I guess this was a blessing in disguise because ethtool always reported that nic as being half-duplex. Now it shows full!

2 Likes