【全网最全】Ubuntu 18.04 解决未找到wifi适配器问题
【全网最全】Ubuntu 18.04 解决未找到wifi适配器问题
1. 问题描述
2. 已尝试方法
2.1 先决条件
2.2 第一种方法
2.2.1 先修改源
2.2.2 准备联网添加网络适配器
2.3 第二种方法
2.3.1 更新索引
2.3.2 添加附加驱动
2.3.3 更新并激活网卡
2.3.4 再加一段代码
2.4 第三种办法
2.4.1 终端下载包并打开文件夹
2.4.2 去官网下载
3 最终解决方案
3.1 查看网络适配器型号和Ubuntu内核
3.2 换系统
3.3 买无线网卡
4 写在最后
1. 问题描述
由于项目需要买了一块Nvidia 的Jetson Nano B01 sub的卡,想把之前用树莓派写的机器人控制程序移植到这块板子里面,这块板卡自带系统是Ubuntu18.04版本,因此为了防止之后编译报错,在项目支持下买了一台神州的笔记本并装载双系统,结果发现了问题:
利用U盘装载完Ubuntu18.04 版本后,打开Ubuntu系统发现未找到wifi适配器
图1. wifi界面报错图
2. 已尝试方法
通过在网上查找方法,目前一共尝试了三种(先说我最后的结论,三个方法一个都没用…还是没法解决问题,如果也是尝试了多种方法无果,可以直接拉到最后看最终解决方案)最终解决方案
2.1 先决条件
先要给笔记本连上网…虽然有点矛盾,但是确实最好连上网,目前能联网的方式有三种
一种通过插网线走共享网络
一种用手机自带的通过数据线网络进行共享(我是直接usb插typec口的手机,手机上自动就显示可以选择usb进行网络共享)
最后就是用蓝牙连接上网 Ubuntu 18.04 LTS共享Android手机蓝牙网络 可以参考这个
2.2 第一种方法
第一种是添加驱动问题(其实后面也是大多是这样),参考了帖子 Ubuntu18.04带详细分盘以及WiFi联网安装教程,前半段是讲解怎么安装Ubuntu18.04系统的(虽然我没看),后半段是讲解wifi问题的,根据这作者的方法具体要做有以下操作:
2.2.1 先修改源
连上网之后,首先更改源文件,这里由于是刚装完的系统,所以还是要都走一遍
首先修改之前进行备份,然后再在终端中执行:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bcakup
AI生成项目
1
编辑软件源文件,终端输入命令:
sudo gedit /etc/apt/sources.list
AI生成项目
1
如果没装gedit,则执行完安装即可
sudo apt-get install gedit
AI生成项目
1
之后再输入之前的命令就可以打开文件了,首先直接把里面的内容清理掉,然后把这下面的任意一个复制到文件里面保存退出即可:
阿里云源:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
AI生成项目
1
2
3
4
5
6
7
8
9
10
11
清华源:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
AI生成项目
1
2
3
4
5
6
7
8
9
10
2.2.2 准备联网添加网络适配器
首先在终端执行以下命令
sudo apt-get update
sudo apt-get upgrade
AI生成项目
1
2
然后点击屏幕左下角,找到软件与更新,点击附加驱动,稍等一会,可以看到最下面有个wireless network adapter驱动,点击启用,等待进度条读取到一定程度设置密码(8~16位,随意设置12345678即可),接着系统会要求重启进入MOK模式,点击continue,yes后输入密码再重新进入系统。 wifi图标即出现了,可搜索对应无线网络进行联网。
可惜,我压根没有这个驱动,于是乎,试了第二种
2.3 第二种方法
这个方法是参考了 ubuntu18.04系统安装完之后显示未发现WiFi适配器这个帖子,一共有四步
2.3.1 更新索引
打开“设置”
选择“软件和更新”
更改“下载至”的站点为合适的站点
选择合适的服务器后,系统会提示更新索引,确定即可。
注意:这里的源已经是更改过了,所以这里选阿里或者清华的都ok,建议修改成国内源 ,如果没有修改请参考 2.2.1 先修改源
2.3.2 添加附加驱动
在系统设置中打开“软件与更新”面板
进入“附加驱动”选项卡,如果网络正常,且源设置正常,那么一般能搜到对应的无线网卡驱动,安装之后再重启电脑就可以了(这其实就是上一种方法)
注意:要查看bois是否位于UEFI且开启了secure boot,必须把secure boot关掉,因为专用驱动是闭源的,而ubuntu开源,微软认为“闭源系统是不安全的,所以闭源的软件在开启secure boot的时候不能启用”。
2.3.3 更新并激活网卡
如果上面已经成功了,恭喜你,结束了,如果没有,再往下执行
首先打开终端,输入:
sudo apt-get update
sudo apt-get install bcmwl-kernel-source
AI生成项目
1
2
注意这里是 kernel !!!不是卷积核的那个 kernal !!!
这个代码就是用于激活bcm的无线网卡,因为一般笔记本的无线驱动源在此,另外,其实ubuntu自身其实就可以识别无线网卡,我们这样做只是为了更新一下,激活它的设置而已),然后点击右上角联网的图标,正常就可以看见能搜索到WIFI了。
2.3.4 再加一段代码
上面如果还不行,那就打开终端,输入:
sudo nano /etc/modprobe.d/blacklist.conf
AI生成项目
1
在打开的文件中的最后一行添加:
blacklist acer-wmi
AI生成项目
1
注意保存,然后重启系统 再执行第三步激活网卡
可惜,博主说能适合99%的人,但我刚好就是那1%,于是乎,我去试了第三种
2.4 第三种办法
这里参考了博主针对Ubuntu18.04不能联网(未发现wifi适配器)的解决方法,去官网下载新的包去安装,于是乎有:
2.4.1 终端下载包并打开文件夹
在终端中执行:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install git
sudo apt-get install build-essential
AI生成项目
1
2
3
4
再通过终端调用到下载文件夹中去
cd 下载
sudo apt-get install flex bison
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi
AI生成项目
1
2
3
注意:这里我的Ubuntu已经改成中文了,所以cd过去的是中文的下载,如果还是英文,这里应该显示的是 Downloads,不放心的可以直接在终端中输入以下命令,或者打开文件夹查看对应下载文件名称
ls
AI生成项目
1
后面cd的时候也是一样,注意自行修改
2.4.2 去官网下载
首先进入官网 index : kernel/git/firmware/linux-firmware.git,在 Tag 里面选择linux-firmware-20231111.tar.gz,点击就会自动进行下载,(进入网站和下载可能都会比较慢,耐心等待一下)
然后再去终端里面执行下面命令
cd 下载
cd backport iwlwifi
sudo make defconfig-iwlwifi-public
sudo make
sudo make inatall
cd ..
tar -zxvf linux-firmware-20231111.tar.gz
AI生成项目
1
2
3
4
5
6
7
接着我们把下好的压缩包解压出来
cd linux-firmware-20231111
ls | grep iwlwifi
sudo cp iwlwifi-* /lib/firmware/
AI生成项目
1
2
3
再打开个新的终端(直接在终端那里右键就能看到),输入下面指令:
cd /lib/firmware
ls | grep iwlwifi
AI生成项目
1
2
最后再 重启系统,就可以显示Wifi并且联网
很可惜,我发现我还是没法联网!!!最后的最后我怀疑是电脑硬件问题了,于是乎有以下一顿操作
3 最终解决方案
如果跟我一样,上述三种方法,或者其他方法都试过没有用的,那最最最最最终解决方案可以参考以下:
3.1 查看网络适配器型号和Ubuntu内核
首先我们要回到windows系统里面,打开设备管理器 (快捷键 win+x),然后查看网络适配器,发现我的是 Intel Wifi 6 AX101
去intel官网查了一下适用于无线wifi的驱动 适用于 Linux* 的英特尔® 无线 Wi-Fi 驱动程序,发现支持的操作系统是
Linux* 内核 6.10 +
再去看了一下Ubuntu18.04对应的内核版本
Linux* 内核 4.18.14
好了,破案了,跟软件没半毛钱关系,纯粹是硬件堵住了,所以解决方案有两个
3.2 换系统
上面提到Ubuntu18.04系统的内核比较低,那自然一个思路就是升核,把内核升到6.10及以上
升核的教程随便搜一下就有,比如 Ubuntu Linux内核版本升级或降级到指定版本(基于ubuntu 18.04示例)
再去intel官网下载无线wifi的驱动 适用于 Linux* 的英特尔® 无线 Wi-Fi 驱动程序 ,下载好后在终端中输入:
sudo apt-get install--reinstall linux-firmware
AI生成项目
1
加载完驱动程序后再重启系统就行
具体参考是intel官网给的解决方案 如何在 Ubuntu18.04 操作系统中加载 Linux Wi-Fi 驱动程序“iwlwifi-8265-36.ucode”
3.3 买无线网卡
如果既不想改变系统,也不想升级内核
吐槽::((我就是这么苦逼的啥都不想做的那个,因为机器人项目用的板卡是18.04的,为了避免后续写代码编译正确,所以最好是保持内核一致,这样报错概率就会小不少
那只有最后一个办法,买一个无线网卡(非广告)
这里我买的是绿联的 WIFI6 USB无线网卡 AC650,最便宜的650M 5G 双频就可以了,它上面说的是支持
Linux 2.6.18~5.3
如果觉得这个不行,换绿联其他型号的也行
大部分电脑都是即插即用,如果不行,就把系统自带的驱动删了,安装绿联网卡驱动就可以,绿联网卡的驱动可以找客服要,或者去官网下 绿联驱动
安装驱动教程如下:
首先在绿联官网下载以下版本
绿联USB2.0无线网卡RTL8811CU芯片驱动(Windows+Linux系统)ICM496-90339CM448-20204
AI生成项目
1
下载完之后打开下好的压缩包,按照以下路径依次点击文件至最后会看到这个压缩包 rtl8821CU_rtl8731AU_WiFi_linux_v5.12.0.4-1-g9241a6516.20210916_COEX20200730-5151.tar.gz 打开之后会有个文件夹,对这个文件夹右键选择提取,可以提到桌面去
USB无线网卡RTL8811CU芯片驱动(Windows+Linux系统)\Linux\RTL8821CU_RTL8731AU_WiFi_linux_v5.12.0.4-1-g9241a6516_COEX20200730-5151.20210916\driver
AI生成项目
1
然后在桌面上在文件夹空白处右键打开终端(也可以自己用cd命令cd到这个文件夹来),在终端中输入:
sudo apt install make
sudo apt install gcc
sudo make
AI生成项目
1
2
3
上述最后一步是对makefile文件进行编译,如果编译成功了,应该会生成8821cu.ko文件,可以在终端里面输入ls进行查看
最后的最后在终端中输入:
sudo make install
AI生成项目
1
把驱动安装到系统中,之后重启Ubuntu系统,网卡拔了重新插入!!,就能在桌面上看到一个光盘图标了,右键这个光盘图标把他弹出,就可以在桌面右上角wifi那里看到可以连接了!!!
如果没有成功,可以吧系统的网卡驱动删了,我目前找了一下,删除系统自带的网卡驱动可以参考 Linux卸载网卡驱动:操作指南
具体命令如下,打开终端,确认当前安装的网卡驱动的信息
lshw -class network
AI生成项目
1
在命令执行完成后,可以看到关于网卡驱动的信息,包括厂商、型号等,可以记一下,然后先需要停止相关的网卡服务:
sudo systemctl stop network-manager
AI生成项目
1
再关闭网卡
sudo ifconfig eth0 down
AI生成项目
1
卸载驱动并清理残留文件
sudo apt remove driver-name
sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/driver-name
AI生成项目
1
2
最后重启系统
sudo reboot
AI生成项目
1
然后按照上面装驱动的方式再来一遍,应该就能解决了
4 写在最后
至此,应该是彻底解决了wifi联网问题了,虽然但是,之前已经用了三种办法去给他联网,最后目的就只是为了用wifi联网而已,而且还是用的新买一个无线网卡解决的,我觉得多少有点,,,,, 大无语!!! 不过好在搞定了之后,可以直接手机热点连接板子和电脑,适合实验室没有路由器只能用自己手机热点的,然后在局域网下在linux系统上走ssh传文件或者直接远程桌面的朋友们,也算是功德无量了,如果大家能看到这里,在此表示感谢,预祝大家科研顺利!paper 多多!
————————————————
版权声明:本文为CSDN博主「Fano404」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44711698/article/details/142147662