awesometic / realtek-r8125-dkms

A DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE.
GNU General Public License v2.0
368 stars 72 forks source link
debian dkms launchpad-ppa r8125 realtek realtek-driver rtl8125

Realtek r8125 DKMS

GitHub release (latest SemVer)

This provides Realtek r8125 driver in DKMS way so that you can keep the latest driver even after the kernel upgrade.

Before use

This DKMS package is for Realtek RTL8125 (r8125 in module name) Ethernet, which is designed for the PCI interface.

If you are searching for the Realtek 2.5 Gbits USB Ethernet, which may use RTL8156 (r8152 in module name), you are in the wrong place. Please refer to another DKMS project for that Realtek driver.

Installation

There are 3 ways to install this DKMS module. Choose one as your tastes.

Those are not interfering with each other. So you can do all 3 methods but absolutely you don't need to.

Installation using the Debian package is recommended for the sake of getting the newer driver.

Debian package

Released package file

Download the latest Debian package from the Release tab on the Github repository.

Then enter the following command.

sudo dpkg -i realtek-r8125-dkms*.deb

If multiple files selected by the wild card, you should type the specific version of the file.

sudo dpkg -i realtek-r8125-dkms_9.014.01-1_amd64.deb

If dependency error occurs, try to fix that with apt command.

sudo apt install --fix-broken

Launchpad PPA (Recommended)

Add the Launchpad PPA.

sudo add-apt-repository ppa:awesometic/ppa

Then install the package using apt tool.

sudo apt install realtek-r8125-dkms

autorun.sh

Using the autorun.sh script that Realtek provides on their original driver package. This is not installed as a DKMS, only efforts to the current kernel.

Download or clone this repository and move to the extracted directory, then run the script.

sudo ./autorun.sh

dkms-install.sh

This script is from aircrack-ng team. You can install the DKMS module by a simple command.

Download or clone this repository and move to the extracted directory, then run the script.

sudo ./dkms-install.sh

Verify the module is loaded successfully

After installing the DKMS package, you may not be able to use the new r8125 module on the fly. This because the existing r8169 module will be loaded priority to r8125 so that it prevents working of the r8125 module.

Check if the r8169 module loaded currently.

lsmod | grep -i r8169

If there is a result, maybe the r8125 module wasn't loaded properly. You can check out modules currently in use via lspci -k or dmesg too.

To use the r8125 module explicitly you can add the r8169 module to not be loaded by adding it to a blacklist file.

Enter the following command to configure the blacklist.

sudo tee -a /etc/modprobe.d/blacklist-r8169.conf > /dev/null <<EOT
# To use r8125 driver explicitly
blacklist r8169
EOT

To apply the new blacklist to your kernel, update your initramfs via

sudo update-initramfs -u

Finally, reboot to take effect.

  • If you need to load both r8169 and r8125, maybe removing r8125 firmware could make it work. Please enter sudo rm -f /lib/firmware/rtl_nic/rtl8125* to remove all the r8125 firmwares on the system. But it is just a workaround, you should have to do this every time installing the new kernel version or new Linux firmware.
  • In the case of the Debian package, I will update the scripts to make it do this during the installation.

Debian package build

You can build yourself this after installing some dependencies including dkms.

sudo apt install devscripts debmake debhelper build-essential dkms dh-dkms
dpkg-buildpackage -b -rfakeroot -us -uc

LICENSE

GPL-2 on Realtek driver and the debian packaing.

References