From f25f0ab0507219483596d01caae8d4cc01124ada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= Date: Wed, 18 Jun 2025 19:58:30 +0200 Subject: [PATCH] Wi-Fi: Add template finit service for wpa_supplicant --- .../rootfs/etc/finit.d/available/wifi@.conf | 5 +++++ .../common/rootfs/usr/libexec/infix/wifi-scanner | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 board/common/rootfs/etc/finit.d/available/wifi@.conf create mode 100755 board/common/rootfs/usr/libexec/infix/wifi-scanner diff --git a/board/common/rootfs/etc/finit.d/available/wifi@.conf b/board/common/rootfs/etc/finit.d/available/wifi@.conf new file mode 100644 index 00000000..eb0321df --- /dev/null +++ b/board/common/rootfs/etc/finit.d/available/wifi@.conf @@ -0,0 +1,5 @@ +service name:wpa_supplicant :%i \ + [2345] wpa_supplicant -s -i %i -c /etc/wpa_supplicant-%i.conf -P/var/run/wpa_supplicant-%i.pid \ + -- WPA supplicant @%i + +task name:wifi-scanner :%i [2345] /usr/libexec/infix/wifi-scanner %i -- Start scanning for SSID @ %i diff --git a/board/common/rootfs/usr/libexec/infix/wifi-scanner b/board/common/rootfs/usr/libexec/infix/wifi-scanner new file mode 100755 index 00000000..b34c698b --- /dev/null +++ b/board/common/rootfs/usr/libexec/infix/wifi-scanner @@ -0,0 +1,16 @@ +#!/bin/sh + +if [ $# -ne 1 ]; then + echo "usage: $0 " + exit 1 +fi +ifname=$1 + +TIMEOUT=300 +status=$(wpa_cli -i $ifname scan) +while [ "$status" != "OK" ]; do + status=$(wpa_cli -i $ifname scan) + TIMEOUT=$((TIMEOUT-1)) + [ $TIMEOUT -eq 0 ] && logger -t wifi-scanner "Failed to start scanning $ifname" && exit 1 + sleep 0.5 +done