前情提要:朋友赞助了 AMD 2950x + 技嘉 x399 MEG Creation,我配上其它组件,装了台新电脑。接下来把老电脑收拾一下,装上 Ubuntu 20.04,打算补齐 x86 64 Linux 平台。
结果卡在无线网卡配置上,Ubuntu 无法识别和使用。我的无线网卡是 TP-Link 的 WDN5200H 免驱 USB 网卡,我直接用型号搜索,很容易就找到介绍安装教程。
原来这个网卡同时集成了一块小 U 盘,里面是驱动程序,方便没有网络的人安装。但是在 Ubuntu 下,会优先把它识别成 U 盘(但是我也没找到盘符),所以无线网络不工作。解决方案就是先安装驱动,然后用 usb_modeswitch 切换工作模式,然后系统就会把它识别成无线网卡,然后就可以了。
但在我这里,这套操作行不通,切换设备的时候,上面都一样,但最后会报错:
Use interface number 0
with class 255
Error: can't use storage command in MessageContent with interface 0; interface class is 255, expected 8. Abort.
我用上面的错误信息作为关键词搜索,只能找到各种关于 huawei modem 的讨论,解决不了问题。折腾很久,我突然注意到,我的网卡 ID 似乎和教程里不太一样,我的是 obda:c811
,而教程里是 obda:1a2b
(分号前是设备id,分号后是产品id),是不是这个原因呢?我以 0bda:c811
作为关键词,很快找到这个答案。
原来核心原因在于原先的驱动是基于 4.x 内核的,从 19.04 开始,Ubuntu 内核已经升级到 5.x,所以要用新驱动。所以我按照帖子里的指示,安装了新驱动。一番折腾之后,还是不行……
眼看周末过去,没时间继续折腾了,我只有到京东下单了一款 m2 接口的 Intel AX200 无线网卡(含蓝牙)——据说 Intel 网卡都是免驱的,而且 m2 接口肯定没有集成 U 盘这种幺蛾子。
周一,拿到新网卡,插上。果然,Intel 网卡就是免驱,工作正常;但是,我没买天线,而这个鬼网卡没有天线是绝对不能工作的(客服告诉我可以试试,不行再买天线,我……),于是我只好再下单了一套天线。然后我无意打开 Wi-Fi 一看,WTF,这是啥,Rtl8821CU?不就是我的 TP-WDN5200H 么?原来我昨天其实就弄好了,只是没有重启,没有生效……
至此,问题解决。
总结一下,配置方式:
$ sudo apt update
$ sudo apt install build-essential git dkms
$ git clone https://github.com/brektrou/rtl8821CU.git
$ cd rtl8821CU
$ chmod +x dkms-install.sh
$ sudo ./dkms-install.sh
$ sudo modprobe 8821cu
以上步骤会在系统中安装好驱动,可以用
$ ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtl8821cu
或
$ sudo dkms status
检查驱动是否已安装。
然后,重启,重启,重启。重要的事说三遍。
欢迎吐槽,共同进步