在未插入任何网卡硬件 的情况下,判断 Linux 系统(OrangePi H3)支持哪些 USB/SDIO WiFi 网卡,核心是查看内核驱动配置 和预装固件,因为驱动决定了兼容的芯片型号,固件决定了驱动能否正常工作。
以下是分步骤的查询方法,所有操作均在 OrangePi 本地终端执行:
一、核心思路
Linux 对硬件的支持由 内核驱动模块 + 固件文件 共同决定:
- 内核驱动:内置或可加载的
.ko模块,对应特定芯片型号(如 RTL8188、博通 BCM43xxx); - 固件文件:存放在
/lib/firmware,是驱动与硬件通信的必要文件,不同芯片需要对应固件。
二、步骤 1:查看内核支持的 WiFi 驱动(关键)
OrangePi H3 通常运行基于 Linux 3.4/4.9 内核的系统,我们可以通过内核配置文件,查看已编译支持的 WiFi 驱动。
方法 1:读取当前内核配置(推荐)
内核启动后会将配置信息保存到 /proc/config.gz,直接解析即可:
bash
# 安装解压工具(若未安装)
sudo apt install -y zstd gzip
# 查看所有无线相关驱动配置
zcat /proc/config.gz | grep -E 'CONFIG_WLAN|CONFIG_WIFI|CONFIG_RTL|CONFIG_BRCM|CONFIG_8189'
R1输出:
bash
orangepi@orangepir1:~$ zcat /proc/config.gz | grep -E 'CONFIG_WLAN|CONFIG_WIFI| ONFIG_RTL|CONFIG_BRCM|CONFIG_8189'
CONFIG_RTL_BT_LPM=m
CONFIG_WLAN=y
CONFIG_RTL8187=m
CONFIG_RTL8187_LEDS=y
# CONFIG_WIFI_CONTROL_FUNC is not set
CONFIG_BRCMUTIL=m
CONFIG_BRCMFMAC=m
CONFIG_BRCMFMAC_SDIO=y
CONFIG_BRCMFMAC_USB=y
# CONFIG_BRCMDBG is not set
CONFIG_RTLWIFI=m
# CONFIG_RTLWIFI_DEBUG is not set
CONFIG_RTL8192C_COMMON=m
CONFIG_RTL8188EU=m
CONFIG_RTL8189ES=m
CONFIG_RTL8189FS=m
CONFIG_RTL8192CU=m
CONFIG_RTL8723BS=m
# CONFIG_RTL8723BS_VQ0 is not set
# CONFIG_RTLLIB is not set
从输出的的内核配置和驱动目录信息,可以明确 OrangePi R1(全志H3)支持的 USB/SDIO WiFi 网卡型号,以下是详细解读和结论:
配置项中 =m 表示驱动为可加载模块,=y 表示驱动内置,两者都代表系统支持该类网卡:
| 配置项 | 驱动类型 | 支持的 WiFi 芯片/网卡 | 接口类型 |
|---|---|---|---|
CONFIG_WLAN=y |
基础无线支持 | 所有以下驱动依赖的基础模块 | - |
CONFIG_BRCMFMAC=m + CONFIG_BRCMFMAC_SDIO=y + CONFIG_BRCMFMAC_USB=y |
博通驱动 | Broadcom BCM43xxx 系列(如板载 AP6212、USB 版 BCM4325) | SDIO + USB |
CONFIG_RTL8188EU=m |
瑞昱驱动 | Realtek RTL8188EU 芯片 | USB |
CONFIG_RTL8189ES=m |
瑞昱驱动 | Realtek RTL8189ES 芯片 | SDIO |
CONFIG_RTL8189FS=m |
瑞昱驱动 | Realtek RTL8189FS 芯片 | SDIO |
CONFIG_RTL8192CU=m |
瑞昱驱动 | Realtek RTL8192CU 芯片 | USB |
CONFIG_RTL8723BS=m |
瑞昱驱动 | Realtek RTL8723BS 芯片 | SDIO |
CONFIG_RTLWIFI=m + CONFIG_RTL8187=m |
瑞昱通用驱动 | Realtek RTL8187 芯片 | USB |
注意:
CONFIG_RTL_BT_LPM=m是蓝牙低功耗相关驱动,和 WiFi 无关。
方法 2:查看已编译的驱动模块(适用于无 /proc/config.gz 情况)
驱动模块文件存放在 /lib/modules/$(uname -r)/kernel/drivers/net/wireless/,直接查看目录结构:
bash
# 查看无线驱动目录下的子文件夹(对应不同芯片厂商)
ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
常见厂商目录与支持网卡:
realtek/:Realtek 芯片(RTL8188/8821/8189 系列)broadcom/:Broadcom 芯片(BCM43xxx 系列)marvell/:Marvell 芯片(88W8801 等)
R1输出:
bash
orangepi@orangepir1:~$ # 查看无线驱动目录下的子文件夹(对应不同芯片厂商)
orangepi@orangepir1:~$ ls /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
at76c50x-usb.ko hostap mwifiex rtl8188eu rtl8192cu wl12xx
ath iwmc3200wifi p54 rtl8189es rtl8723bs xradio
bcmdhd libertas rndis_wlan.ko rtl8189fs rtlwifi zd1201.ko
brcm80211 libertas_tf rt2x00 rtl818x wl1251 zd1211rw
orangepi@orangepir1:~$
驱动目录下的 .ko 文件和文件夹,进一步印证了内核已编译对应驱动:
brcm80211/:博通 WiFi 驱动目录,对应 BRCMFMAC 配置;
rtlwifi/、rtl8188eu.ko、rtl8192cu.ko:瑞昱系列驱动模块;
mwifiex/:Marvell 芯片驱动(你的配置未显示,但目录存在,可手动编译启用)。
最终结论:OrangePi R1 支持的 WiFi 网卡
你可以直接选购以下型号的网卡,无需手动编译驱动,仅需确认系统预装对应固件即可:
- USB WiFi 网卡(即插即用优先级高)
Realtek RTL8188EU 系列 USB 网卡
Realtek RTL8192CU 系列 USB 网卡
Realtek RTL8187 系列 USB 网卡
Broadcom BCM43xxx 系列 USB 网卡 - SDIO WiFi 网卡(适合板载或模块扩展)
Realtek RTL8189ES/RTL8189FS 模块
Realtek RTL8723BS 模块
Broadcom AP6212 模块(OrangePi 常见板载型号)
