1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 11:42:08 +00:00
iiab/roles/2-common/templates/iiab-startup.sh

39 lines
1.6 KiB
Bash
Raw Normal View History

#!/bin/bash
# /usr/libexec/iiab-startup.sh is AUTOEXEC.BAT for IIAB
# (put initializations here, if needed on every boot)
if [ ! -f /etc/iiab/uuid ]; then
uuidgen > /etc/iiab/uuid
echo "/etc/iiab/uuid was MISSING, so a new one was generated."
fi
# Temporary promiscuous-mode workaround for RPi's WiFi "10SEC disease"
# Sets wlan0 to promiscuous on boot if needed as gateway (i.e. AP's OFF).
# Manually run iiab-hotspot-[on|off] to toggle AP & boot flag hostapd_enabled
# https://github.com/iiab/iiab/issues/638#issuecomment-355455454
if [[ $(grep -i raspbian /etc/*release) &&
#($(grep "hostapd_enabled = False" /etc/iiab/config_vars.yml) ||
#((! $(grep "hostapd_enabled = True" /etc/iiab/config_vars.yml)) &&
! $(grep "^HOSTAPD_ENABLED=True" /etc/iiab/iiab.env) ]];
# NEGATED LOGIC HELPS FORCE PROMISCUOUS MODE EARLY IN INSTALL
# (when network/tasks/main.yml hasn't yet populated iiab.env)
# RESULT: WiFi-installed IIAB should have wlan0 properly in
# promiscuous mode Even On Reboots (if 2-common completed!)
# CAUTION: roles/network/tasks/main.yml (e.g. if you run
# ./iiab-network, "./runtags network", or ./iiab-install)
# can toggle your hostapd_enabled setting if it detects a
# different "primary gateway" (eth0 vs. wlan0 vs. none) to the
# Internet -- even if you have not run iiab-hotspot-on|off !
#)
#)
#]];
then
ip link set dev wlan0 promisc on
echo "wlan0 promiscuous mode ON, internal AP OFF: github.com/iiab/iiab/issues/638"
fi
exit 0