Package Details: r8168-dkms 8.055.00-3

Git Clone URL: https://aur.archlinux.org/r8168-dkms.git (read-only, click to copy)
Package Base: r8168-dkms
Description: A kernel module for Realtek 8168 network cards (DKMS version)
Upstream URL: https://github.com/mtorromeo/r8168
Keywords: dkms ethernet network realtek
Licenses: GPL-2.0-or-later
Conflicts: r8168
Provides: r8168
Submitter: angelsl
Maintainer: patlefort
Last Packager: patlefort
Votes: 28
Popularity: 1.15
First Submitted: 2015-10-26 16:00 (UTC)
Last Updated: 2025-03-09 01:17 (UTC)

Latest Comments

1 2 3 4 5 6 Next › Last »

HurricanePootis commented on 2025-03-09 04:09 (UTC)

No thank you, but thanks for offering.

patlefort commented on 2025-03-09 01:18 (UTC)

I applied the patch. You seem more familiar with dkms and drivers. Do you want to take ownership of this package?

HurricanePootis commented on 2025-03-09 00:06 (UTC)

@patlefort

Sorry for the spam, but I noticed that r8168 can be compiled to use firmware, just like the r8169 driver uses firmware.

diff --git a/PKGBUILD b/PKGBUILD
index f72583a..2663fc5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -11,16 +11,16 @@ pkgver=8.055.00
 pkgrel=2
 pkgdesc="A kernel module for Realtek 8168 network cards (DKMS version)"
 url="https://github.com/mtorromeo/$_pkgbase"
-license=("GPL")
+license=("GPL-2.0-or-later")
 arch=('i686' 'x86_64')
-depends=('glibc' 'dkms')
+depends=('glibc' 'dkms' 'linux-firmware')
 makedepends=('git')
 conflicts=("${_pkgbase}")
 provides=("${_pkgbase}")
 source=("r8168-dkms::git+${url}.git#tag=${pkgver}"
         'dkms.conf')
 sha256sums=('eaaa94ec29f7378fb83f68cc940e7a47e3a7d218fb3bcfce53f88ff95ed38c6d'
-            'df231d516ea1033cc231d1ab78a260c4f079db4c5df2d32f384bf47b57beded6')
+            '4e21634a02704955c24d42aac39cd44b3ebc534b522a470fb98ea7ddb3b805e4')

 package() {
    install -Dm644 'dkms.conf' "${pkgdir}/usr/src/${_pkgbase}-${pkgver}/dkms.conf"
diff --git a/dkms.conf b/dkms.conf
index 7e8a826..595cd38 100644
--- a/dkms.conf
+++ b/dkms.conf
@@ -1,6 +1,6 @@
 PACKAGE_NAME="@PKGNAME@"
 PACKAGE_VERSION="@PKGVER@"
-MAKE[0]="make -C $kernel_source_dir M=$dkms_tree/$module/$module_version/build/src EXTRA_CFLAGS='-DCONFIG_R8168_NAPI=y -DCONFIG_R8168_VLAN=y -DCONFIG_ASPM=y -DENABLE_S5WOL=y -DENABLE_EEE=y -DCONFIG_DYNAMIC_ASPM=y -DENABLE_GIGA_LITE=y' modules"
+MAKE[0]="make -C $kernel_source_dir M=$dkms_tree/$module/$module_version/build/src EXTRA_CFLAGS='-DCONFIG_R8168_NAPI=y -DCONFIG_R8168_VLAN=y -DCONFIG_ASPM=y -DENABLE_S5WOL=y -DENABLE_EEE=y -DCONFIG_DYNAMIC_ASPM=y -DENABLE_GIGA_LITE=y -DENABLE_USE_FIRMWARE_FILE' r8168-objs='r8168_n.o r8168_asf.o rtl_eeprom.o rtltool.o r8168_firmware.o' modules"
 CLEAN="rm src/@PKGNAME@.ko src/*.o || true"
 BUILT_MODULE_NAME[0]="@PKGNAME@"
 BUILT_MODULE_LOCATION[0]="src/"

You have to add -DENABLE_USE_FIRMWARE_FILE and manually specify r8168-objs to include all the defaults plus r8168_firmware.o. I tried doing r8168-objs+=' r8168_firmware.o, but this does not work. linux-firmware will be needed as that provides the firmware files.

Also, the license() should be SPDX compliant GPL-2.0-or-later.

HurricanePootis commented on 2025-03-08 09:25 (UTC)

@patlefort

Please add -DCONFIG_DYNAMIC_ASPM and -DENABLE_GIGA_LITE to the EXTRA_CFLAGS. They are enabled in the Makefile by default.

diff --git a/dkms.conf b/dkms.conf
index 6cf4366..36be27e 100644
--- a/dkms.conf
+++ b/dkms.conf
@@ -1,6 +1,6 @@
 PACKAGE_NAME="@PKGNAME@"
 PACKAGE_VERSION="@PKGVER@"
-MAKE[0]="make -C $kernel_source_dir M=$dkms_tree/$module/$module_version/build/src EXTRA_CFLAGS='-DCONFIG_R8168_NAPI=y -DCONFIG_R8168_VLAN=y -DCONFIG_ASPM=y -DENABLE_S5WOL=y -DENABLE_EEE=y' modules"
+MAKE[0]="make -C $kernel_source_dir M=$dkms_tree/$module/$module_version/build/src EXTRA_CFLAGS='-DCONFIG_R8168_NAPI=y -DCONFIG_R8168_VLAN=y -DCONFIG_ASPM=y -DENABLE_S5WOL=y -DENABLE_EEE=y -DCONFIG_DYNAMIC_ASPM -DENABLE_GIGA_LITE' modules"
 CLEAN="rm src/@PKGNAME@.ko src/*.o || true"
 BUILT_MODULE_NAME[0]="@PKGNAME@"
 BUILT_MODULE_LOCATION[0]="src/"

yeaseb commented on 2024-03-13 00:42 (UTC)

dkms fails for linux-zen 6.8.0

DKMS make.log for r8168-8.052.01 for kernel 6.8.0-zen1-1-zen (x86_64)
mar 12 mar 2024 21:40:23 -03
make: se entra en el directorio '/usr/lib/modules/6.8.0-zen1-1-zen/build'
  CC [M]  /var/lib/dkms/r8168/8.052.01/build/src/r8168_n.o
  CC [M]  /var/lib/dkms/r8168/8.052.01/build/src/r8168_asf.o
  CC [M]  /var/lib/dkms/r8168/8.052.01/build/src/rtl_eeprom.o
  CC [M]  /var/lib/dkms/r8168/8.052.01/build/src/rtltool.o
/var/lib/dkms/r8168/8.052.01/build/src/rtl_eeprom.c:96:5: aviso: no hay un prototipo previo para ‘rtl8168_eeprom_cmd_done’ [-Wmissing-prototypes]
   96 | int rtl8168_eeprom_cmd_done(struct rtl8168_private *tp)
      |     ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/r8168/8.052.01/build/src/r8168_n.c:1624:6: aviso: no hay un prototipo previo para ‘_proc_dump_tx_desc’ [-Wmissing-prototypes]
 1624 | void _proc_dump_tx_desc(struct seq_file *m, struct TxDesc *desc_base,
      |      ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/r8168/8.052.01/build/src/r8168_n.c:2949:5: aviso: no hay un prototipo previo para ‘mdio_real_read’ [-Wmissing-prototypes]
 2949 | u32 mdio_real_read(struct rtl8168_private *tp,
      |     ^~~~~~~~~~~~~~
/var/lib/dkms/r8168/8.052.01/build/src/r8168_n.c:5726:1: aviso: no hay un prototipo previo para ‘rtl8168_set_rx_vlan_filter’ [-Wmissing-prototypes]
 5726 | rtl8168_set_rx_vlan_filter(struct rtl8168_private *tp)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/r8168/8.052.01/build/src/r8168_n.c: En la función ‘rtl8168_get_drvinfo’:
/var/lib/dkms/r8168/8.052.01/build/src/r8168_n.c:6296:17: error: declaración implícita de la función ‘strlcpy’; ¿quiso decir ‘strscpy’? [-Werror=implicit-function-declaration]
 6296 |                 strlcpy(info->fw_version, rtl_fw->version,
      |                 ^~~~~~~
      |                 strscpy
/var/lib/dkms/r8168/8.052.01/build/src/r8168_n.c: En el nivel principal:
/var/lib/dkms/r8168/8.052.01/build/src/r8168_n.c:28087:5: aviso: no hay un prototipo previo para ‘rtl8168_enable_msix’ [-Wmissing-prototypes]
28087 | int rtl8168_enable_msix(struct rtl8168_private *tp)
      |     ^~~~~~~~~~~~~~~~~~~
cc1: algunos avisos se tratan como errores
make[2]: *** [scripts/Makefile.build:243: /var/lib/dkms/r8168/8.052.01/build/src/r8168_n.o] Error 1
make[1]: *** [/usr/lib/modules/6.8.0-zen1-1-zen/build/Makefile:1919: /var/lib/dkms/r8168/8.052.01/build/src] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: se sale del directorio '/usr/lib/modules/6.8.0-zen1-1-zen/build'

safocl commented on 2023-08-14 17:33 (UTC)

fix for the mistake of minimal sublevel version for gso.h file

safocl commented on 2023-08-13 00:14 (UTC)

please, add a patch to support linux 6.4.y

parovoz commented on 2022-12-14 10:00 (UTC)

please, add a patch to support linux 6.1

patlefort commented on 2022-08-14 11:05 (UTC)

Update: the module r8169 will now be blacklisted automatically once this package is installed.

jaro3 commented on 2022-08-14 02:59 (UTC)

build on latest official kernel 5.19.1-arch2-1 fails:

/var/lib/dkms/r8168/8.050.03/build/src/r8168_n.c: In function ‘rtl8168_init_one’:
/var/lib/dkms/r8168/8.050.03/build/src/r8168_n.c:26901:25: error: implicit declaration of function ‘netif_set_gso_max_size’; did you mean ‘netif_set_tso_max_size’? [-Werror=implicit-function-declaration]
26901 |                         netif_set_gso_max_size(dev, LSO_32K);
      |                         ^~~~~~~~~~~~~~~~~~~~~~
      |                         netif_set_tso_max_size
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:249: /var/lib/dkms/r8168/8.050.03/build/src/r8168_n.o] Error 1
make: *** [Makefile:1843: /var/lib/dkms/r8168/8.050.03/build/src] Error 2
make: Leaving directory '/usr/lib/modules/5.19.1-arch2-1/build'