ubuntu 安装usb免驱无线网卡TP-LINK WN726N

先看看我的网卡,这是一款TP-LINK WN726N免驱版无线usb网卡

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第1张图片

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第2张图片

 官方并未提供该版本的linux驱动,但是手边只有这个网卡,于是网上一通搜索终于搞定。

 第一步:确定设备所用的驱动

插上无线网卡后输入lsusb -tv 查看设备信息

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第3张图片

其中 0bda:1a2b 即 制造商id:产品id,Driver=usb-storage即代表该设备被识别为usb存储设备,这是因为免驱版的网卡需要存储windows的驱动,所以默认都会被识别为u盘,但在linux上缺毫无用处,我们需要切换usb的设备模式,才能知道网卡模式下的设备id,输入以下命令切换模式

usb_modeswitch -KW 0bda -p 1a2b

 然后再次输入lsusb -tv 查看设备信息

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第4张图片

这时能看到ID由 0bda:1a2b 变成了 0bda:b711,Driver=后面没有任何信息,我这里特意涂抹掉了,因为只有在安装完驱动后才会有内容。

接下来就要根据这个b711去

www.linux-usb.org/usb.ids 去找对应的网卡芯片型号

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第5张图片

可以看到芯片的型号是RTL8188GU,那么接下来就是要去github找对应的第三方驱动源码了

第二步:编译安装驱动

https://github.com/McMCCRU/rtl8188gu 下载master分支所有代码的zip包到本地,进入解压后的目录依次运行make和make install

make
make install

都完成后会在/lib/modules/5.4.0-90-generic/kernel/drivers/net/wireless/看到多了一个8188gu.ko的文件

 这个5.4.0-90-generic是系统当前使用内核的版本号,不同的系统会不一样,如果不知道可以输入uname -a查看

接下来加载刚安装的驱动模块

modprobe 8188gu

 然后再次输入 lsusb -tv,可以看到Driver=后面有信息了,这里还没搞清楚为什么显示的不是rtl8188gu,但是不影响使用。

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第6张图片

第三步:配置网络

输入命令 ip a 获得无线网卡的信息,红框为无线网卡的名字,复制它,接下来会用到

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第7张图片

我使用的是ubuntu 20版本的,网络是由netplan配置的, /etc/netplan目录下会有一个yaml结尾的文件用来存储网络配置,由于是serverv版本的系统,所以默认是没有无线配置的

/etc/netplan/xxx.yaml

 手工添加无线配置

# This is the network config written by 'subiquity'
network:
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: true
      optional: true
  version: 2
# 下面是要添加的内容,每一行与上一行后退4格,一定要严格遵守
  wifis:
      # 下面是前面复制的无线网卡的名字
      wlxf88c2116dde6:
          dhcp4: true
          optional: true
          access-points:
              "wifi的名字":
                  password: "wifi的密码"

然后保存,接下来运行netplan try 检查配置文件是否有错,没有报错的话,接下来再运行 netplan apply 应用配置。最后再运行 ifconfig 就可以看到你的无线网络信息了

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第8张图片

结尾 

当你拔下usb网卡再插入后,如果是免驱版,那么又会被识别为U盘,这时需要再次切换为网卡模式,然后reboot。但是还有一个一劳永逸的办法,编辑 /lib/udev/rules.d/40-usb_modeswitch.rules ,在文件末尾 LABEL="modeswitch_rules_end" 前插入以下内容

ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="/usr/sbin/usb_modeswitch -K -v 0bda -p 1a2b"

 效果如下:

ubuntu 安装usb免驱无线网卡TP-LINK WN726N_第9张图片

 以后插拔网卡或关机重启都能自动识别了。

还有一种情况需要注意,当系统开启了自动升级内核,大多数是默认开启的,那么内核升级后,驱动也会找不到,因为驱动是生成在当时编译的内核版本目录下,这时就得重新编译了。

你可能感兴趣的:(服务器,ubuntu,linux,网络)