一、背景说明

在部分服务器或工控主机环境中,系统本身可能没有内置无线网卡,或者由于现场布线限制,需要通过 USB 无线网卡接入 WiFi 网络。本文记录的是在Ubuntu 22.04 系统服务器上,安装和配置同一款 USB 无线网卡的过程。

本次使用的是 水星 MW310UH USB 无线网卡,该网卡在系统中识别到的芯片信息与 AIC8800DC 相关。实际操作中,需要完成以下几个关键步骤:

  1. 插入 USB 无线网卡并确认系统识别状态;
  2. 根据情况判断是否需要执行 USB 模式切换;
  3. 安装必要的编译工具和驱动;
  4. 启用无线网卡并扫描 WiFi;
  5. 使用 nmcli 连接无线网络;
  6. 根据现场需求配置静态 IP;
  7. 验证 IP、路由、DNS 和网络连通性。

本文内容适合 Ubuntu 22.04.5 服务器环境参考。


二、环境信息

本文实践环境如下:

项目 内容
操作系统 Ubuntu 22.04.5 Desktop
网卡类型 USB 无线网卡
网卡型号 水星 MW310UH
驱动包 aic8800fdrvpackage.deb
网卡芯片 AIC8800DC
配置方式 命令行配置/桌面配置
网络管理工具 NetworkManager / nmcli

需要说明的是,不同批次的 USB 无线网卡在首次插入系统时,可能处于不同模式。有些设备插入后会被识别为类似存储设备或安装介质模式,需要通过 usb-modeswitch 切换到网卡模式;如果设备已经处于网络模式,则不需要重复执行切换。


三、插入 USB 无线网卡并确认识别状态

首先,将 USB 无线网卡插入服务器 USB 接口。

插入后,可以使用 lsusb 查看系统是否识别到设备:

lsusb

如果只想过滤 AIC 相关设备,可以执行:

lsusb | grep -i aic

在本次测试中,网卡正确进入网络模式后的 USB ID 类似如下:

2357:0147

同时可以看到芯片信息:

AIC8800DC

如果系统已经识别到类似 2357:0147 的设备 ID,说明无线网卡已经处于网络模式,通常不需要再执行 USB 模式切换。


四、安装 usb-modeswitch 并执行模式切换

部分 USB 无线网卡首次插入系统时,可能不是直接以无线网卡模式出现,而是以安装介质或其他模式出现。这类设备需要通过 usb-modeswitch 切换工作模式。

1. 安装 usb-modeswitch

apt update
apt -y install usb-modeswitch

命令说明:

  • usb-modeswitch 用于切换 USB 设备的工作模式;
  • 一些 USB 网卡、4G 网卡、随身 WiFi 设备可能需要依赖该工具;
  • 如果设备已经是网络模式,该步骤可以安装但不一定需要执行切换。

2. 查看当前 USB ID

lsusb | grep -i aic

如果看到的设备 ID 不是网卡模式对应的 ID,需要根据实际显示的厂商码和产品码执行切换。

例如操作记录中的切换命令为:

usb_modeswitch -v a69c -p 5721 -KQ

参数说明:

参数 说明
-v Vendor ID,厂商码
-p Product ID,产品码
-K 发送弹出或切换指令
-Q 安静模式,减少输出信息

注意:
这里的 a69c5721 只是当前实践中看到的 ID,实际操作时应以自己服务器上 lsusb 显示的结果为准。

执行切换后,建议重新插拔一次 USB 无线网卡:

然后再次确认:

lsusb | grep -i aic

如果此时设备已经显示为:

2357:0147

并识别为 AIC8800DC,说明已经进入无线网卡模式。


五、安装编译工具和内核头文件

在安装驱动前,建议先安装编译工具、内核头文件和 DKMS 相关组件。

apt update
apt install -y build-essential linux-headers-$(uname -r) git dkms

命令说明:

软件包 作用
build-essential 提供 gcc、make 等基础编译工具
linux-headers-$(uname -r) 当前内核版本对应的头文件
git 用于拉取源码或辅助工具
dkms 用于内核模块动态构建和维护

虽然本次使用的是厂商提供的 .deb 驱动包,严格来说不一定每次都需要手工编译,但安装这些工具可以减少驱动安装过程中因缺少编译环境导致的问题。


六、下载并安装无线网卡驱动

本次使用的是水星官网提供的驱动包,驱动文件名为:

aic8800fdrvpackage.deb

驱动可从水星官方服务支持页面下载,文档中记录的下载页面为:

https://service.mercurycom.com.cn/download-2916.html

将驱动包上传到 Ubuntu 服务器后,进入驱动包所在目录,执行:

dpkg -i aic8800fdrvpackage.deb

命令说明:

  • dpkg -i 用于安装本地 .deb 软件包;
  • aic8800fdrvpackage.deb 是无线网卡驱动安装包;
  • 安装过程中如果提示缺少依赖,可执行:
apt --fix-broken install
或者简写 apt -f install

然后再次安装驱动包:

dpkg -i aic8800fdrvpackage.deb

驱动安装完成后,建议重新插拔无线网卡,或者重启系统:

reboot

七、确认无线网卡接口名称

驱动安装完成并重新插入 USB 无线网卡后,可以查看系统中的网络接口:

ip link show

也可以使用:

ip addr

在本次测试中,无线网卡接口名称:

wlx4cb7e0cc2a83

这类接口名称通常由 wlx 加 MAC 地址生成。不同主机、不同网卡的接口名可能不一样,实际操作时需要根据自己系统中显示的接口名称替换。

例如后续命令中的:

wlx4cb7e08ff808

需要替换成自己服务器上实际的无线网卡接口名。


八、启用无线网卡

如果无线网卡接口当前未启用,可以执行:

ip link set wlx4cb7e0cc2a83 up

命令说明:

  • ip link set 用于修改网卡链路状态;
  • up 表示启用网卡;
  • 如果接口名称不同,需要替换为实际接口名称。

查看网卡状态:

ip link show wlx4cb7e0cc2a83

如果能看到 UP 状态,说明接口已经启用。


九、扫描可用 WiFi 网络

方式一:使用 iwlist 扫描

iwlist wlx4cb7e0cc2a83 scan | grep -E "ESSID|Signal|Encryption"

命令说明:

字段 说明
ESSID WiFi 名称
Signal 信号强度
Encryption 是否启用加密

如果能扫描到 WiFi 名称,说明无线网卡驱动和基础通信基本正常。

方式二:使用 nmcli 扫描

nmcli dev wifi list

也可以指定无线网卡接口:

nmcli dev wifi list ifname wlx4cb7e08ff808

nmcli 是 NetworkManager 的命令行工具,在服务器环境中非常适合用来配置无线网络。


十、连接 WiFi 网络

如果 WiFi 是普通 WPA/WPA2 加密网络,可以使用以下命令连接:

nmcli dev wifi connect "你的WiFi名称" password "你的WiFi密码"

如果需要指定无线网卡接口,可以执行:

nmcli dev wifi connect "你的WiFi名称" password "你的WiFi密码" ifname wlx4cb7e08ff808

连接成功后,NetworkManager 会自动保存该连接配置。

可以查看已保存的连接:

nmcli connection show

十一、隐藏 WiFi 的连接方式

如果 WiFi 是隐藏 SSID,不能直接通过扫描列表看到,可以手动创建连接。

nmcli con add type wifi ifname wlx4cb7e08ff808 conname "MyWiFi" ssid "你的WiFi名称"

配置 WPA-PSK 加密方式:

nmcli con modify "MyWiFi" wifi-sec.key-mgmt wpa-psk

配置 WiFi 密码:

nmcli con modify "MyWiFi" wifi-sec.psk "你的WiFi密码"

启动连接:

nmcli con up "MyWiFi"

命令说明:

命令 作用
nmcli con add 新增一个连接配置
type wifi 指定连接类型为无线网络
ifname 指定无线网卡接口
conname 指定连接配置名称
ssid 指定 WiFi 名称
wifi-sec.key-mgmt 指定加密方式
wifi-sec.psk 指定无线密码
nmcli con up 启动该连接

十二、验证 WiFi 是否连接成功

连接 WiFi 后,可以查看无线网卡是否获取到 IP 地址:

ip addr show wlx4cb7e08ff808

也可以查看无线连接状态:

iwconfig wlx4cb7e08ff808

如果连接成功,通常可以看到类似信息:


ESSID:"wifi名称"
Access Point: xx:xx:xx:xx:xx:xx

同时 ip addr 中应能看到 DHCP 自动分配的 IP 地址。


十三、配置无线网卡静态 IP

在服务器或工控环境中,通常不建议长期使用 DHCP 地址,因为地址可能变化,不方便远程管理和业务访问。因此可以将无线网卡配置为静态 IP。

本次测试中,计划将无线网卡配置为:

配置项 示例值
IP 地址 192.168.20.100/24
网关 192.168.20.1
DNS 114.114.114.1148.8.8.8
连接名称 AI_Test

执行以下命令:

nmcli con mod "AI_Test" \
    ipv4.method manual \
    ipv4.addresses 192.168.20.100/24 \
    ipv4.gateway 192.168.20.1 \
    ipv4.dns "114.114.114.114 8.8.8.8"

命令说明:

参数 说明
nmcli con mod 修改已有连接配置
AI_Test NetworkManager 中保存的连接名称
ipv4.method manual 设置 IPv4 为手动配置
ipv4.addresses 设置静态 IP 和掩码
ipv4.gateway 设置默认网关
ipv4.dns 设置 DNS 服务器

这里需要注意,AI_Test 是连接名称,不一定等于无线网卡接口名。可以通过下面命令查看:

nmcli connection show

十四、重启无线连接使配置生效

修改静态 IP 后,需要断开并重新连接。

nmcli con down "AI_Test"
nmcli con up "AI_Test"

执行完成后,再次查看 IP 地址:

ip addr show wlx4cb7e08ff808 | grep inet

如果配置成功,可以看到类似输出:

inet 192.168.20.100/24 brd 192.168.20.255 scope global noprefixroute wlx4cb7e08ff808

十五、验证网络连通性

1. 测试网关连通性

ping -c 4 192.168.20.1

如果能正常返回,说明无线网卡到网关之间通信正常。

2. 测试公网 IP 连通性

ping -c 4 114.114.114.114

如果能 ping 通公网 DNS 地址,说明路由基本正常。

3. 测试域名解析

ping -c 4 baidu.com

如果公网 IP 能 ping 通,但域名不能 ping 通,通常说明 DNS 配置存在问题。

4. 查看默认路由

ip route | grep default

正常情况下,可以看到默认路由指向无线网络的网关,例如:

default via 192.168.20.1 dev wlx4cb7e08ff808

如果系统中同时存在有线网卡和无线网卡,需要特别关注默认路由优先级,避免业务流量走错出口。


十六、查看完整网卡连接信息

可以使用下面命令查看无线网卡的完整网络信息:

nmcli dev show wlx4cb7e08ff808

正常情况下,应能看到类似信息:

IP4.ADDRESS[1]:   192.168.20.100/24
IP4.GATEWAY:      192.168.20.1
IP4.DNS[1]:       114.114.114.114
IP4.DNS[2]:       8.8.8.8

该命令适合用于最终检查:

  • IP 地址是否正确;
  • 网关是否正确;
  • DNS 是否正确;
  • 当前网卡是否由 NetworkManager 正常管理。

十七、桌面配置WIFI

建议新手安装桌面版系统,通过桌面配置wifi,这种方式更简单直观不容易出错。

操作步骤如图所示:

可以设置为手动,然后修改为静态ip地址,我目前是自动获取的


十八、常见问题排查

1. lsusb 能看到设备,但没有无线网卡接口

可能原因:

  • 驱动没有安装成功;
  • 网卡还处于 USB 初始模式,没有切换到网络模式;
  • 当前内核没有正确加载驱动模块;
  • 驱动版本和内核版本不匹配。

处理思路:

lsusb
ip link show
dmesg | grep -i aic
dmesg | grep -i usb

如果 lsusb 能看到设备,但 ip link show 看不到类似 wlx 的无线网卡接口,优先检查驱动安装和 USB 模式。


2. 执行 nmcli dev wifi list 看不到 WiFi

可以先确认无线网卡是否启用:

ip link show wlx4cb7e08ff808

如果没有启用,执行:

ip link set wlx4cb7e08ff808 up

然后重新扫描:

nmcli dev wifi list ifname wlx4cb7e08ff808

如果仍然扫描不到,可以检查:

rfkill list

如果无线设备被软阻断,可以执行:

rfkill unblock wifi

3. WiFi 连接成功但不能访问外网

先看 IP:

ip addr show wlx4cb7e08ff808

再看路由:

ip route

再测试网关:

ping -c 4 192.168.20.1

再测试 DNS:

ping -c 4 114.114.114.114
ping -c 4 baidu.com

判断方式如下:

现象 可能原因
ping 不通网关 WiFi 连接异常、IP 配置错误、网关地址错误
能 ping 通网关,不能 ping 公网 IP 路由或上级网络出口异常
能 ping 通公网 IP,不能 ping 域名 DNS 配置异常
有线和无线同时存在时访问异常 默认路由优先级冲突

4. 静态 IP 配置后没有生效

先确认连接名称是否正确:

nmcli connection show

然后重新应用连接:

nmcli con down "AI_Test"
nmcli con up "AI_Test"

再检查 IP:

ip addr show wlx4cb7e08ff808 | grep inet

如果仍未生效,可以查看连接详细配置:

nmcli con show "AI_Test"

重点检查:

ipv4.method
ipv4.addresses
ipv4.gateway
ipv4.dns

十九、完整操作命令汇总

下面是本次安装配置中使用到的核心命令,实际使用时需要根据自己的网卡接口名、WiFi 名称、IP 地址进行修改。

# 查看 USB 设备
lsusb
lsusb | grep -i aic

# 安装 USB 模式切换工具
apt -y install usb-modeswitch

# 执行 USB 模式切换,厂商码和产品码需要按实际情况修改
usb_modeswitch -v a69c -p 5721 -KQ

# 更新软件包列表
apt update

# 安装编译工具、内核头文件和 DKMS
apt install -y build-essential linux-headers-$(uname -r) git dkms

# 安装无线网卡驱动包
dpkg -i aic8800fdrvpackage.deb

# 查看网络接口
ip link show
ip addr

# 启用无线网卡
ip link set wlx4cb7e08ff808 up

# 扫描 WiFi
iwlist wlx4cb7e08ff808 scan | grep -E "ESSID|Signal|Encryption"
nmcli dev wifi list ifname wlx4cb7e08ff808

# 连接 WiFi
nmcli dev wifi connect "你的WiFi名称" password "你的WiFi密码" ifname wlx4cb7e08ff808

# 查看已保存连接
nmcli connection show

# 配置静态 IP
nmcli con mod "你的连接名称" \
    ipv4.method manual \
    ipv4.addresses 192.168.20.100/24 \
    ipv4.gateway 192.168.20.1 \
    ipv4.dns "114.114.114.114 8.8.8.8"

# 重启连接
nmcli con down "你的连接名称"
nmcli con up "你的连接名称"

# 查看 IP
ip addr show wlx4cb7e08ff808 | grep inet

# 测试网关
ping -c 4 192.168.20.1

# 测试公网 IP
ping -c 4 114.114.114.114

# 测试 DNS
ping -c 4 baidu.com

# 查看默认路由
ip route | grep default

# 查看网卡详细信息
nmcli dev show wlx4cb7e08ff808

# 查看无线连接状态
iwconfig wlx4cb7e08ff808

二十、总结

本次在两台 Ubuntu 22.04 主机上测试的是同一款水星 MW310UH USB 无线网卡,整体流程基本一致。核心难点不在 WiFi 连接本身,而是在以下几个环节:

  1. 确认 USB 设备是否已经进入网络模式
    如果网卡仍处于初始模式,需要使用 usb-modeswitch 切换。
  2. 正确安装 AIC8800 相关驱动
    安装驱动前建议准备好编译工具、内核头文件和 DKMS,减少驱动安装异常。
  3. 确认无线网卡接口名称
    Linux 下无线网卡接口名可能不是传统的 wlan0,而是类似 wlx4cb7e08ff808
  4. 使用 nmcli 完成 WiFi 连接和静态 IP 配置
    对于无图形界面的服务器环境,nmcli 是比较稳定、清晰的配置方式。
  5. 配置完成后必须验证 IP、网关、DNS 和默认路由
    仅看到 WiFi 已连接并不代表网络一定可用,还需要通过 pingip routenmcli dev show 等命令逐项确认。

整体来看,在 Ubuntu 22.04 环境中,只要驱动安装正常,水星 MW310UH USB 无线网卡可以通过命令行方式完成无线网络接入,并可进一步配置为静态 IP,满足服务器或现场测试环境的无线联网需求。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐