First pass fixing set apmode
parent
750ce5b6e5
commit
02799a6359
@ -1,107 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set_apmode() {
|
|
||||||
AP_MODE=$(uci -q get easymesh.config.ap_mode)
|
|
||||||
if [ "$AP_MODE" = 1 ]; then
|
|
||||||
# Set a flag to indicate that we are in AP mode
|
|
||||||
# When we go to disable easymesh, we will check this flag and if it was set we restore settings
|
|
||||||
uci set easymesh.config.ap_mode_enabled=1
|
|
||||||
|
|
||||||
# Backup our configs
|
|
||||||
rm /etc/config/*.meshbak
|
|
||||||
cp /etc/config/wireless /etc/config/wireless.meshbak
|
|
||||||
cp /etc/config/network /etc/config/network.meshbak
|
|
||||||
cp /etc/config/dhcp /etc/config/dhcp.meshbak
|
|
||||||
|
|
||||||
# Disabling and stopping services not needed
|
|
||||||
for service in firewall dnsmasq odhcpd; do
|
|
||||||
if /etc/init.d/$service enabled; then
|
|
||||||
echo "Disabling and stopping $service..."
|
|
||||||
/etc/init.d/$service disable
|
|
||||||
/etc/init.d/$service stop
|
|
||||||
else
|
|
||||||
echo "$service is not enabled, skipping..."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Set LAN interface to DHCP client
|
|
||||||
uci del network.lan.ipaddr
|
|
||||||
uci del network.lan.netmask
|
|
||||||
uci set network.lan.proto='dhcp'
|
|
||||||
uci del network.wan
|
|
||||||
uci del network.wan6
|
|
||||||
|
|
||||||
# Fix firewall to be disabled
|
|
||||||
uci del firewall.lan.network
|
|
||||||
uci del firewall.wan.network
|
|
||||||
|
|
||||||
# Fix dhcp to be disabled
|
|
||||||
uci set dhcp.lan.ignore='1'
|
|
||||||
uci del dhcp.wan
|
|
||||||
|
|
||||||
# Fix this for proper variable name
|
|
||||||
HOSTNAME=$(uci -q get easymesh.config.hostname)
|
|
||||||
# Set netmask and gateway (assuming $netmask and $dns didn't break more stuff)
|
|
||||||
uci set system.@system[0].hostname=$HOSTNAME
|
|
||||||
|
|
||||||
# Retrieve the list of ports for network.@device[0]
|
|
||||||
LAN_PORTS=$(uci get network.@device[0].ports)
|
|
||||||
|
|
||||||
# Check if 'wan' is already in the list of ports
|
|
||||||
if echo "$LAN_PORTS" | grep -q -w 'wan'; then
|
|
||||||
echo "'wan' is already in the list of ports for lan."
|
|
||||||
else
|
|
||||||
echo "'wan' is not in the list. Adding it to lan ports..."
|
|
||||||
uci add_list network.@device[0].ports='wan'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get the radio to be used for mesh from the config
|
|
||||||
AP_RADIO=$(uci -q get easymesh.config.apRadio)
|
|
||||||
|
|
||||||
# # Loop through the selected radios
|
|
||||||
# for CURRENT_RADIO in $AP_RADIO; do
|
|
||||||
# echo "Multiple Radio Setup, Current Radio: $CURRENT_RADIO"
|
|
||||||
# # Extact the radio number from the radio name
|
|
||||||
# wifi_num="${cur_radio#CURRENT_RADIO}"
|
|
||||||
# uci set wireless.wifinet${wifi_num}.network="lan private_router_batman"
|
|
||||||
# done
|
|
||||||
|
|
||||||
uci commit
|
|
||||||
# Tell openwrt to reload the configs
|
|
||||||
reload_config
|
|
||||||
/etc/init.d/network reload
|
|
||||||
else
|
|
||||||
# Set a flag to indicate that we are in AP mode
|
|
||||||
uci set easymesh.config.ap_mode_enabled=0
|
|
||||||
|
|
||||||
# Restore our configs
|
|
||||||
[ -f /etc/config/wireless.meshbak ] && {
|
|
||||||
mv /etc/config/wireless /etc/config/wireless.dumbap
|
|
||||||
cp /etc/config/wireless.meshbak /etc/config/wireless
|
|
||||||
}
|
|
||||||
[ -f /etc/config/network.meshbak ] && {
|
|
||||||
mv /etc/config/network /etc/config/network.dumbap
|
|
||||||
cp /etc/config/network.meshbak /etc/config/network
|
|
||||||
}
|
|
||||||
[ -f /etc/config/dhcp.meshbak ] && {
|
|
||||||
mv /etc/config/dhcp /etc/config/dhcp.dumbap
|
|
||||||
cp /etc/config/dhcp.meshbak /etc/config/dhcp
|
|
||||||
}
|
|
||||||
|
|
||||||
# Enable and start services not needed
|
|
||||||
for service in firewall dnsmasq odhcpd; do
|
|
||||||
if /etc/init.d/$service disabled; then
|
|
||||||
echo "Enabling and starting $service..."
|
|
||||||
/etc/init.d/$service enable
|
|
||||||
/etc/init.d/$service start
|
|
||||||
else
|
|
||||||
echo "$service is not disabled, skipping..."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
reload_config
|
|
||||||
/etc/init.d/network reload
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
set_apmode
|
|
Loading…
Reference in New Issue