一、 Buildroot 勾选的安装清单1. wireless tools2. libssl.so.1.1 wpa_supplicant v2.7 工具 依赖 libssl.so.1.1 Buildroot 安装 wireless toolsTarget packages - wireless toolsBuildroot 安装 libssl.so.1.1Target packages - Libraries - openssl support二、 手动移植的清单1. wpa_cli 和 wpa_supplicant2. rtl8188eu 无线网卡驱动参考 正点原子 WIFI 驱动实验 wpa_supplicant 移植 编译生成的的 wpa_cli 和wpa_supplicant 这两个文件拷贝到 rootfs_overlay/usr/binrootfs_overlay 目录结构参考前几天写过一篇博客简单讲解过 overlay 移植 rtl8188eu 的驱动Buildroot用的外部 4.1内核所以 Buildroot 执行make时 rtl8188eu 无线网卡包驱动 不会编译需要手动编译移植 rtl8188eu 的驱动。8188eu.ko 驱动 拷贝到 rootfs_overlay/lib/modules/4.1.15rootfs_overlay/etc 目录下 新建2个配置文件resolv.conf 和 wpa_supplicant.conf下面是 resolv.conf 文件内容nameserver 8.8.8.8 nameserver 114.114.114.114下面是 wpa_supplicant.conf 文件内容ctrl_interface/var/run/wpa_supplicant update_config1 ap_scan1 network{ ssidMy_iPhone14 psk12345678 }ssid: WIFI 名字psk: WIFI 密码下面是 wifi 自动连接脚本 的 文件内容脚本放到 rootfs_overlay/usr/bin 开发板的命令行可以直接运行不用输入脚本的路径。 脚本名字是 wifi_on执行权限 chmod x wifi_on#!/bin/sh WIFI_SSIDMy_iPhone14 # WiFi 名称 WIFI_INTERFACEwlan0 # 网卡接口 WIFI_IP172.20.10.9 # 静态 IP WIFI_NETMASK255.255.255.240 # 子网掩码 WIFI_GW172.20.10.1 # 网关 WIFI_DRIVER/lib/modules/4.1.15/8188eu.ko # 驱动路径 WIFI_CONF/etc/wpa_supplicant.conf # 配置文件 echo [wifi Log]: mkdir /var/run/wpa_supplicant mkdir -p /var/run/wpa_supplicant echo [wifi Log]: rmmod ${WIFI_DRIVER} rmmod ${WIFI_DRIVER} 2/dev/null sleep 1 echo [wifi Log]: insmod ${WIFI_DRIVER} insmod ${WIFI_DRIVER} 2/dev/null sleep 1 echo [wifi Log]: ifconfig ${WIFI_INTERFACE} up ifconfig ${WIFI_INTERFACE} up sleep 1 echo [wifi Log]: Scanning for ${WIFI_SSID} if iwlist ${WIFI_INTERFACE} scan 2/dev/null | grep -q ${WIFI_SSID}; then echo [wifi Log]: Found ${WIFI_SSID}! else echo [wifi Log]: ERROR: ${WIFI_SSID} not found! Is iPhone hotspot on? exit 1 fi echo [wifi Log]: Connecting to WiFi killall wpa_supplicant 2/dev/null wpa_supplicant -B -D wext -c ${WIFI_CONF} -i ${WIFI_INTERFACE} echo [wifi Log]: Waiting for connection... sleep 5 # check state if iwconfig ${WIFI_INTERFACE} 2/dev/null | grep -q ESSID; then echo WiFi connected! else echo WiFi connection failed! exit 1 fi # set ip mask gw echo [wifi Log]: wifi Setting static: IP mask gw ifconfig ${WIFI_INTERFACE} ${WIFI_IP} netmask ${WIFI_NETMASK} route del default 2/dev/null route add default gw ${WIFI_GW} ${WIFI_INTERFACE} echo [wifi Log]: Testing network #ifconfig ${WIFI_INTERFACE} #route -n ping -c 3 -I ${WIFI_IP} www.baidu.comwifi_on 脚本里定义的变量方便快速修改自己的参数Buildroot 根目录编译解压拷贝到开发板下面是 测试主要关注 脚本的 [wifi Log] 提示信息看看 WIFI 有没有连接成功。