Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime test #20

Open
wants to merge 86 commits into
base: ap0+wifi_up_down
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
e2b5967
method to creat ap0 and have hostapd use it
jvonau Sep 8, 2018
597cdda
alter dhcpcd.conf for ap0
jvonau Sep 8, 2018
36beb05
start hostapd before dhcpcd
jvonau Sep 8, 2018
8e709a9
use hostapd's service file to create ap0
jvonau Sep 13, 2018
d4f2fe8
set ap0 mac_addr to be different from wlan0
jvonau Nov 30, 2018
91c9dc4
dhcpcd hook for hostapd
jvonau Dec 3, 2018
2fe43c0
softcode apo_mac_addr
jvonau Dec 3, 2018
9586ac9
refine hostapd.service
jvonau Dec 31, 2018
0ebca25
refine hostapd.service.j2
jvonau Aug 8, 2019
87865c8
slimdown defaults
jvonau Feb 12, 2020
8723388
update hostapd.service
jvonau Feb 26, 2020
d779094
update dhcpcd hook
jvonau Feb 26, 2020
4ac0d22
update iiab-hotspot support files
jvonau Feb 26, 2020
b83d773
remove is_rpi -> is_raspbian, more notes
jvonau Mar 10, 2020
2cbe64f
iiab-hotspot-on|off for all, is_rpi, style
jvonau Mar 10, 2020
d1331e4
better discription of when rpi_debian.yml task is used
jvonau Mar 10, 2020
db08177
setup auto restart of hostapd - based on current stock service file
jvonau Mar 11, 2020
008bac2
iiab-network remove stale config_vars creation
jvonau Mar 11, 2020
dd5e3f0
add stage lockout from iiab-configure
jvonau Mar 11, 2020
82fc7fd
typos
georgejhunt Mar 17, 2020
d4b36a1
generate random mac address for ap0
jvonau Mar 25, 2020
7ea3897
exclude ap0 from count_wifi_interfaces
jvonau Apr 3, 2020
ccca487
keep wlan0 and ap0 on the same channel on RPi hardware
jvonau Apr 3, 2020
c17e095
restart - use ap0 for bridge slave test
jvonau Apr 3, 2020
89782a1
hostapd.service - Before wpa_supplicant
jvonau Apr 4, 2020
3f94eeb
netplan don't delete user's wifi config
jvonau Apr 3, 2020
4eb06b4
systemd-networkd version of dhcpcd's 50-hostapd hook
jvonau Apr 3, 2020
fce37e9
adjust networkd-dispatcher dnsmasq script
jvonau Apr 4, 2020
51ea83a
network/main remove installing, move hostapd.yml, notes, cleanup
jvonau Apr 4, 2020
31f4fea
Rework reserved_wifi -> reserved_device
jvonau Apr 4, 2020
a6fe748
sysd-netd-debian - multi wired slaves
jvonau Apr 4, 2020
aa554f7
netplan - need to start netplan-wpa@ after hostapd
jvonau Apr 4, 2020
5a70c9f
lets try netplan apply to restart the network
jvonau Apr 4, 2020
e06f77c
touchup hostapd.service.j2 for Raspbian
jvonau Apr 4, 2020
7413120
limit hostapd to 2.4GHz for now on RPI
jvonau Apr 4, 2020
12fa2c1
don't forget about non-netplan networkd
jvonau Apr 5, 2020
496afa6
softcode exclude devices, move tests and turn into hard failures, rec…
jvonau Apr 6, 2020
91a9263
forgot .service
jvonau Apr 6, 2020
2a95a0a
int casting
jvonau Apr 8, 2020
f92c4b9
let NM if active handle wired slaves
jvonau Apr 9, 2020
7670955
don't clobber later revisions to hostapd.service.j2
jvonau Apr 13, 2020
453753a
change wifi_up_down to true in local_vars preselects
georgejhunt Apr 10, 2020
6e068a9
remove dhcpcd hooks if not up_down
georgejhunt Apr 10, 2020
23e8a75
don't let dhcpcd muck around with wlan0 if it's under the br0
georgejhunt Apr 10, 2020
b3681b0
suppose iiab-wifi should be absent when not wifi_up_down
georgejhunt Apr 12, 2020
ebdca7f
one template - 2 copies
jvonau Apr 12, 2020
1f2aa44
use wifi_up_down to set iiab_wireless_lan_iface
jvonau Apr 13, 2020
f762e7b
disable hostspot on/off if up/down enabled
georgejhunt Apr 12, 2020
0f6c3f1
revert hotspot on/off to master before ap0 when wifi_up_down is false
georgejhunt Apr 12, 2020
0562f50
on|off for wifi_up_down
jvonau Apr 13, 2020
21522c6
partial of 720c285... typo iiab_wireless_an_iface
georgejhunt Apr 12, 2020
2deed98
default_vars.yml updated (to match local_vars_min.yml)
holta Apr 11, 2020
e20a4f9
netplan - 01-iiab exclude wireless devices
jvonau Apr 13, 2020
d7afb72
sysd-netd drop wired device count
jvonau Apr 13, 2020
04508a2
Update roles/network/tasks/hostapd.yml
jvonau Apr 13, 2020
d6c1073
turn off hostapd in Appliance mode
jvonau Apr 14, 2020
362f3f6
restart - hostapd use wifi gateway as test
jvonau Apr 14, 2020
2ec2151
don't set hostapd_enabled: False with wifi gateway
jvonau Apr 14, 2020
f3694d5
remove reboot_to_AP
jvonau Apr 14, 2020
957e600
legacy support should not boot to AP on mode
jvonau Apr 14, 2020
434f708
don't check for wifi slaves if wifi gateway
jvonau Apr 14, 2020
cae21be
don't stall boot if br0 has no slaves
jvonau Apr 15, 2020
81ac24f
remove dnsmasq workaround for br0 being down at boot
jvonau Apr 15, 2020
91685b2
start hostapd before NM
jvonau Apr 15, 2020
bb4ddff
bad idea NM uses dbus to to call wpa_supplicant
jvonau Apr 15, 2020
4cedfcd
hostapd is masked force override
jvonau Apr 18, 2020
9b71b3a
documented force does not work use masked no
jvonau Apr 18, 2020
0e234be
Merge branch 'master' into ap0+wifi_up_down
jvonau Apr 22, 2020
2e8efe0
netd-disp tuning
jvonau Apr 23, 2020
b5b291e
netplan - Disable cloud-init the easy way - bugfix
jvonau Apr 22, 2020
4e76a02
hostapd - netplan @ -> -
jvonau Apr 23, 2020
8334f92
Merge branch 'master' into ap0+wifi_up_down
jvonau Apr 23, 2020
d805684
hostapd.yml typo no 'e'
jvonau Apr 23, 2020
3bf0ef8
Merge branch 'master' into ap0+wifi_up_down
jvonau Apr 23, 2020
44a21d4
iiab-wifi cleanup routable.d when not wifi_up_down
jvonau Apr 23, 2020
58f54f1
netplan.yml - use item|trim for delete test
jvonau Apr 23, 2020
59687fe
don't call netplan apply
jvonau Apr 26, 2020
874891f
file status -> state think0
jvonau Apr 27, 2020
66d0ca2
revert the rest of 5a70c9feead4b56a5dd2153d741b0b312575d74b
jvonau Apr 27, 2020
4ffe454
Merge branch 'master' into ap0+wifi_up_down
jvonau Apr 28, 2020
030961d
Merge branch 'master' into ap0+wifi_up_down
jvonau Apr 28, 2020
1df2a38
Merge branch 'master' into ap0+wifi_up_down
jvonau Apr 28, 2020
c3a573f
runtime test
Apr 30, 2020
58e6d60
wifi-manage.conf
Apr 30, 2020
0c84d9e
skip netplan just let the backends deal with the static ip files
Apr 30, 2020
7563464
can't start hostapd when ap0 is in use needs reboot
Apr 30, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 24 additions & 6 deletions iiab-network
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,34 @@ if [ ! -f iiab-network.yml ]; then
exit 1
fi

if [ ! -f /etc/iiab/config_vars.yml ]; then
echo "Creating stub /etc/iiab/config_vars.yml"
mkdir -p /etc/iiab
echo "{}" > /etc/iiab/config_vars.yml
fi

OS="unknown" # will be overridden below, if /etc/iiab/iiab.env is legit
if [ -f /etc/iiab/iiab.env ]; then
echo "Reading /etc/iiab/iiab.env"
STAGE=0
source /etc/iiab/iiab.env
if grep -q STAGE= /etc/iiab/iiab.env ; then
echo -e "\nExtracted STAGE=$STAGE (counter) from /etc/iiab/iiab.env"
if ! [ "$STAGE" -eq "$STAGE" ] 2> /dev/null; then
echo -e "\nEXITING: STAGE (counter) value == ""$STAGE"" is non-integer"
exit 1
elif [ "$STAGE" -lt 0 ] || [ "$STAGE" -gt 9 ]; then
echo -e "\nEXITING: STAGE (counter) value == ""$STAGE"" is out-of-range"
exit 1
elif [ "$STAGE" -lt 3 ]; then
echo -e "\nEXITING: STAGE (counter) value == ""$STAGE"
echo -e "\nIIAB Stage 3 not complete."
echo -e "\nPlease run: ./iiab-install"
exit 1
fi
else
echo -e "\nEXITING: STAGE (counter) not found"
echo -e "\nIIAB not installed."
echo -e "\nPlease run: ./iiab-install"
exit 1
fi
else
echo -e "\nEXITING: /etc/iiab/iiab.env not found"
exit 1
fi

echo "Ansible will now run iiab-network.yml -- log file is iiab-network.log"
Expand Down
4 changes: 2 additions & 2 deletions roles/2-common/templates/iiab-startup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ if [[ $(grep -i raspbian /etc/*release) &&
#)
#]];
then
ip link set dev wlan0 promisc on
echo "wlan0 promiscuous mode ON, internal AP OFF: github.com/iiab/iiab/issues/638"
# ip link set dev wlan0 promisc on
echo "wlan0 promiscuous mode ON, internal AP OFF: github.com/iiab/iiab/issues/638 DISABLED"
fi

exit 0
18 changes: 6 additions & 12 deletions roles/network/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,12 @@
#
# hostapd_install: True # 2020-01-21: do not rely on this var for now (might be implemented in future)
# hostapd_enabled: True
# Above is forcibly set to False (in roles/network/tasks/main.yml) if IIAB is
# being WiFi-installed (run "iiab-hotspot-on" AFTER ./iiab-install completes
# and content is downloaded, to enable the internal WiFi Access Point / AP!)
#
# reboot_to_AP: False
# For those installing IIAB over WiFi: "reboot_to_AP: True" overrides the above
# detection of WiFi-as-gateway, forcing "hostapd_enabled: True" regardless.
#
# Above 2 vars set in /opt/iiab/iiab/vars/default_vars.yml
#
# Above set in /opt/iiab/iiab/vars/default_vars.yml

hostapd_wait: 5
host_wireless_n: False
driver_name: nl80211
ap0_mac_addr: b8:27:99:12:34:56

# DNS / name resolution
# dhcpd_install: False
Expand All @@ -61,13 +54,14 @@ strict_networking: False
iiab_demo_mode: False
gui_static_wan: False
wan_cidr:
virtual_network_devices: "-e ap0 -e lo -e br0 -e tun -e br- -e docker -e bridge0 -e veth"

# Set defaults for discovery process as strings
wifi1: "not found-1"
wifi2: "not found-2"
ap_device: "none"
exclude_device: "none"
device_gw: "none"
device_gw2: ""
prior_gw_device: ""

iiab_wan_iface: "none"
iiab_lan_iface: "none"
Expand Down
23 changes: 6 additions & 17 deletions roles/network/tasks/NM-debian.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,18 @@
set_fact:
gen_uuid: "{{ uuid_response.stdout_lines[0] }}"

# NM might have a watcher on this path and we don't have to restart NM
- name: Copy the bridge script for NetworkManager
- name: Copy manage.conf for NetworkManager
template:
dest: /etc/NetworkManager/system-connections/
src: network/bridge-br0
mode: 0600
when: iiab_network_mode != "Appliance"
dest: /etc/NetworkManager/conf.d/wifi-manage.conf
src: network/manage.conf.j2
mode: 0644
when: discovered_wireless_iface != "none" and not wifi_up_down

- name: Remove br0 in Appliance Mode for NetworkManager
file:
dest: /etc/NetworkManager/system-connections/bridge-br0
state: absent
when: iiab_network_mode == "Appliance"
# when: iiab_network_mode == "Appliance"

- name: Removing static for NetworkManager
file:
Expand Down Expand Up @@ -58,16 +57,6 @@
mode: 0600
when: wan_ip != "dhcp"

- name: Stop wpa_supplicant service
service:
name: wpa_supplicant
state: stopped
when: iiab_wireless_lan_iface is defined and hostapd_enabled and iiab_network_mode != "Appliance"

- name: Mask wpa_supplicant
shell: systemctl mask wpa_supplicant
when: iiab_wireless_lan_iface is defined and hostapd_enabled and iiab_network_mode != "Appliance"

- name: Reload systemd
systemd:
daemon_reload: yes
Expand Down
49 changes: 4 additions & 45 deletions roles/network/tasks/computed_network.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,6 @@
user_wan_iface: "{{ discovered_wan_iface }}"
when: not (discovered_wan_iface == "none") and not (xo_model == "none") and has_ifcfg_gw == "none"

#- name: Checking for NetworkManager-config-server
# shell: rpm -qa | grep NetworkManager-config-server | wc -l
# register: strict_networking_check

#- name: Found Checking for NetworkManager-config-server
# set_fact:
# strict_networking: True
# when: strict_networking_check == "1"

#- name: Use restricted network features
# set_fact:
# iiab_demo_mode: True
# when: teamviewer_install and not strict_networking

- name: XO laptop wants USB WiFi interface as AP mode
set_fact:
iiab_wireless_lan_iface: "{{ discovered_lan_iface }}"
Expand Down Expand Up @@ -62,7 +48,7 @@
user_wan_iface: "none"
when: not iiab_wan_enabled

# gui wants LanController # keeps ifcfg-WAN but onboot=no
# gui wants LanController
# the change over might be a little bumpy ATM.
- name: Setting GUI wants 'LanController'
set_fact:
Expand All @@ -71,10 +57,9 @@
iiab_gateway_enabled: "False"
when: gui_desired_network_role is defined and gui_desired_network_role == "LanController"

# device_gw is used with the LAN detection and LAN's ifcfg file deletion.
# single interface vars/ users would need to set iiab_wan_enabled False as above, to disable the WAN
# and set user_lan_iface = <device> to suppress the auto detection for the same effect.

# discovered_wan_iface is used with the LAN detection, single interface vars/ users would
# need to set iiab_wan_enabled False as above, to disable the WAN and set
# user_lan_iface: <device> to suppress the auto detection for the same effect.
- name: Setting user_lan_iface for 'LanController' for single interface
set_fact:
user_lan_iface: "{{ discovered_wan_iface }}"
Expand Down Expand Up @@ -143,24 +128,6 @@
iiab_lan_iface: "{{ user_lan_iface }}"
when: not (user_lan_iface == "auto")

# so this works
- name: Interface count
shell: ls /sys/class/net | grep -v -e lo -e bridge0 -e veth -e "br-*" -e docker| wc | awk '{print $1}'
register: adapter_count

# well if there ever was a point to tell the user things are FUBAR this is it.
- name: We're hosed no work interfaces
set_fact:
iiab_network_mode: "No_network_found"
when: adapter_count.stdout|int == 0

# well if there ever was a point to tell the user things are FUBAR this is it.
- name: I'm not guessing declare gateway please
set_fact:
iiab_network_mode: "Undetectable_use_local_vars"
iiab_wan_iface: "none"
when: adapter_count.stdout|int >= 5 and device_gw == "none" and gui_wan_iface == "unset" and gui_static_wan is defined

- name: Record IIAB_WAN_DEVICE to {{ iiab_env_file }}
lineinfile:
path: "{{ iiab_env_file }}"
Expand Down Expand Up @@ -197,11 +164,3 @@
value: "{{ iiab_lan_iface }}"
- option: iiab_network_mode
value: "{{ iiab_network_mode }}"
- option: hostapd_enabled
value: "{{ hostapd_enabled }}"
- option: host_ssid
value: "{{ host_ssid }}"
- option: host_wifi_mode
value: "{{ host_wifi_mode }}"
- option: host_channel
value: "{{ host_channel }}"
9 changes: 9 additions & 0 deletions roles/network/tasks/computed_services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
dansguardian_enabled: False
squid_enabled: False
wondershaper_enabled: False
hostapd_enabled: False
iiab_network_mode: "Appliance"
when: iiab_lan_iface == "none" or user_lan_iface == "none"

Expand Down Expand Up @@ -74,3 +75,11 @@
value: "{{ dnsmasq_enabled }}"
- option: no_net_restart
value: "{{ no_net_restart }}"
- option: hostapd_enabled
value: "{{ hostapd_enabled }}"
- option: host_ssid
value: "{{ host_ssid }}"
- option: host_wifi_mode
value: "{{ host_wifi_mode }}"
- option: host_channel
value: "{{ host_channel }}"
73 changes: 47 additions & 26 deletions roles/network/tasks/detected_network.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,36 @@
- name: iiab_wan_device
# so this works
- name: Interface count
shell: ls /sys/class/net | grep -v {{ virtual_network_devices }} | wc | awk '{print $1}'
register: adapter_count

# well if there ever was a point to tell the user things are FUBAR this is it.
- name: We're hosed no work interfaces
fail: # FORCE IT RED THIS ONCE!
msg: "No_network_found"
when: adapter_count.stdout|int == 0

- name: Checking for old device gateway interface for device test
shell: grep IIAB_WAN_DEVICE {{ iiab_env_file }} | awk -F "=" '{print $2}'
when: iiab_stage|int > 4
when: iiab_stage|int == 9
register: prior_gw

- name: Checking for old device gateway interface for device test
- name: Setting device_gw, prior_gw_device
set_fact:
device_gw: "{{ prior_gw.stdout }}"
device_gw2: "{{ prior_gw.stdout }}"
when: iiab_stage|int > 4 and prior_gw is defined and prior_gw.stdout != ""
prior_gw_device: "{{ prior_gw.stdout }}"
when: prior_gw.stdout is defined and prior_gw.stdout != ""

- name: Setting WAN if detected
- name: Setting WAN, device_gw if detected
set_fact:
iiab_wan_iface: "{{ discovered_wan_iface }}"
device_gw: "{{ discovered_wan_iface }}"
when: ansible_default_ipv4.gateway is defined

- name: Red Hat network detection (redhat)
include_tasks: detected_redhat.yml
when: is_redhat | bool
- name: Figure out netplan file name
shell: ls /etc/netplan
register: netplan
ignore_errors: True # pre 17.10 doesn't use netplan
when: is_ubuntu

- name: Setting dhcpcd_test results
set_fact:
Expand Down Expand Up @@ -75,16 +88,15 @@
set_fact:
wifi2: "{{ item|trim }}"
discovered_wireless_iface: "{{ item|trim }}"
when: wireless_list2.stdout is defined and not wireless_list2.stdout == "ap0"
when: wireless_list2.stdout is defined and item|trim != "ap0"
with_items:
- "{{ wireless_list2.stdout_lines }}"
#item|trim != discovered_wan_iface

- name: Count WiFi ifaces
shell: "ls -la /sys/class/net/*/phy80211 | awk -F / '{print $5}' | wc -l"
shell: "ls -la /sys/class/net/*/phy80211 | awk -F / '{print $5}' | grep -v -e ap0 | wc -l"
register: count_wifi_interfaces

# facts are apparently all stored as text, so do text comparisons from here on
- name: Remember number of WiFi devices
set_fact:
num_wifi_interfaces: "{{ count_wifi_interfaces.stdout|int }}"
Expand All @@ -94,16 +106,16 @@

- name: XO laptop override 2 WiFi on LAN
set_fact:
ap_device: "eth0"
exclude_device: "eth0"
when: iiab_wan_iface != "eth0" and discovered_wireless_iface != "none" and xo_model == "XO-1.5"

- name: Exclude reserved WiFi adapter if defined - takes adapter name
- name: Exclude reserved Network Adapter if defined - takes adapter name
set_fact:
ap_device: "{{ reserved_wifi }}"
when: reserved_wifi is defined and discovered_wireless_iface != iiab_wan_iface and num_wifi_interfaces >= "2"
exclude_device: "{{ reserved_device }}"
when: reserved_device is defined

- name: Count LAN ifaces
shell: ls /sys/class/net | grep -v -e ap0 -e wwlan -e ppp -e lo -e br0 -e tun -e br- -e docker -e bridge0 -e veth -e {{ device_gw }} -e {{ ap_device }} | wc -l
shell: ls /sys/class/net | grep -v {{ virtual_network_devices }} -e wwlan -e ppp -e {{ device_gw }} -e {{ exclude_device }} | wc -l
register: num_lan_interfaces_result

- name: Calculate number of LAN interfaces including WiFi
Expand All @@ -112,7 +124,7 @@

# LAN - pick non WAN's
- name: Create list of LAN (non WAN) ifaces
shell: ls /sys/class/net | grep -v -e ap0 -e wwlan -e ppp -e lo -e br0 -e tun -e br- -e docker -e bridge0 -e veth -e {{ device_gw }} -e {{ ap_device }}
shell: ls /sys/class/net | grep -v {{ virtual_network_devices }} -e wwlan -e ppp -e {{ device_gw }} -e {{ exclude_device }}
when: num_lan_interfaces != "0"
register: lan_list_result

Expand All @@ -133,20 +145,22 @@
with_items:
- "{{ lan_list_result.stdout_lines }}"

- name: Set iiab_wireless_lan_iface if present

- name: Set iiab_wireless_lan_iface to {{ discovered_wireless_iface }} if not none
set_fact:
iiab_wireless_lan_iface: "{{ discovered_wireless_iface }}"
when: discovered_wireless_iface is defined and discovered_wireless_iface != "none" and discovered_wireless_iface != iiab_wan_iface
when: discovered_wireless_iface != "none" and discovered_wireless_iface != iiab_wan_iface

- name: Set iiab_wireless_lan_iface to ap0 if WiFi device is present
set_fact:
iiab_wireless_lan_iface: ap0
when: discovered_wireless_iface != "none" and wifi_up_down

- name: Set iiab_wired_lan_iface if present
set_fact:
iiab_wired_lan_iface: "{{ discovered_wired_iface }}"
when: discovered_wired_iface is defined and discovered_wired_iface != "none" and discovered_wired_iface != iiab_wan_iface and not is_raspbian

#unused
#- name: Get a list of ifcfg files to delete
# moved to detected_redhat

# use value only if present
- name: 2 or more devices on the LAN - use bridging
set_fact:
Expand Down Expand Up @@ -197,8 +211,8 @@
with_items:
- option: has_ifcfg_gw
value: "{{ has_ifcfg_gw }}"
- option: prior_gateway_(device_gw2)
value: "{{ device_gw2 }}"
- option: prior_gateway_device
value: "{{ prior_gw_device }}"
- option: dhcpcd_result
value: "{{ dhcpcd_result }}"
- option: network_manager_active
Expand Down Expand Up @@ -227,3 +241,10 @@
value: "{{ iiab_lan_iface }}"
- option: iiab_wan_iface
value: "{{ iiab_wan_iface }}"

# well if there ever was a point to tell the user things are FUBAR this is it.
# limit 2 network adapters wifi wired
- name: I'm not guessing declare gateway please
fail: # FORCE IT RED THIS ONCE!
msg: "Undetectable gateway or prior gateway for use with static network addressing from admin-console use local_vars to declare user_wan_iface"
when: adapter_count.stdout|int >=3 and gui_wan_iface == "unset" and gui_static_wan
Loading