diff --git a/kiosk_skeleton/etc/systemd/system/kiosk-wifi.service b/kiosk_skeleton/etc/systemd/system/kiosk-wifi.service index 75fb1e2..b8fddf4 100644 --- a/kiosk_skeleton/etc/systemd/system/kiosk-wifi.service +++ b/kiosk_skeleton/etc/systemd/system/kiosk-wifi.service @@ -1,6 +1,7 @@ [Unit] -Description=Generate wpa_supplicant.conf from kioskbrowser.ini -Before=wpa_supplicant.service dhcpcd.service +Description=Configure WiFi from kioskbrowser.ini +Requires=NetworkManager.service +After=NetworkManager.service [Service] Type=oneshot diff --git a/kiosk_skeleton/usr/bin/kiosk-wifi b/kiosk_skeleton/usr/bin/kiosk-wifi index 941f806..4070a1c 100755 --- a/kiosk_skeleton/usr/bin/kiosk-wifi +++ b/kiosk_skeleton/usr/bin/kiosk-wifi @@ -1,27 +1,15 @@ #!/bin/bash -if [ -f "/boot/wpa_supplicant.conf" ]; then - ln -s /boot/wpa_supplicant.conf /tmp/wpa_supplicant.conf - exit -fi - WIFI_SSID=$(get-ini /boot/kioskbrowser.ini wifi ssid) WIFI_PSK=$(get-ini /boot/kioskbrowser.ini wifi psk) WIFI_COUNTRY=$(get-ini /boot/kioskbrowser.ini wifi country) -if [ -n "${WIFI_SSID}" ] +if [ -n "${WIFI_COUNTRY}" ] then - echo "country=${WIFI_COUNTRY}" > /tmp/wpa_supplicant.conf - echo "ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev" >> /tmp/wpa_supplicant.conf - echo "update_config=1" >> /tmp/wpa_supplicant.conf - echo "network={" >> /tmp/wpa_supplicant.conf - echo " ssid=\"${WIFI_SSID}\"" >> /tmp/wpa_supplicant.conf - if [ -n "${WIFI_PSK}" ] - then - echo " psk=\"${WIFI_PSK}\"" >> /tmp/wpa_supplicant.conf - else - echo " key_mgmt=NONE" >> /tmp/wpa_supplicant.conf - fi - echo "}" >> /tmp/wpa_supplicant.conf + nmcli general reload conf-only fi +if [ -n "${WIFI_SSID}" ] +then + nmcli device wifi connect "${WIFI_SSID}" password "${WIFI_PSK}" || true +fi