前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >联想 R9000 系列以及Realtek Semiconductor Co., Ltd. Device 88xx系列 Ubuntu WIFI 不能使用

联想 R9000 系列以及Realtek Semiconductor Co., Ltd. Device 88xx系列 Ubuntu WIFI 不能使用

作者头像
风骨散人Chiam
发布2022-04-13 18:15:55
1.3K0
发布2022-04-13 18:15:55
举报
文章被收录于专栏:CSDN旧文CSDN旧文

1.设置bios

打开主板系统,将security boot设置为disenable,我们接下来的操作会涉及到内核级别需要关闭。

2.查询网卡型号

代码语言:javascript
复制
➜  ~ lspci | grep Network                         
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8852

可以看到自己的Wifi 型号,我的是8852螃蟹卡。

3.下载驱动源码并安装

源码网址:https://github.com/lwfinger/ 根据型号选择源代码

我的时8852 使用 https://github.com/lwfinger/rtw89

以下内容为原项目的REAME文件内容,如果帮助到你,及的给元项目作者一颗Star

代码语言:javascript
复制
最新 Realtek rtlwifi 代码的存储库。

这个分支是从合并到 wireless-drivers-next 的版本创建的 repo,位于 5.16 内核中。 删除 v5、v6 和 v7 等所有分支!

只要发行版未修改,此代码将构建在任何内核 5.4 和更高版本上 任何内核 API。 如果您运行 UBUNTU,您可以确信 API 已更改。 不,我不会为您修改源。 你只能靠自己!!!!!

我正在修复旧内核上的构建。

此存储库包括以下卡的驱动程序:

瑞昱 8852AE

如果您正在寻找芯片的驱动程序,例如 RTL8188EE、RTL8192CE、RTL8192CU、RTL8192DE、RTL8192EE、RTL8192SE、RTL8723AE、RTL8723BE 或 RTL8821AE, 这些应该由您的内核提供。 如果没有,那么你应该去 Backports 项目 ( https://backports.wiki.kernel.org/index.php/Main_Page ) 获取必要的代码。
安装说明
要求

你需要安装“make”、“gcc”、“kernel headers”、“kernel build essentials”和“git”。

对于 Ubuntu :您可以使用以下命令安装它们

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

对于 Fedora :您可以使用以下命令安装它们

sudo dnf install kernel-headers kernel-devel 
 sudo dnf group install " C 开发工具和库 " 

对于 openSUSE :安装必要的头文件

sudo zypper install make gcc kernel-devel kernel-default-devel git libopenssl-devel 

对于 Arch :安装必要的内核头文件和基础开发后,

git 克隆 https://aur.archlinux.org/rtw89-dkms-git.git 
 cd rtw89-dkms-git 
 makepkg -sri 

如果找不到上述任何软件包,请检查您的发行版是否像这样安装它们。
安装

对于所有发行版:

git clone git://github.com/lwfinger/rtw89.git 
 光盘 rtw89 
 制作 
 须藤使安装 

使用 SecureBoot 的模块签名进行安装

对于所有发行版:

git clone git://github.com/lwfinger/rtw89.git 
 光盘 rtw89 
 制作 
 sudo 进行登录安装 

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

    选择“注册密钥”并注册上述注册安装步骤创建的密钥
    出现提示时,输入您在创建签名密钥时输入的密码。
    如果您输入错误的密码,您的计算机将无法启动。 在这种情况下, 使用 BIOS 中的 BOOT 菜单启动操作系统,然后执行以下步骤:

sudo mokutil --reset 

重启你的电脑 使用 BIOS 中的 BOOT 菜单启动到您的操作系统 在 MOK 管理界面,选择重置 MOK 列表 重新启动,然后从步骤 make sign-install 重试
如何卸载/重新加载内核模块

sudo modprobe -rv rtw89pci # 卸载模块 
 sudo modprobe -v rtw89pci # 这会加载模块 

睡眠或冬眠后恢复问题

某些 BIOS 无法将电源状态从 D3hot 更改为 D0。 如果你有这个问题,那么

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

该脚本将在睡眠或休眠之前卸载驱动程序,并在恢复后重新加载它。
选项配置

如果事实证明您的系统需要配置选项之一,请执行以下操作:

须藤 _ /etc/modprobe.d/<dev_name>.conf _ 纳米 

在那里,输入以下行:

选项 < 驱动程序 >  << 名称>>= <值> 

rtw89pci 的可用选项是 disable_clkreq、disable_aspm_l1 和 disable_aspm_l1ss。 rtw89core 的可用选项是 debug_mask 和 disable_ps_mode

通常,这些都不需要; 但是,如果您遇到固件错误,一个或两个 的 disable_aspm_* 选项可能会有所帮助。 当有缺陷的 BIOS 无法实现 PCI规格正确。

当您的内核更改时,您需要执行以下操作:

光盘  ~ /rtw89 
 git 拉 
 打扫干净 
 制作 
 须藤使安装 
 ; 或者 
 sudo 进行登录安装 

请记住,每当您获得新内核时都必须这样做 - 没有例外。

这些驱动程序不会为早于 5.4 的内核构建。 如果您必须使用较旧的内核, 提交包含构建错误列表的 GitHub 问题。 没有错误,问题 将被忽略。 我不是读心术。

当您遇到驱动程序正确构建和加载但无法正常工作的问题时,GitHub 问题不是报告它的最佳地点。 我不知道任何一个的内部运作 芯片,而这样做的 Realtek 工程师不会阅读这些问题。 要联系他们,请发送电子邮件至 linux-wireless@vger.kernel.org 。 在内核中包含任何消息的详细描述 日志以及您为分析或解决问题而采取的任何步骤。 如果你的描述是 不完整,你不可能得到任何满足。 另一件事 - 你的邮件必须是简单的测试。 HTML 邮件被拒绝。 

首先安装必要的工具:

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

安装驱动:

git clone https://github.com/lwfinger/rtw89.git -b v7

接着打开rtw89目录下的phy.c 注释掉bss_color = vif->bss_conf.he_bss_color.color; 再打开rtw89目录下的cam.c 注释掉u8 bss_color => vif->bss_conf.he_bss_color.color;和FWCMD_SET_ADDR_BSSID_BSS_COLOR(cmd,> bss_color); 这是看到网上有人解决r7000的问题,但是我没有用到,放到这里希望帮到大家。

cd rtw89

make

这里没报错则成功编译,如有问题则检查是否错误注释了

sudo make install

这里显示Install rtw89 SUCCESS则表明成功安装

4.如何卸载/重新加载内核模块

cd ~/rtw89 sudo modprobe -rv rtw89pci # 卸载模块 sudo modprobe -v rtw89pci # 这会加载模块

在有问题就去看原项目吧,我到这里就解决了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-01-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.设置bios
  • 2.查询网卡型号
  • 3.下载驱动源码并安装
  • 4.如何卸载/重新加载内核模块
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档