admin管理员组文章数量:1626225
近期第一次在台式机上安装ubuntu和win10双系统,好不容易把系统搞定了,又发现一个大问题,我新买的usb无线网卡并没有在ubuntu下自动装好驱动。usb插上去以后只读出来一个setup.exe文件,ubuntu肯定是打不开的。遂翻出网卡说明书,得知我的网卡是Tenda U10,再去Tenda驱动下载的官网一看,我这网卡不支持linux,官方没提供驱动,尬住。实验室牵网线非常麻烦,于是下定决心解决它。
首先提一下主机没无线网卡驱动,也没网线的时候怎么解决上网问题。可以用手机的usb共享网络功能,手机进“个人热点”,把“usb网络共享”打开,系统右上角就会出现有线网络连接的图标了
去Tenda官网确定了我这款U10网卡用的芯片是realtek 8811CU,然后在github上找到了一个可用的驱动Realtek RTL8811CU/RTL8821CU USB wifi adapter driver version 5.4.1 for Linux 4.4.x up to 5.x
他在Readme里给出了安装步骤,这里我用中文记录一个流程,对他没提到的点进行说明
1.准备工作
在开始之前,我们应该检查我们的ubuntu内核版本,它提供的驱动仅适用于4.4.x~5.x,内核版本太低的话得升级,不然肯定成功不了。查看内核的指令是 uname -r
确保系统上 make
, gcc
, linux-header
/kernel-devel
, bc
, git
已经安装好。这些一般都已经有了,git可以不用,直接下载他的code再解压就行了
2.检查网络配置
使用ifconfig命令检查你的网络设备配置,没有安装的话会提示你sudo apt-get install net-tools
其中lo是本地环回,usb0是我们的usb共享网络连接,另外一个名叫enp2s0的显示没有数据连接
按照github教程的说法,我们可以把无线网卡的网口用他给出的指令改名为wlan0,或者研究他给的这个链接,将这个特性关闭。
Check the interface name of your wifi adapter using
ifconfig
. Usually, it will be wlan0 by default, but it may vary depends on the kernel and your device. On Ubuntu, for example, it may be named as wlx + MAC address. (https://www.freedesktop/wiki/Software/systemd/PredictableNetworkInterfaceNames/)If this is the case, you can either disable the feature following the link above, or replace the name used in the driver by
grep -lr . | xargs sed -i '' -e '/ifcfg-wlan0/!s/wlan0/<name of the device>/g'
我看到这里挺蒙的,首先试了一下他给的指令,发现是跑不通的,于是去看了一下那个链接,好家伙,全英文的。大概意思是说,我们之前习惯的网口名称形如“eth0”, "eth1", "wlan0"等等,但是从某个时候开始,大家使用一套新的标准(v197),网口的命名习惯就变了,新名称形如“enp2s0”, "ens1"等等。接着就讲了一些把网口名还原回旧习惯的方法。
但,重要的并不是网口名不对啊,我的问题在于ifconfig显示出来的东西并不包含无线网卡的网口,既没有“wlan0”,也没有"wlx+MAC地址"这样的。经过一番了解,得出了结论,ifconfig没显示“wlan0",说明你网卡驱动没装好。啊这,太对了哥,可不是没装吗。所以这一步完全可以跳过,我猜如果是之前有无线网卡驱动但是需要换驱动的话,可能需要这一步。
3.安装
进入rtl8821CU文件夹,打开终端
sudo apt-get install dkms
sudo ./dkms-install.sh
重启电脑,就直接成功了,设置的右上角出现了无线网络图标。虽然Readme中还给出了没解决的修复方法,但是我没遇到。
2021.8.26更新
还是遇到了,在某次重启电脑后就没有wifi图标了。
解决方法如下:
lsusb 查看usb设备信息
找到自己网卡的ID,我的是图里第四条,ID 0bda:1a2b Realtek Semiconductor Corp.
sudo usb_modeswitch -KW -v 0bda -p 1a2b # 启动这个usb设备,-v -p后面的内容是刚才设备的ID
然后就出现wifi图标了
为了不用每次开机都手动开启usb设备,进行如下设置
sudo gedit /lib/udev/rules.d/40-usb_modeswitch.rules # 找到最后一行,LABEL="modeswitch_rules_end" # 在这行的前面添加如下内容 # Realtek 8211CU Wifi AC USB ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b"
保存退出,下次重启就不用再设置了
最后记录一下这次学到的其他命令,以后可能会用到
lspci -v # 以冗余模式显示所有设备的详细信息
lsusb # 显示usb设备的信息
ip link set <name> down # 关闭网卡,<name>为网卡名
ip link set <a> name <b> # 重命名网口<a>为<b>
ip link set <name> up # 启用网卡
ifconfig # 显示网络设备
iwconfig # 显示无线网络设备
版权声明:本文标题:ubuntu18.04 台式机无线网卡驱动安装 Tenda U10 rtl8811CU 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1725517755a1027094.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论