Skip to content

Instantly share code, notes, and snippets.

@cristiarg
Last active June 1, 2025 01:04
Show Gist options
  • Save cristiarg/1f623d52853aae282cbc962241db54e5 to your computer and use it in GitHub Desktop.
Save cristiarg/1f623d52853aae282cbc962241db54e5 to your computer and use it in GitHub Desktop.
Ubuntu 24: kernel driver r8169 for Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller replaced by r8168-dkms
- in Ubuntu (22.-24.) it looks like the R8169 is defective for said network card.
- it starts and works for a little, but then it fails - "network cable unplugged" says
- solution was found here:
- https://discussion.fedoraproject.org/t/rtl8111-8168-8411-realtek-ethernet-controller-not-working-r8169-related/86593
```
In the end the r8169 driver was indeed the problem.
I followed these steps sunwire/dkms-r8168 Copr [https://copr.fedorainfracloud.org/coprs/sunwire/dkms-r8168/] (without the secure boot steps) in order to install the r8168 driver.
Then I followed these steps SLES 12 SP4 | Administration Guide | Managing Kernel Modules [https://documentation.suse.com/sles/12-SP4/html/SLES-all/cha-mod.html] in order to permanently blacklist the r8169 module.
```
- so, just installed `sudo apt install r8168-dkms` and re-bootted
- I did not blacklist the r8169 module - yet - will need to do that if it does misbehave
- to blacklist r8169 ... search
- apparently this is a well known problem - because the r8168-dmks installs the following files with the following content:
- /usr/share/doc/r8168-dkms/README.Debian
```
If you are using r8168-dkms because the in-kernel r8169 does not
support your NIC or is not working properly, please check the
following:
* Have you tried a more recent kernel? The problem may be fixed
there already. In that case the current r8169 driver may be
ported back to an older kernel - please report a bug against
the Debian kernel package where r8169 is not working as
expected.
* If no version of the in-kernel driver r8169 supports your NIC,
please report this to the r8169 maintainers, so that this can
be fixed:
To: Realtek linux nic maintainers <[email protected]>
To: Francois Romieu <[email protected]>
Cc: [email protected]
You may also wish to open a Debian bug report (against the
src:linux package) and Cc that.
If you want to switch back from r8168-dkms to the in-kernel r8169
driver it is necessary to purge the r8168-dkms package,
otherwise the blacklist for r8169 won't be removed.
```
- /etc/modprobe.d/r8168-dkms.conf
- this also means that, for the time being, r8169 must not be blacklisted
```
# settings for r8168-dkms
# map the specific PCI IDs instead of blacklisting the whole r8169 module
alias pci:v00001186d00004300sv00001186sd00004B10bc*sc*i* r8168
alias pci:v000010ECd00008168sv*sd*bc*sc*i* r8168
# if the aliases above do not work, uncomment the following line
# to blacklist the whole r8169 module
#blacklist r8169
```
- other links:
- https://www.linuxquestions.org/questions/linux-networking-3/rtl8111-8168-8411-realtek-ethernet-controller-not-working-4175727507-print/
- https://forums.linuxmint.com/viewtopic.php?t=284338
- https://bbs.archlinux.org/viewtopic.php?id=285421
- other public gists:
- https://gist.github.com/gokceyucel/75040bc9048d953852e1
- https://gist.github.com/rockavoldy/8e3898fc4547cf3c19788be8dd59934b
- commands used during investigation:
```
ip a
ip addr show
sudo ethtool enp12s0
inxi (not installed, not used, but recommented)
sudo lspci -v
sudo dmesg -w
sudo dmesg | grep r8168
sudo dmesg | grep r8168
sudo dmesg | grep r8169
sudo dmesg | grep enp12s0
sudo rmmod r8169
sudo modprobe r8169
sudo systemctl restart NetworkManager.service
sudo apt purge --auto-remove r8168-dkms
lsmod
lsmod | grep r8
lshw -C NETWORK
lspci -nnk
lspci -vvv
lspci -nnkbvmm
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment