-
Wifi connection skipped for now
-
Your device will now reboot without wifi.
+
Wifi connection cancelled
+
You can close this window now and reconnect again to your normal wifi network.
{% endblock %}
diff --git a/buildroot-external/board/raspberrypi/rootfs-overlay/opt/mycroft/wifisetup/templates/hotspot.html b/buildroot-external/board/raspberrypi/rootfs-overlay/opt/mycroft/wifisetup/templates/hotspot.html
index a6ae476c..e5f8b003 100644
--- a/buildroot-external/board/raspberrypi/rootfs-overlay/opt/mycroft/wifisetup/templates/hotspot.html
+++ b/buildroot-external/board/raspberrypi/rootfs-overlay/opt/mycroft/wifisetup/templates/hotspot.html
@@ -7,8 +7,8 @@
Wifi connection configured for:
{{ ssid }}
-
Your device will now reboot and should be connected to your access point soon.
+
Your device will now reconfigure and connect to your access point.
+
You can close this window now and reconnect again to your normal wifi network.
{% endblock %}
diff --git a/buildroot-external/package/wifi-ap/dnsmasq.service b/buildroot-external/package/wifi-ap/dnsmasq.service
index 24dffc80..f66611ce 100644
--- a/buildroot-external/package/wifi-ap/dnsmasq.service
+++ b/buildroot-external/package/wifi-ap/dnsmasq.service
@@ -5,10 +5,6 @@ After=sys-subsystem-net-devices-ap0.device
Before=network.target
Wants=network.target
-# check existence of configuration file
-ConditionPathExists= /etc/wpa_supplicant/wpa_supplicant-ap0.conf
-ConditionPathExists=!/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
-
[Service]
ExecStart=/usr/sbin/dnsmasq -k --conf-file=/etc/dnsmasq.conf
ExecReload=/bin/kill -HUP $MAINPID
diff --git a/buildroot-external/package/wifi-ap/iptables.service b/buildroot-external/package/wifi-ap/iptables.service
deleted file mode 100644
index 339bc906..00000000
--- a/buildroot-external/package/wifi-ap/iptables.service
+++ /dev/null
@@ -1,18 +0,0 @@
-[Unit]
-Description=Packet Filtering Framework
-Before=network-pre.target
-Wants=network-pre.target
-
-# check existence of configuration file
-ConditionPathExists= /etc/wpa_supplicant/wpa_supplicant-ap0.conf
-ConditionPathExists=!/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
-
-[Service]
-Type=oneshot
-ExecStart=/sbin/iptables-restore /etc/iptables.rules
-ExecReload=/sbin/iptables-restore /etc/iptables.rules
-ExecStop=/usr/lib/systemd/scripts/iptables-flush
-RemainAfterExit=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/buildroot-external/package/wifi-ap/nginx.service b/buildroot-external/package/wifi-ap/nginx.service
index 1b0f0681..c6c730ec 100644
--- a/buildroot-external/package/wifi-ap/nginx.service
+++ b/buildroot-external/package/wifi-ap/nginx.service
@@ -1,16 +1,13 @@
[Unit]
Description=A high performance web server and a reverse proxy server
BindsTo=sys-subsystem-net-devices-ap0.device
-After=sys-subsystem-net-devices-ap0.device syslog.target network.target
-
-# check existence of configuration file
-ConditionPathExists= /etc/wpa_supplicant/wpa_supplicant-ap0.conf
-ConditionPathExists=!/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
+After=sys-subsystem-net-devices-ap0.device wpa_supplicant@ap0.service
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/bin/mkdir -p /var/log/nginx /var/tmp/nginx
+ExecStartPre=/usr/bin/sleep 5
ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'pid /var/run/nginx.pid; daemon on; master_process on;' -s reload
@@ -18,4 +15,4 @@ ExecStop=/usr/sbin/nginx -g 'pid /var/run/nginx.pid;' -s quit
PrivateDevices=yes
[Install]
-WantedBy=multi-user.target
+WantedBy=wpa_supplicant@ap0.service
diff --git a/buildroot-external/package/wifi-ap/wifi-ap.mk b/buildroot-external/package/wifi-ap/wifi-ap.mk
index daf3423f..1ce26407 100644
--- a/buildroot-external/package/wifi-ap/wifi-ap.mk
+++ b/buildroot-external/package/wifi-ap/wifi-ap.mk
@@ -17,18 +17,15 @@ define WIFI_AP_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 644 $(@D)/wpa_supplicant@ap0.service \
$(TARGET_DIR)/usr/lib/systemd/system/wpa_supplicant@ap0.service
-
+
$(INSTALL) -D -m 644 $(@D)/wifi-setup.service \
$(TARGET_DIR)/usr/lib/systemd/system/wifi-setup.service
-
+
$(INSTALL) -D -m 644 $(@D)/dnsmasq.service \
$(TARGET_DIR)/usr/lib/systemd/system/dnsmasq.service
-
+
$(INSTALL) -D -m 644 $(@D)/nginx.service \
$(TARGET_DIR)/usr/lib/systemd/system/nginx.service
-
- $(INSTALL) -D -m 644 $(@D)/iptables.service \
- $(TARGET_DIR)/usr/lib/systemd/system/iptables.service
endef
$(eval $(generic-package))
diff --git a/buildroot-external/package/wifi-ap/wifi-setup.service b/buildroot-external/package/wifi-ap/wifi-setup.service
index d4d7fc5c..4a14c5aa 100644
--- a/buildroot-external/package/wifi-ap/wifi-setup.service
+++ b/buildroot-external/package/wifi-ap/wifi-setup.service
@@ -2,7 +2,6 @@
Description=MycroftOS WiFi Setup - webbased configurator
After=wpa_supplicant@ap0.service
Wants=wpa_supplicant@ap0.service
-Conflicts=wpa_supplicant@wlan0.service
Before=network.target
Wants=network.target
@@ -12,4 +11,4 @@ WorkingDirectory=/opt/mycroft/wifisetup
ExecStart=/usr/bin/python3 app.py > /dev/null 2>&1
[Install]
-WantedBy=multi-user.target
+WantedBy=wpa_supplicant@ap0.service
diff --git a/buildroot-external/package/wifi-ap/wpa_supplicant@ap0.service b/buildroot-external/package/wifi-ap/wpa_supplicant@ap0.service
index cdb3e5db..3978b42c 100644
--- a/buildroot-external/package/wifi-ap/wpa_supplicant@ap0.service
+++ b/buildroot-external/package/wifi-ap/wpa_supplicant@ap0.service
@@ -6,8 +6,6 @@ Conflicts=wpa_supplicant@wlan0.service
Before=network.target
Wants=network.target
-# NetworkManager users will probably want the dbus version instead.
-
[Service]
Type=simple
ExecStartPre=/usr/sbin/iw dev wlan0 interface add ap0 type __ap