写在前面:电脑内置无线网卡出了些小问题,尽管可以搜到网络但是信号很弱,这不能够啊,所以先买了一款tenda u9 usb无线网卡,奈何在ubuntu上无法自动安装驱动,并且官方并不支持其在ubuntu上的使用,因此可以考虑在ubuntu上编译其驱动源码即可.
环境:
Ubuntu16.04
内核:4.15
Step1:
插上usb无线网卡并在终端输入:
lsusb
可以查看此时接入的usb设备号,
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 038: ID 0bda:1a2b Realtek Semiconductor Corp.
Bus 001 Device 012: ID 275d:0ba6
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Step2:
其硬件设备id为 ID 0bda:1a2b,根据此硬件id号去查询其芯片型号,(百度一下并没有找到)索性将usb无线网卡驱动在windows系统下读取,打开网络共享中心,更改适配器设置,选择无线网络右键选择属性,即可查看usb无线网卡对应的芯片型号.
ID 0bda:1a2b对应的芯片型号为rtl8821cu
接下来在github上查找其驱动源码,/MingxuZhang/rtl8821cu(驱动源码地址)
这个驱动源貌似仅仅对Ubuntu14.04有效,更换为Ubuntu16.04之后直接使用这个驱动源会出现一定的问题,是因为新的内核计时器改变了很多,所以驱动已经过时,故查看以下博客
/daxus/article/details/84348308
该博客中所包含的无线网卡驱动支持ubuntu内核大于等于4.15https://githu /whitebatman2/rtl8821CU安装方法相同
Step3:
下载并且进入到rtl8821cu文件夹下进行编译
make
sudo make install
sudo modprobe 8821cu
lsusb
sudo usb_modeswitch -KW -v 0bda -p 1a2b
完成上述这些操作,此时ubuntu下就可以继续使用此款usb无线网卡。
正常情况下,一通操作之后,应该是可以搜到网络了,不过有时候会出现很多神奇的bug,解决办法就是重新插拔usb无线网卡、重启电脑、或者多次重复运行上述编译过程。
如果你经过多次尝试之后还是失败,莫得头铁,没有必要在这个上面浪费太多时间,请移步到下一篇blog,有彩蛋哦。