在本指南中,我们将引导您完成在 H15/H10 单板计算机(SBC)上设置 USB Wi-Fi 适配器的步骤,从而使其能够连接到 Wi-Fi 网络。这个设置对于将 SBC 用作以太网 GenAI 网络服务至关重要。
USB Wi-Fi 适配器驱动程序
您可以在 GitHub 上找到 USB Wi-Fi 适配器的驱动程序:
在 H15/H10 SBC 上设置 USB Wi-Fi 适配器的步骤
1. 使用工具链构建驱动程序
a. 安装工具链
首先,您需要为您的构建环境安装 Yocto SDK。使用以下命令安装 SDK(根据需要替换路径):
./poky-glibc-x86_64-core-image-minimal-armv8a-hailo15-sbc-gen-ai-toolchain-4.0.23.sh
b. 复制内核源代码
将内核源代码复制到 SBC 上的正确目录中。路径应如下所示:
/opt/poky/4.0.23/sysroots/armv8a-poky-linux/usr/src/debug/linux-yocto-hailo/5.15.32-r0/linux-hailo15_sbc_gen_ai-standard-build/
确保在此步骤中包括 .config 文件,因为它至关重要。
c. 修改 Makefile
更新 Makefile 以包含正确的路径。以下是一个 Makefile 配置示例:
ifeq ($(CONFIG_PLATFORM_YOCTO), y) ARCH = arm64 KDIR = /opt/poky/4.0.23/sysroots/armv8a-poky-linux/usr/src/debug/linux-yocto-hailo/5.15.32-r0/linux-hailo15_sbc_gen_ai-standard-build/ CROSS_COMPILE = /opt/poky/4.0.23/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- MODDESTDIR = /lib/modules/$(KVER)/kernel/drivers/net/wireless/aic8800 PWD = $(shell pwd) KVER = 5.15.32-yocto-standard endif
d. 构建内核和驱动程序
在设置好 SDK 工具链环境后,构建内核:
source /environment-setup-armv8a-poky-linux make
此过程将生成两个内核模块文件:
- aic_load_fw.ko
- aic8800_fdrv.ko
2. 准备固件和依赖项
a. 复制固件
将所有固件文件复制到 /vendor/etc/firmware/ 目录,并将 aic_userconfig.txt 文件复制到 /vendor/etc/firmware/aic8800D80/。根据我们在加载模块时遇到的错误消息,此步骤是必要的。
b. 启用 SBC 内核的 Wi-Fi 支持
默认情况下,SBC 可能没有启用 Wi-Fi 支持。为了避免重新构建整个内核,我们可以添加以下设置:
CONFIG_RFKILL=m CONFIG_CFG80211=m CONFIG_MAC80211=m
重新构建内核,您应该会在构建目录中找到以下驱动程序:
- rfkill.ko
- cfg80211.ko
- mac80211.ko(注意:我们使用了前两个驱动程序,但没有使用 mac80211.ko)
c. 下载驱动依赖数据库
下载 cfg80211 模块的 regulatory.db 和 regulatory.db.p7s 文件。这些文件可以从 kernel.org 获取。然而,我们遇到了一些版本问题,因此从本地 x86 PC 中复制了版本。
3. 安装模块驱动程序
现在,一切已设置完成,安装内核模块。完成后,您的 USB Wi-Fi 适配器应该会被识别,您可以通过运行 ifconfig 命令查看到 wlan0。

4. 构建并使用 WPA Supplicant 连接到 Wi-Fi
接下来,我们需要使用 wpa_supplicant 配置 Wi-Fi 连接,wpa_supplicant 已包含在 Yocto 构建环境中:
bitbake wpa-supplicant
确保您已安装所需的库,例如 libnl-3.so.200 和 libnl-genl-3.so,因为它们是 wpa_supplicant 的依赖项。
5. 连接到 Wi-Fi
使用以下命令启动 wpa_supplicant 并连接到 Wi-Fi 网络:
wpa_supplicant -i wlan0 -c wpa_supplicant.conf -B
最后,使用 ifconfig 配置 IP 地址。现在,您应该能够通过 Wi-Fi 将 SBC 连接到您的局域网。
注意:在此阶段,我们遇到了一个问题:虽然可以通过 Wi-Fi 连接到局域网,但无法访问互联网,怀疑可能还是少加载了哪些驱动导致。

发表回复