0%

PVE8 安装 RTL8125 网卡驱动

alt text

PVE8 安装 RTL8125 网卡驱动

背景

  • PVE 系统版本: proxmox-ve: 8.2.0 (running kernel: 6.8.4-2-pve)
  • PCIe 4口 2.5G 网卡: tb 速优科技

问题

PVE 8.2 在识别 RTL 8125 网口驱动时会使用 RTL 8129,导致网卡插上网线时无任何亮灯。

进入 PVE 查看 PCIe 设备中网卡的信息,如我使用的是四口网卡:

1
2
3
4
5
6
lspci | grep -i eth
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
08:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
0a:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
0b:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

alt text

查看具体的网卡详细信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
lspci -v -s 05:00.0
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Subsystem: ASUSTeK Computer Inc. RTL8125 2.5GbE Controller
Flags: bus master, fast devsel, latency 0, IRQ 18, IOMMU group 18
I/O ports at 7000 [size=256]
Memory at 85f00000 (64-bit, non-prefetchable) [size=64K]
Memory at 85f10000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 01
Capabilities: [b0] MSI-X: Enable+ Count=32 Masked-
Capabilities: [d0] Vital Product Data
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Virtual Channel
Capabilities: [168] Device Serial Number 01-00-00-00-68-4c-e0-00
Capabilities: [178] Transaction Processing Hints
Capabilities: [204] Latency Tolerance Reporting
Capabilities: [20c] L1 PM Substates
Capabilities: [21c] Vendor Specific Information: ID=0002 Rev=4 Len=100 <?>
Kernel driver in use: r8125
Kernel modules: r8169, r8125

其中 05:00.0 是从 lspci 命令中找到的网卡设备 ID。

图中显示的 Kernel driver in use: r8125 是已经安装好驱动的网口,PVE 8.2 默认状态下 使用的是 r8169.

alt text

安装驱动

首先准备好驱动安装包,到 GitHub 上下载驱动 devome/r8125-dkms Release, 从中下载最新的版本, 如我现在使用的是版本 r8125-dkms_9.015.00-1_all.deb

PVE 安装依赖:

1
2
3
4
5
6
7
$ apt update
$ apt upgrade
$ apt install -y dkms proxmox-headers-$(uname -r)

# 安装 headers
$ headers=$(dpkg -l | awk '/^ii.+kernel-[0-9]+\.[0-9]+\.[0-9]/{gsub(/-signed/, ""); gsub(/kernel/, "headers"); print $2}' | tr "\n" " ")
$ eval apt install -y $headers

PVE 安装驱动包, 以我下载的版本 r8125-dkms_9.015.00-1_all.deb 为例:

1
$ dpkg -i r8125-dkms_9.015.00-1_all.deb
1
2
3
4
5
6
# 列出驱动版本
$ dkms status
# 列出内核版本kernel_version
$ dpkg -l | awk '/^ii.+kernel-[0-9]+\.[0-9]+\.[0-9]/{gsub(/proxmox-kernel-|pve-kernel-|-signed/, ""); print $2}'
# 安装驱动, 如我的驱动版本(9.015.00)和内核版本(6.8.4-2-pve): dkms install r8125/9.015.00 -k 6.8.4-2-pve
dkms install r8125/<driver_version> -k <kernel_version>

如上命令替换自己的 驱动版本内核版本

alt text

禁用 r8129 驱动

1
2
3
4
5
6
7
## 禁用r8169驱动
$ echo "blacklist r8169" >> /etc/modprobe.d/dkms.conf

## 重启
$ update-grub
$ update-initramfs -u -k all
$ reboot

重启后再次查看网卡加载的驱动, 现在加载的是 r8125 了,查看机器上的该网口持续闪烁

alt text

设置网口为 UP 状态

1
ip link set ens1 up

参考资料: PVE 8 安装 ReakTEK RTL8125B 2.5G网卡驱动