#!/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" {{ iiab_env_file }}) ]]; # 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