欢迎光临
我们一直在努力

图文 | 拯救者Y7000P | Ubuntu22.04 安装后无WiFi驱动解决

本人电脑为拯救者Y7000P RTX5060显卡,在安装完Ubuntu22.04(内核为6.8.0)双系统后会出现没有WIFI标志且无法联网的问题,解决方法如下: 问题出在网卡驱动上,参考文献: Realtek 8922AE Ubuntu22.04 无WiFi驱动解决 https://blog.csdn.net/Violet_1412/article/details/151174155?sharetype=blog&shareId=151174155&sharerefer=APP&sharesource=m0_74272399&sharefrom=link

(本文主要是对这篇帖子的详细注释,感谢大佬的方案,如果对ubuntu系统本身比较熟悉可以直接跟着原贴操作)

Ctrl+Alt+t,,打开终端,查看Secure Boot

mokutil –sb-state

如果输出结果不是disable而是enable则需要更改电脑的BIOS设置。重启电脑,连续按F2(对于拯救者Y7000P而言),会弹出如下页面:

点击右下角More Setting,进入更多设置:

在左栏中选择Security后,在右侧下拉,找到Secure Boot,改为Disabled,F10保存并退出:

联网。可采用网线或使用手机数据线(typeC-usb或双typeC均可)与电脑连接,然后打开手机的通过USB共享网络。

继续Ctrl+Alt+t打开终端,由于我的是刚装的系统,什么都没有,需要下载git,如果你的系统中已经有git,可以忽略这一步

sudo apt update#更新软件包索引
#sudo命令会要求提供密码,在终端中输入密码时不会显示,放心输入然后回车即可
sudo apt install git#会出现【y/n】的选项,输入y,回车

下载无限网卡驱动:

git clone https://github.com/morrownr/rtw89.git
cd rtw89

清理系统中可能存在的冲突驱动:

sudo apt install make#如果已经有make了可以忽略
#可以通过 make –version命令查看是否安装了make,如果输出版本号说明有
sudo make cleanup_target_system

编译并安装驱动:

make clean modules && sudo make install

报错:

原因分析:我的Linux内核(6.8.0-40-generic)是用 gcc-12 编译的,因此编译驱动模块时也需要完全相同的编译器版本,但系统中没有安装它。

解决方法:安装并设置gcc-12

sudo apt install gcc-12 g++-12
sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-12 100 –slave /usr/bin/g++ g++ /usr/bin/g++-12
gcc –version#输出版本号,验证是否安装并将gcc-12设为默认

重新编译驱动

make clean modules && sudo make install

继续报错:

3个报错都是由于内核版本(6.8.0-40-generic)导致的,解决方法如下:

1、找到/rtw89/usb.c文件中的static void rtw89_usb_deinit_tx函数,整个替换为:(为防止出错,建议将原来要替换的部分注释掉而非直接删除)

static void rtw89_usb_deinit_tx(struct rtw89_dev *rtwdev)
{
struct rtw89_usb *rtwusb = rtw89_usb_priv(rtwdev);
int i;

for (i = 0; i < ARRAY_SIZE(rtwusb->tx_queue); i++) {
if (i == RTW89_TXCH_CH12)
skb_queue_purge(&rtwusb->tx_queue[i]);
else {
// 新内核统一使用这套替代方案(兼容 6.7+)
ieee80211_stop_queue(rtwdev->hw, i);
skb_queue_purge(&rtwusb->tx_queue[i]);
ieee80211_wake_queue(rtwdev->hw, i);
}
}
}

剩余两个报错按照提示的分别在core.h、phy.h文件中找到ieee80211_iterate_stations_mtx,改为ieee80211_iterate_stations_atomic。保存,重新运行

make clean modules && sudo make install

 安装固件

sudo make install_fw

复制配置文件

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

重启电脑,即可在右上角找到wifi标识

赞(0)
未经允许不得转载:171主机测评 » 图文 | 拯救者Y7000P | Ubuntu22.04 安装后无WiFi驱动解决
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址