最近家里换了一个5G无线路由,顺便也给家里的台式机更换一个WIFI网卡,之前用的是一个很旧的TPLINK的54M USB网卡,速度太慢了。在网上找了一下,大部分的无线网卡都只支持Windows或MAC操作系统的,支持Linux的很少。最后我选了一个EDIMAX的EW-7822ULC的网卡,这个是可以支持2.4G和5G两个频段的,不过整个安装过程比我预想的要复杂些,在此记录一下。
首先是安装驱动程序。根据卖家给出的驱动网址https://github.com/morrownr/88x2bu,按照里面的步骤安装即可。要注意的是,按照网站的介绍,这个网卡最好插到机箱后背的USB接口,因为这些接口是直接从主板出来的,会更稳定一些。我测试了一下,确实是连到后面的接口更稳定。
之后在我的Ubuntu系统的图形界面里面,在右上方的Network manager里面即可选择WIFI来连接。这里碰到一个很奇怪的问题,就是我的无线路由是设置了2个SSID的,分别是对应2.4G和5G两个频段,但是每次都只能先搜索到2.4G的SSID,在连接了这个SSID之后,Network manager才会显示5G的SSID。之后如果我连接了5G的SSID,下次开机启动后又不能自动连接了,即使我已经选择了自动连接的选项也不行。在网上查了很久也没找到对应的解决方案,无奈只有放弃Network manager
在Linux系统中,还可以用命令行的方式来连接WIFI,例如wpa supplicant。因此我研究了一下如何用wpa supplicant来自动连接,步骤如下
1. 禁止Network manager服务,因为会和wpa supplicant冲突,运行命令
systemctl disable networkmanager
2. 创建一个空白的配置文件wpa.config,然后运行以下命令,其中TPLINK-5G是你的WIFI SSID,pass是密码
wpa_passphrase TPLINK-5G pass > wpa.config
3. 在/etc/systemd/system目录下新建一个wpa_supplicant.service的文件,运行systemctl enable wpa_supplicant,这样开机即可自动启动服务。文件的内容如下,其中的wlx1234是你的wifi接口的名称,通过ifconfig可以查到:
[Unit]
Description=WIFI Connection
Wants=network.target
After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service
Before=network.target shutdown.target network-online.target
[Service]
ExecStartPre=/sbin/ifconfig wlx1234 up
ExecStart=/sbin/wpa_supplicant -iwlx1234 -c/etc/wpa_supplicant/wpa.config 1>/etc/wpa_supplicant/result.log 2$
ExecStartPost=/sbin/dhclient wlx1234
[Install]
WantedBy=multi-user.target
WantedBy=network-online.target
设置完成后,运行systemctl enable wpa_supplicant激活服务,以后每次开机就可以自动连接Wifi了。