+wireless_restart=false
+
+if $client; then
+ uset wireless.default_radio0.network 'wwan'
+ uset wireless.default_radio0.ssid ${rclientssid[$h]}
+ uset wireless.default_radio0.encryption 'psk2'
+ uset wireless.default_radio0.device 'radio0'
+ uset wireless.default_radio0.mode 'sta'
+ uset wireless.default_radio0.bssid ${rclientbssid[$h]}
+ # todo: look into whether 5g network is available.
+ uset wireless.default_radio0.key ${rclientkey[$h]}
+ uset wireless.radio0.disabled false
+ uset wireless.radio1.disabled true
+else
+ # defaults, just reseting in case client config ran
+ uset wireless.default_radio0.network lan
+ uset wireless.default_radio0.mode ap
+ for x in 0 1; do
+ uset wireless.default_radio$x.ssid "$ssid"
+ uset wireless.default_radio$x.key $key
+ uset wireless.default_radio$x.encryption psk2
+ if [[ $mac ]]; then
+ uset wireless.default_radio$x.macaddr $macpre$((macsuf + 2*x))
+ fi
+ # disable/enable. secondary device has wireless disabled
+ uset wireless.radio$x.disabled $dev2
+ done
+fi
+
+if grep '^OPENWRT_BOARD="mvebu/cortexa9"' /etc/os-release &>/dev/null; then
+ # todo, I also enabled irqbalance, didnt script it though
+ # https://forum.openwrt.org/t/wrt1900acs-wifi-issue-after-upgrade-from-19-07-to-21-02-vacuum-cleaner-legacy-rate-support/113311/28
+ cat >/etc/rc.local <<'EOF'
+echo "0" >> /sys/kernel/debug/ieee80211/phy0/mwlwifi/tx_amsdu
+echo "0" >> /sys/kernel/debug/ieee80211/phy1/mwlwifi/tx_amsdu
+exit 0
+EOF
+ chmod +x /etc/rc.local
+ /etc/rc.local
+ uset wireless.radio0.disassoc_low_ack 0
+ uset wireless.radio1.disassoc_low_ack 0
+fi
+
+
+# found with https://openwrt.org/docs/guide-user/network/wifi/iwchan.
+# However, the default also chooses 11, and better to let it choose in case things change.
+# case $HOSTNAME in
+# cmc)
+# uset wireless.radio0.channel 11
+# ;;
+# esac
+
+
+# usb, screen, relay are for libremanage
+# rsync is for brc
+#
+# relay package temporarily disabled
+# /root/relay_1.0-1_mips_24kc.ipk
+#
+# note: prometheus-node-exporter-lua-openwrt seems to be a dependency of
+# prometheus-node-exporter-lua in practice.
+
+pkgs=(
+ tcpdump
+ screen
+ rsync
+ kmod-usb-storage
+ block-mount
+ kmod-fs-ext4
+ prometheus-node-exporter-lua-openwrt
+ prometheus-node-exporter-lua
+)
+
+if ! $ap; then
+ pkgs+=(
+ unbound-daemon
+ unbound-checkconf
+ )
+fi
+
+v pi "${pkgs[@]}"
+# nfs-kernel-server \
+ # openvpn-openssl adblock libusb-compat \
+ # kmod-usb-serial-cp210x kmod-usb-serial-ftdi \
+
+
+cat >/etc/libremanage.conf <<EOF
+${libremanage_host}_type=switch
+${libremanage_host}_channel=1
+EOF