我正在尝试在我的 Avenger96(基于 96Boards STM32MP157)板上建立 WiFi 连接。目标是在启动时自动设置 WiFi 连接,这样就无需在每次启动后手动配置 WiFi。
我已经完成的步骤:
在 wpa_supplicant.conf-sane 中添加
network
了部分,如下所示poky/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant
:ctrl_interface_group=0 update_config=1 network={ ssid="WiFi" #psk="xxxx" psk=bcc0f1e055c895febe6f4766e90a7972334b2dac4dda015876a185a8bd577a04 }
我使用 make 生成了 psk wpa_passphrase
,这是一个命令行工具,它生成 wpa_supplicant 所需的最小配置:
$ wpa_passphrase WiFi xxxx
用于初始化 wpa_supplicant 并在启动时配置 WiFi 的脚本。我在以下路径创建了一个自定义脚本“setup-wifi.sh”
/meta/recipes-core/initscripts/initscripts-1.0/setup-wifi.sh
:ifconfig wlan0 10.233.174.16 #Set the static IP address, should be unique wpa_passphrase WiFi xxxx> /etc/wpa_supplicant.conf route add default gw 10.233.174.254 #Router IP address wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf echo “nameserver 8.8.8.8” >> /etc/resolv.conf echo “nameserver 10.233.174.254” >> /etc/resolv.conf : exit 0
/meta/recipes-core/initscripts/initscripts-1.0.bb
编辑了包含“setup-wifi.sh”的“initscript bitbake recipe” ,并/etc/initscripts
在构建后将其安装在目录中。file://setup-wifi.sh \ " do_install () { install -m 0755 ${WORKDIR}/setup-wifi.sh ${D}${sysconfdir}/init.d update-rc.d -r ${D} setup-wifi.sh start 99 2 3 4 5 . } MASKED_SCRIPTS = " \ setup-wifi \ "
包含在文件中
IMAGE_INSTALL_append = " wpa-supplicant iw dhcp-client"
。此外,在我的自定义食谱中。接下来,使用映像运行并启动开发板。CORE_IMAGE_EXTRA_INSTALL += " packagegroup-base-wifi kernel-modules"
build/local.conf
DISTRO_FEATURES_append = " wifi"
bitbake
但是,在启动时未配置 WiFi,当我尝试手动连接时,出现以下错误:
unknown global field 'passphrase must be 8..63 characters'
当我使用 检查连接时# iw dev wlan0 link
,它显示“未连接”。
谁能让我知道我在这里缺少什么以及如何解决这个问题?您的帮助将不胜感激。
提前致谢!
PS:我使用 Ubuntu 20.04 和 Yocto Dunfell 分支作为构建系统。