Skip to content

Ethernet RTL 8168 driver on Debian

By default on Debian is used 8169 driver instead of 8168 (Realtek ethernet driver). Also, 8168 driver does not exist.

~# find /lib/modules/`uname -r`/kernel/drivers/net/ethernet/ -name *816*
/lib/modules/3.16.0-4-amd64/kernel/drivers/net/ethernet/realtek/r8169.ko

The network device

~# lspci |grep Ether
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 09)

The loaded driver

~# lsmod |grep 816
r8169                  68262  0 

Driver installation

~# apt-get update
~# apt-get install dkms
~# wget https://www.unixteacher.org/download/r8168-dkms_8.040.00-1_all.deb
~# dpkg -i r8168-dkms_8.040.00-1_all.deb 
Selecting previously unselected package r8168-dkms.
(Reading database ... 45372 files and directories currently installed.)
Preparing to unpack r8168-dkms_8.040.00-1_all.deb ...
Unpacking r8168-dkms (8.040.00-1) ...
Setting up r8168-dkms (8.040.00-1) ...
Loading new r8168-8.040.00 DKMS files...
First Installation: checking all kernels...
...........
~# init 6

After reboot everything looks ok

~# lsmod |grep 816
r8168                 490633  0 
~# dmesg |grep 8168
[    0.245756] pci 0000:03:00.0: [10ec:8168] type 00 class 0x020000
[    0.538032] r8168 Gigabit Ethernet driver 8.040.00-NAPI loaded
[    0.538150] r8168 0000:03:00.0: irq 41 for MSI/MSI-X
[    0.559287] r8168: This product is covered by one or more of the following patents: US6,570,884, US6,115,776, and US6,327,625.
[    0.559290] r8168  Copyright (C) 2015  Realtek NIC software team  
[    4.557205] r8168: eth0: link up

// Update: For Debian Stretch, you can install r8168-dkms from non-free. Is not necessary to download the package.

apt-get install build-essential linux-headers-`uname -r` r8168-dkms

My ‘/etc/apt/sources.list’:

deb http://httpredir.debian.org/debian stretch main non-free contrib
deb-src http://httpredir.debian.org/debian stretch main non-free contrib

deb http://security.debian.org stretch/updates main non-free contrib
deb-src http://security.debian.org stretch/updates main non-free contrib

# stretch-updates, previously known as 'volatile'
deb http://httpredir.debian.org/debian stretch-updates main non-free contrib
deb-src http://httpredir.debian.org/debian stretch-updates main non-free contrib
Published inLinux