mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
netmode: add revert_netmdoe function
This commit is contained in:
parent
bbcb34cae5
commit
4787082fa2
1 changed files with 28 additions and 0 deletions
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
NMTMPDIR=/var/netmodes
|
NMTMPDIR=/var/netmodes
|
||||||
OLD_MODE_FILE=/var/netmodes/old_mode
|
OLD_MODE_FILE=/var/netmodes/old_mode
|
||||||
|
CONF_BACKUP_DIR=/var/netmodes/backup/
|
||||||
SWITCHMODELOCK="/tmp/switching_mode"
|
SWITCHMODELOCK="/tmp/switching_mode"
|
||||||
MODEDIR=$(uci -q get netmode.setup.dir)
|
MODEDIR=$(uci -q get netmode.setup.dir)
|
||||||
MTK=0
|
MTK=0
|
||||||
|
|
@ -179,6 +180,11 @@ switch_netmode() {
|
||||||
|
|
||||||
run_netmode_scripts $curmode "pre"
|
run_netmode_scripts $curmode "pre"
|
||||||
|
|
||||||
|
# make backup of current config before switching
|
||||||
|
rm -rf $CONF_BACKUP_DIR
|
||||||
|
mkdir -p $CONF_BACKUP_DIR
|
||||||
|
cp -af /etc/config/* $CONF_BACKUP_DIR
|
||||||
|
|
||||||
logger -s -p user.info -t $0 "[netmode] Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
|
logger -s -p user.info -t $0 "[netmode] Copying /etc/netmodes/$curmode in /etc/config" >/dev/console
|
||||||
|
|
||||||
for file in $(ls /etc/netmodes/$curmode/); do
|
for file in $(ls /etc/netmodes/$curmode/); do
|
||||||
|
|
@ -226,6 +232,28 @@ switch_netmode() {
|
||||||
run_netmode_scripts $curmode "post"
|
run_netmode_scripts $curmode "post"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
revert_netmode() {
|
||||||
|
local from="$1"
|
||||||
|
local to="$2"
|
||||||
|
local rready="$3"
|
||||||
|
|
||||||
|
ubus call leds set '{"state" : "allflash"}'
|
||||||
|
echo "Could not switch to '$from' mode; going back to '$to' mode" > /dev/console
|
||||||
|
uci -q set netmode.setup.curmode="$to"
|
||||||
|
uci -q set netmode.setup.repeaterready="$rready"
|
||||||
|
uci commit netmode
|
||||||
|
cp -af $CONF_BACKUP_DIR/* /etc/config/
|
||||||
|
sync
|
||||||
|
rm -rf $CONF_BACKUP_DIR
|
||||||
|
rm -rf $OLD_MODE_FILE
|
||||||
|
|
||||||
|
echo "Restarting network services" > /dev/console
|
||||||
|
ubus call network reload
|
||||||
|
wifi reload
|
||||||
|
ubus call router.network reload
|
||||||
|
ubus call leds set '{"state" : "normal"}'
|
||||||
|
}
|
||||||
|
|
||||||
wificontrol_takes_over() {
|
wificontrol_takes_over() {
|
||||||
local ret
|
local ret
|
||||||
[ -f /sbin/wificontrol ] || return
|
[ -f /sbin/wificontrol ] || return
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue