在 Fedora 36 (5.18.5) 上安装 realtek r8168?

在 Fedora 36 (5.18.5) 上安装 realtek r8168?

Linux 新手(入门)。我之前进行过几次成功的安装试验,现在我决定采用一种配置。我现在无法让我的网卡工作

台式电脑,非常旧的系统 - AMD Phenom II 955,技嘉 GA-MA790XT-UD4P

我感兴趣的驱动程序是这样的: 适用于内核最高版本 5.17 的 GBE 以太网 LINUX 驱动程序 r8168

背景信息:我使用 USB 以太网适配器尝试了一些 r8168 安装教程,dnf 升级已将我的内核从全新安装的 5.17 更新到 5.18。 -> 因此我怀疑内核不一致,但如何修改呢?

内核使用的是r8169驱动程序 (lspci -v),其中我知道这不适用于我的系统!使用驱动程序包含的 autorun.sh 确实适用于 fedora 35(我相信大约是半年前),而且我之前也成功地在 Ubuntu 上安装了 r8168 驱动程序。

从文件夹中执行“$ sudo ./autorun.sh”会得到以下输出:

Check old driver and unload it
Build the module and install
make[2]: *** /lib/modules/5.18.5-200.fc36.x86_64/build: No such file or directory. Stop.
make[1]: *** [Makefile:158: clean] Error 2
make: *** [Makefile:48: clean] Error 2

因此,我不知何故需要强制 Fedora 使用 r8168,但我不知道如何 - 没有互联网访问(呃,因为 GBE 以太网卡不工作)。我希望此解决方案能够在没有 USB 以太网加密狗的情况下工作。

我检查了该位置,它列出了构建文件,但打开“构建”会弹出一个对话框:

The link "build" is broken. 
This link cannot be used because its target "usr/src/kernels/5.18.5-200.fc36.x86_64" doesn't exist

编辑:

成功安装了 5.18.6-200* 的 kernel-devel 和所有依赖项。现在,当运行驱动程序的 autorun.sh 时,我得到以下输出:

Check old driver and unload it.
Build the module and install
/home/am/Documents/r8168-8.050.03/src/r8168_n.c: In function ‘rtl8168_mac_loopback_test’:
/home/am/Documents/r8168-8.050.03/src/r8168_n.c:3717:17: error: implicit declaration of function ‘pci_dma_sync_single_for_device’; did you mean ‘dma_sync_single_for_device’? [-Werror=implicit-function-declaration]
 3717 |                 pci_dma_sync_single_for_device(tp->pci_dev,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 dma_sync_single_for_device
/home/am/Documents/r8168-8.050.03/src/r8168_n.c: In function ‘rtl8168_init_board’:
/home/am/Documents/r8168-8.050.03/src/r8168_n.c:26448:14: error: implicit declaration of function ‘pci_set_dma_mask’ [-Werror=implicit-function-declaration]
26448 |             !pci_set_dma_mask(pdev, DMA_BIT_MASK(64)) &&
      |              ^~~~~~~~~~~~~~~~
/home/am/Documents/r8168-8.050.03/src/r8168_n.c:26449:14: error: implicit declaration of function ‘pci_set_consistent_dma_mask’ [-Werror=implicit-function-declaration]
26449 |             !pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64))) {
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:288: /home/am/Documents/r8168-8.050.03/src/r8168_n.o] Error 1
make[2]: *** [Makefile:1842: /home/am/Documents/r8168-8.050.03/src] Error 2
make[1]: *** [Makefile:154: modules] Error 2
make: *** [Makefile:41: modules] Error 2

有什么好主意可以尝试吗?


我发现的最接近的主题是:

这没有说明安装实际上是如何完成的,因此我不知道如何应用它。

假设我可以访问互联网进行 dnf 升级之类的事情 - 不行。

答案1

因为我无法批准评论作为答案......

发布该内容引导/恢复到至少 5.17.5 内核版本使(目前最新的)Realtek 驱动程序可以工作。

看来我有一个错误要报告。

感谢@Artem 在评论中提供建议和帮助。

相关内容