Network Doesn't Work With Any Kernel After 5.4.0-65
Last year I posted this thread https://www.linuxquestions.org/quest...6/#post6218320
Long story short, I ran a apt-get update && apt-get upgrade and after booting the new kernel, all networking was lost. I solved that problem by locking grub to kernel 5.4.0-65 and went about my business. This morning I figured its been 14 months now, certainly the linux devs have fixed whatever breaks networking from kernel 5.4.0-65 and up by now? I updated the system to 5.13.0-37 this morning and nope, same result. No networking. So does this mean this server is just stuck on kernel 5.4.0-65 forever? Is there no way to get networking to work on any kernel above 5.4.0-65? From kernels on 5.4.0-65 and earlier (Working) Code:
sudo lshw -C network Code:
sudo lshw -C network Code:
modprobe: FATAL: Module r8169 not found in directory /lib/modules/5.13.0-37-generic |
Quote:
Or have you actually tested every version when you assert "5.8.0-49 and newer" are broken? (What about versions 5.5/5.6/5.7?) |
First and foremost, I'm the farthest thing from an expert. Relative newbie to all things Linux to be sure. However I did experience something similar in the past and I noticed that in your "broken" output, it does not show: logical name: enp5s0.
If your set up is anything like mine, by not having the logical name, many other features (firewalls, DNS, etc...) might not work correctly. In my case, I had to solve this by creating a new file at /etc/udev/rules.d/70-persistent-net.rules and then adding the following line: Code:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="", NAME="enp2s0f0" This is a stab in the dark from me, but wanted to offer up something for you to try. Best of luck! |
The lost driver (r8169.ko) should be in /lib/modules/5.13.0-37-generic/kernel/drivers/net/ethernet/realtek. Try going down this tree by hand and see at what point the path fails.
|
Could you also please post the output of:
Code:
lspci -v -n -s 0000:05:00.0 |
Quote:
|
Quote:
Maybe something changed in how the kernel ships or doesn't ship this module? Is it weird that lshw reports RTL8111/8168/8411 (for both kernel versions), and modprobe complains about r8169? Also, have you tried the LTS kernel? |
Quote:
Code:
sudo lspci -v -n -s 0000:05:00.0 Code:
sudo lspci -v -n -s 0000:05:00.0 Code:
Kernel driver in use: r8169 |
Okay, so digging through the bug reports for ubuntu 20.04 it seems the ubuntu team shipped a broken update (did not contain the linux-modules-extra package, which contains the driver pack (r8169) for Realtek Ethernet devices.
1. Rollback to kernel 5.4.0-* (to get internet back) by changing grub to boot older kernel 2. Reinstall linux kernel + headers Code:
sudo apt install --reinstall linux-generic Code:
sudo apt install --reinstall linux-modules-extra-5.8.0-36-generic Code:
sudo apt purge r8168-dkms Thank god this is solved, well until the next system update breaks it again. :( |
Quote:
Quote:
If this is your hardware maybe the mtorromeo/r8168 listed under "other drivers" option is worth investigating? Just seen you've solved it... looks like the Hardware for Linux site has notes on some items, which might help others, but no idea on how they get added. |
According to this site Realtek uses the same PCI ID for different chips and distinguishes them by the rev. When I look at the Windows INF file I can see that there are chips with the same vendor, device and revision, but different subsystem, which have different names. Realtek seems to make hundreds of variations.
|
Network Doesn't Work With Any Kernel After 5.4.0-65
Realtek support has been spotty for a few years. I'm not sure why, but you have a 50/50 chance of the in kernel driver working.
You can get a better driver from Realtek: https://www.realtek.com/en/component...press-software You need to compile it for your kernel. |
The problem is that someone added some new software that does some PHY ID checking, and it is now breaking drivers that were working.
The second problem is that there is an attitude that they can blame the Gigabyte BIOS. Meaning they do not want to fix what they broke. Users are supposed to fix their hardware (upgrade the BIOS); apparently the driver would be dirtied if it had to accept that PHY ID that has been reported the last 10 years. The suggestion was actually made too not use that hardware and buy another network card. At this point my blood is boiling a bit, and I will avoid saying too much. There are too many knee-jerk defenders here that will leap in to bash anything that sounds like a complaint. Read it for yourself. https://bugzilla.kernel.org/show_bug.cgi?id=204343 https://bugzilla.kernel.org/show_bug.cgi?id=213469 There is a patch for kernel 5.10 there: The patch simply adds the PHY ID reported by the Gigabyte BIOS to the list of known PHY. It matches what I see on my hardware. I will be trying it on my kernel build. The driver has been modified since, so the patch will not apply directly. No, they were not fixing this problem. I still see it on 5.15.19 (slackware). Quote:
|
Quote:
|
All times are GMT -5. The time now is 03:22 PM. |