X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=wrt-setup-local;h=00420030e328388d7ac79b000ee168cb420c7e18;hb=a199d585d33ace63662c0fea99a5c5d6d498d14b;hp=567a4a78e67b67334a8f7f7f541f7beee125f630;hpb=e5fc90391646ea35b06250a90ad3aa3c1c2516dc;p=automated-distro-installer diff --git a/wrt-setup-local b/wrt-setup-local index 567a4a7..0042003 100755 --- a/wrt-setup-local +++ b/wrt-setup-local @@ -15,21 +15,22 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + set -eE -o pipefail trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?" >&2' ERR usage() { cat <&2; usage 1 ;; esac ;; @@ -192,6 +197,8 @@ if $test; then lan=10.1.0.0 elif [[ $hostname == cmc ]]; then lan=10.2.0.0 +elif $client; then + lan=10.3.0.0 fi if $test; then @@ -259,10 +266,12 @@ fi uset network.lan.ipaddr $l.$lanip uset network.lan.netmask $mask -if $dev2; then - uset network.lan.gateway $l.1 - uset network.wan.proto none - uset network.wan6.proto none +if $dev2 || $client; then + if $dev2; then + uset network.lan.gateway $l.1 + uset network.wan.proto none + uset network.wan6.proto none + fi /etc/init.d/dnsmasq stop /etc/init.d/dnsmasq disable /etc/init.d/odhcpd stop @@ -296,27 +305,45 @@ else fi wireless_restart=false -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 - # secondary device has wireless disabled - uset wireless.radio$x.disabled $dev2 -done -if $wireless_restart; then - v wifi +if $client; then + uset wireless.default_radio0.network 'wwan' + uset wireless.default_radio0.ssid ${rclientssid[$rmac]} + uset wireless.default_radio0.encryption 'psk2' + uset wireless.default_radio0.device 'radio0' + uset wireless.default_radio0.mode 'sta' + uset wireless.default_radio0.bssid ${rclientbssid[$rmac]} + # todo: look into whether 5g network is available. + uset wireless.default_radio0.key ${rclientkey[$rmac]} + 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 + # secondary device has wireless disabled + uset wireless.radio$x.disabled $dev2 + done fi + + # usb, screen, relay are for libremanage # rsync is for brc +# +# relay package temporarily disabled +# /root/relay_1.0-1_mips_24kc.ipk v pi kmod-usb-storage block-mount kmod-fs-ext4 nfs-kernel-server \ - tcpdump openvpn-openssl adblock libusb-compat /root/relay_1.0-1_mips_24kc.ipk \ + tcpdump openvpn-openssl adblock libusb-compat \ screen kmod-usb-serial-cp210x kmod-usb-serial-ftdi rsync cat >/etc/libremanage.conf </dev/null; then - # cant mix cedit plus uci - echo | cedit /etc/config/firewall ||: - uci add_list firewall.@zone[1].network=wg0 - uci commit firewall - firewall-cedit ||: - firewall_restart=true -fi +# not using wireguard for now +# if ! uci get firewall.@zone[1].network | grep wg0 &>/dev/null; then +# # cant mix cedit plus uci +# echo | cedit /etc/config/firewall ||: +# uci add_list firewall.@zone[1].network=wg0 +# uci commit firewall +# firewall-cedit ||: +# firewall_restart=true +# fi v cedit /etc/hosts < 2.80. currently at 2.80. + # todo: download https://downloads.openwrt.org/snapshots/packages/mipsel_24kc/base/dnsmasq-full_2.84-1_mipsel_24kc.ipk + # and install it. then we can turn off dnssec in systemd-resolved + # + # Also, reload of dnsmasq seems to break things, wifi + # clients were not getting internet connectivity. v /etc/init.d/dnsmasq restart fi @@ -834,6 +883,10 @@ if $firewall_restart; then v /etc/init.d/firewall restart fi +# this may just restart the network and take care of the network_restart below. +if $wireless_restart; then + v wifi +fi # todo: we should catch errors and still run this if needed if $network_restart; then