工作站 Linux 系统下无线网卡配置

家中新装一台工作站,使用 Ubuntu 18.04 及 Ubuntu 20.04 装机,为了在笔记本上可以远程使用。 配置一个Realtek  rtl8821cu无线网卡,网络教程较为繁多,将有帮助的收录至此。

当前无线网卡为了方便客户安装驱动程序,采用U盘 + 网卡的模式。也就是没安装驱动时显示一个U盘,里面有 Windows 下的驱动程序,驱动程序安装完成后,就切换为网卡模式。在Linux 系统,可以参考下面这篇文章,原理介绍的比较详细:

解决Realtek rtl8821cu USB 无线网卡树莓派linux下识别为存储模式的问题

首先我们使用 lsusb 命令确认设备正常接到计算机上了,0bda:1a2b 就是设备对应的ID。

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0bda:1a2b Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

这时我们可以手工输入命令来启动网卡:

% sudo usb_modeswitch -KW -v 0bda -p 1a2b
Take all parameters from the command line


 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.5.2 (C) Josua Dietze 2017
 * Based on libusb1/libusbx

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x0bda
DefaultProduct= 0x1a2b

StandardEject=1

Look for default devices ...
  found USB ID 1d6b:0003
  found USB ID 0bda:c811
  found USB ID 1d6b:0002
 No devices in default mode found. Nothing to do. Bye!

 这时再使用 lsusb,设备就切换到新的设备ID上了。

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0bda:c811 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

在网络上搜索 第二行的内容,可以下载相应驱动程序。点击下载8821cu驱动程序

安装完驱动程序后,重启机器,这时我们人工执行:sudo usb_modeswitch -KW -v 0bda -p 1a2b命令,就能看到桌面右上角无线网卡加载的图标了。

为了避免每次启动,我们都手动执行命令,下面我们将USB无线网卡的自动识别添加到系统配置中。

方法一:我们先编辑  /lib/udev/rules.d/40-usb_modeswitch.rules  ,将识别成U盘的设备ID加到切换规则中去(Ubuntu 18.04 没有规则,所以能在Files中看到U盘。Ubuntu 20.04 已经添加 0bda:1a2b  转换规则,看不到U盘): 

% sudo vi /lib/udev/rules.d/40-usb_modeswitch.rules

...
# Realtek rtl8821cu
ATTR{idVendor}=="0bda", ATTR{idProduct}=="1a2b", RUN+="usb_modeswitch '/%k'"
...

然后在  /etc/usb_modeswitch.d 下添加 0bda:1a2b 文件,文件内容:

% sudo vi /etc/usb_modeswitch.d/0bda:1a2b
TargetVendor=0x0bda
TargetProduct=0xc811
StandardEject=1

方法二,也有文章介绍可以使用 /etc/usb_modeswitch.conf 文件进行配置。

% sudo vi /etc/usb_modeswitch.conf

# What it all means (command line flags appended): 
# 
# * DefaultVendor      -v <hex number> 
# * DefaultProduct     -p <hex number> 
# 
# This is the ID the USB device shows after having been plugged in. 
# The tool looks for this; if not found -> no action. 
# 
# * TargetVendor       -V <hex number> 
# * TargetProduct      -P <hex number> 
# 

DefaultVendor=0x0bda
DefaultProduct=0x1a2b
TargetVendor=0x0bda
TargetProduct=0xc811

这样关机重新启动时,USB网卡就能自动识别了。

另:

如果在系统安装时本身有线网络也不能联网,可以使用虚拟机先把 linux 系统安装好(不要使用快捷方式,要选用gpt磁盘分区,磁盘大小可15G~20G左右)。在虚拟机中联网进行上面的配置。然后使用磁盘管理工具将虚拟机导出为镜像,在目标机器上安装好一个操作系统,然后将镜像恢复到一个分区进行操作。

恢复后的分区因为引导区的磁盘UUID 不一样,会有启动不了的情况,此时我们可进入到维护模式,在命令行使用 blkid 查找 boot 分区的 UUID,将其替换到 /etc/fstab中的 /boot/efi 前面。

# vi /etc/fstab
...
UUID=99E0-AC01  /boot/efi       vfat    umask=0077      0       1
...

由于恢复镜像时,镜像的大小可能会小于目标磁盘的大小。这时可以使用双系统的另一系统磁盘管理工具对问题进行修改。例如我们安装两个版本的 Ubuntu 系统的,就可使用 gparted 软件对磁盘分区问题进行修复。

猜你喜欢

转载自blog.csdn.net/whyliu_/article/details/127157144