[Internal testing communication] Realtek 8852CE WiFi 6e正确打开方式
Tofloor
poster avatar
yegat
deepin
13 hours ago
Author

设备:Thinkpad X201I ;网卡:Realtek 8852CE WiFi 6e;(题外话:旧thinkpad换网卡要自行刷白名单)

在此配置上进行三个多月的测试,8852BE在基于ubuntu的各发行版和ubuntu本体(以下称为ubuntu系)、deepin、gxde进行测试,内核版本均为6.18,出现以下情况:

1、ubuntu系长时间运行后网卡掉线且设置中的无线网显示不可用

2、gxde未知(因为电脑太旧进不去系统)

3、deepin网络不可用

4、网速慢

解决办法:

1、手动设置好现在真实时间日期

2、查看网络设置有没有问题

3、重置网络

4、重新编译内核中的驱动程序或直接食用现成的dkms驱动包

5、网速慢可调整相应的配置文件

简易编译教程:

1、先确认网卡型号:

lspci | grep -i wireless

2、确认驱动情况:

lsmod | grep rtw

3、观察系统日志中的相关错误信息

4、完善环境支持,确保系统具备必要的工具链,依赖安装[Ubuntu/Debian系统/GXDE/Deepin/UOS]:

sudo apt-get update sudo apt-get install make gcc linux-headers-$(uname -r) build-essential git

5、内核版本兼容性检查:uname -r

6、内核≤6.0使用rtw8852be;内核>6.0使用rtw89;具体参考对应github地址的README.md文件,此处以rtw89为例:

  • 非安全启动配置编译
git clone https://github.com/lwfinger/rtw89.git
cd rtw89
make
sudo make install
  • 配置安全启动的模块签名安装
git clone https://github.com/lwfinger/rtw89.git
cd rtw89
make
sudo make sign-install

系统会提示输入密码,请记住它,并在后续步骤中使用。重启以激活新安装的模块。 在MOK管理屏幕中:

选择“注册密钥”,并注册由上面sign-install步骤生成的密钥
输入创建密钥时设置的密码。
如果密码输错,计算机无法启动。此时,通过BIOS的BOOT菜单进入操作系统执行以下命令:
sudo mokutil --reset

重启电脑 从BIOS的BOOT菜单启动操作系统 在MOK管理屏幕上,选择重置MOK列表 重启然后重新开始make sign-install步骤。

7、睡眠或休眠后的恢复问题
某些BIOS在从D3hot状态切换到D0状态时可能出现问题。如有此情况,执行以下命令:

sudo cp suspend_rtw89 /usr/lib/systemd/system-sleep/

该脚本将在睡眠或休眠前卸载驱动,在恢复后重新加载。

8、选项配置
重要:若你有HP或Lenovo笔记本,其BIOS可能无法正确处理PCIe接口。作为补偿,请执行以下命令:

sudo cp 70-rtw89.conf /etc/modprobe.d/.

随后卸载并重新加载驱动,你会看到选项附加到了rtw89_pci或rtw89pci加载行的末尾。

如果发现你的系统需要其他配置选项,按如下操作:

sudo nano /etc/modprobe.d/.conf

在这里添加以下行:

options <>=

rtw89pci可用的选项包括disable_clkreq、disable_aspm_l1和disable_aspm_l1ss;rtw89core的选项包括debug_mask和disable_ps_mode。

9、如果重启后Wi-Fi仍然无法工作,可能是驱动未加载。要修复此问题,你需要手动重建initramfs。根据系统的旧或新程度,执行以下命令之一:

mkinitrd      # 如果你在使用较老的系统
dracut -f --regenerate-all    # 如果你在使用较新的系统

重建initramfs后,重启计算机,检查现在Wi-Fi是否正常工作。

通常情况下,这些都不需要做;然而,如果遇到固件错误,disable_aspm_*中的一个或两个选项可能会有所帮助。当存在缺陷的BIOS未能正确实现PCI规范时,就需要这些选项。

10、可自行编译dkms驱动包

在Debian和类似Ubuntu的发行版中,DKMS常用于简化额外内核模块的构建流程。按照以下步骤安装生成的包后,rtw89驱动将在内核更新时自动重新编译。只要启用了DKMS签名密钥(通常位于/var/lib/dkms/mok.key),安全启动签名也会自动完成。更多细节请参考您所用发行版的安全启动文档。

  • 依赖包基础:
sudo apt install dh-sequence-dkms debhelper build-essential devscripts git-build-recipe

此工作流使用devscripts,它依赖于不少Perl库。考虑在一个chroot环境中构建以避免系统中的无用文件。关于Chroot的Debian维基页面提供了简单的Debian指南,您可以根据需要更改发布代号和镜像URL来适应其他发行版。如果选择这么做,确保在主机系统上安装该包,因为在chroot内部安装可能会失败。

  • 构建与安装

#如果您已经按上述方式构建过,那就需要清理工作区,或者特别地检出一个新分支(否则一些临时文件可能出现在您的包里)
git clean -xfd

git deborig HEAD
dpkg-buildpackage -us -uc
sudo apt install ../rtw89-dkms_1.0.2-3_all.deb

这将安装包并为您当前活动的内核构建模块。之后,您应该能够如上所述使用modprobe。此外,它会在启动时自动加载。

  • 关于固件的注意事项

使用此驱动程序需要用户空间的固件。这个包会尝试自动作为推荐项拉取固件。然而,如果您的发行版不提供firmware-realtek >= 20230117-1或linux-firmware >= 20220329.git681281e4-0ubuntu3.10之一,驱动程序加载将失败,并且dmesg将显示关于特定缺失固件文件的错误。在这种情况下,您可以直接从https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtw89 下载固件文件。

11、网络配置:

1)核心参数配置 :

创建驱动配置文件: sudo nano /etc/modprobe.d/8852be.conf

添加以下优化参数:

# 启用Wi-Fi 6高级功能
options 8852be rtw_he_enable=1
# 开启高速传输模式
options 8852be rtw_vht_enable=1
# 禁用电源管理提升稳定性
options 8852be rtw_power_mgnt=0
# 启用多用户MIMO技术
options 8852be rtw_mu_mimo_enable=1

2)无线信道优化设置

查看当前无线接口信息: iw dev wlan0 info

调整信道配置至最优状态:

# 标准80MHz信道宽度
sudo iw dev wlan0 set channel 36 80MHz
# 高性能160MHz信道宽度(信号覆盖范围较小) 
sudo iw dev wlan0 set channel 100 160MHz

3)多设备环境优化

在家庭多设备使用场景中,建议启用以下设置:

# 提升多设备并发性能
options 8852be rtw_beamform_cap=1
options 8852be rtw_tx_bw_mode=1

参考链接:

1、内核≤6.0可使用rtw8852be编译驱动:

https://github.com/HRex39/rtl8852be;国内镜像:https://gitcode.com/gh_mirrors/rt/rtl8852be/;

无线:https://github.com/lwfinger/rtw8852be;蓝牙:https://github.com/lwfinger/rtw89-BT

2、几款 Realtek 无线网卡的 DKMS 驱动 DEB 安装包介绍

https://bbs.deepin.org/zh/post/264311

3、rtw89的dkms包链接

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtw89

4、告别无网困境:手把手教你为Ubuntu 22.04编译安装Realtek 8852BE WiFi6网卡驱动【有该网站会员可以查看,没会员可以参考其他】

https://blog.csdn.net/weixin_26742753/article/details/161243297

5、内核>6.0可使用rtw89编译驱动

https://github.com/lwfinger/rtw89;国内镜像:https://gitcode.com/gh_mirrors/rt/rtw89;

6、[内核/驱动] Deepin是否有瑞昱RTL8852AE网卡的驱动?

https://bbs.deepin.org/post/221861

7、V20 不识别网卡rtl8852be pcie 802.11ax

https://bbs.deepin.org/zh/post/285569

8、【如何在linux系统里安装无线网卡驱动】_朱培亮的技术博客 【转载】

https://blog.51cto.com/u_12970/14527215

9、亲测现成可用的dkms包

目录:http://ppa.launchpad.net/kelebek333/kablosuz/ubuntu/pool/main/r/rtw89-dkms/

http://ppa.launchpad.net/kelebek333/kablosuz/ubuntu/pool/main/r/rtw89-dkms/rtw89-dkms_1.0+klbkbionic21_all.deb

http://ppa.launchpad.net/kelebek333/kablosuz/ubuntu/pool/main/r/rtw89-dkms/rtw89-dkms_1.0+klbkfocal21_all.deb

Reply Favorite View the author
All Replies
avatar
𰻞𰻝面
deepin
7 hours ago
#1

网卡还得英特尔好用,我也是老ThinkPad,直接移除白名单模块,编译了EDK2以扩展BIOS支持UEFI引导GPT磁盘。换过7260、7265、8260、AX200、AX210网卡,都可以正常运行,目前缺点是第一次弄EDK2时把编译的BIOS刷入芯片,超过容量了。现在机器的序列号乱码,无线指示灯也不会亮了,但使用没任何问题。
Deepin.png

Reply View the author