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