由于现场电脑是Ubuntu20.04系统,所在环境没有有线网,所以只能买了一个无线网卡(芯片是 RTL8812AU)。官网提供的Ubuntu驱动版本只到了Ubuntu18,试之后发现我这个20.04果然不适用,于是只好上网自行解决,需要手机USB连接电脑共享下流量,涉及下载网卡驱动。
通过 GitHub 源码编译安装
安装依赖:打开终端,输入以下命令安装编译所需的工具和内核头文件:
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r) git
下载驱动源码:使用 git
命令克隆 rtl8812au 的 GitHub 仓库:
git clone https://github.com/gnab/rtl8812au.git
编译与安装:进入下载好的驱动源码目录,执行编译和安装命令:
cd rtl8812au
sudo make
sudo make install
加载驱动:安装完成后,输入以下命令加载驱动:
sudo modprobe 8812au
使用 PPA 源安装
添加 PPA 源:打开终端,输入以下命令添加包含 rtl8812au 驱动的 PPA 源 :
sudo add-apt-repository ppa:kelebek333/kablosuz
sudo apt-get update
安装驱动:执行以下命令安装 rtl8812au 驱动:
sudo apt install realtek-rtl88xxau-dkms
加载驱动:安装完成后,使用以下命令加载驱动模块:
sudo modprobe 88xxau
设置 usb_modeswitch:
安装 usb_modeswitch:执行以下命令安装 usb_modeswitch
工具:
sudo apt-get install -y usb-modeswitch
执行lsusb命令查看你usb网卡信息,我的是
Bus 001 Device 004: ID 0bda:8812 Realtek Semiconductor Corp. RTL8812AU 802.11a/b/g/n/ac WLAN Adapter
修改配置文件:打开 /lib/udev/rules.d/40-usb_modeswitch.rules
文件:
# Realtek 8812AU Wifi AC USB
ATTR{idVendor}=="0bda", ATTR{idProduct}=="8812", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 8812"
LABEL="modeswitch_rules_end"
执行切换命令:手动执行以下命令切换 USB 模式:
sudo usb_modeswitch -KW -v 0bda -p 8812
设置自动切换:为了实现开机自动切换模式,可在 /etc/udev/rules.d/50-usb-realtek-net.rules
文件中添加以下内容:
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="8812", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 8812"
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="8812", RUN+="/bin/bash -c 'modprobe 8812au && echo 0bda 8812 > /sys/bus/usb-serial/drivers/option1/new_id'"