Ubuntu20.04安装无线网卡驱动教程
碗仔粿
编辑于 2023年07月20日 05:36
收录于文集
共3篇

        因为目前能买到的网卡大部分都是免驱网卡,windows上可以即插即用。但是在ubuntu上免驱网卡仍然需要装驱动,因此需要自己到github上下载别人写好的驱动,然后在本地系统上进行编译。本人在arm64平台(树莓派4b)和x86 64(intel_nuc)上都安装了Ubuntu20.04系统。使用的无线网卡是mercury 的免驱网卡  如果用的其他品牌的无线网卡驱动,可以到相应的github上找。

          不管是arm平台还是x86 都可以按如下步骤操作,不过需要提前安装gcc编译器,且对内核进行提前编译,否则会报错  或者编译时缺失库文件。

        首先无线网卡插到主机上,使用 lsusb指令   在列出的usb设备中看到类似如下字样则识别到网卡。

        而输入 lsusb -tv   发现该设备 drive=      ,则缺失驱动。那么我们就可以进行驱动安装了

我使用的驱动包是用dkms 进行脚本编译的 ,因此需要先安装dkms编译环境

        

然后去github上下载驱动包,可以使用git clone指令进行仓库克隆 也可以直接下载zip压缩包

进入下载的安装包仓库中执行脚本编译

编译完成后会生成驱动的可执行文件将其注册到驱动列表即可 

此时  lsusb -tv  指令查看网卡驱动情况     如果  drive = rtl8821cu  则成功 (其他驱动则会显示相应驱动的名字)

后记     

可能报错情况

1.modprobe: ERROR: could not insert '8821cu&#​39;: exec format error

注册驱动时出现这个错误   ,我认为是内核版本问题  我在遇到这个问题的时候使用的编译内核版本是 linux5.1   但是  我在树莓派上成功编译并注册时 树莓派的linux内核版本是5.4  因此我将系统内核进行升级到5.4(注意只升级了内核,没升级系统)

   内核升级过程:

 

重启后将之前编译的文件删除     sudo  make clean

然后重启编译即可    然后插入      

如果还是不行则回到5.1内核 进行插入   (启动时你会看到两个内核版本可以选择)

2.缺失内核头文件

进入内核文件夹  make  重启编译即可