ee6afaced9
Some files have received some additional refactoring.
89 lines
1.6 KiB
Bash
Executable File
89 lines
1.6 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
|
|
SETUP_MODE_ADDR=192.168.1.1
|
|
SETUP_MODE_NETMASK=255.255.255.0
|
|
|
|
START=20
|
|
STOP=90
|
|
|
|
USE_PROCD=1
|
|
|
|
|
|
delete_interface() {
|
|
[ "$1" = 'loopback' ] || uci_remove network "$1"
|
|
}
|
|
|
|
prepare_config() {
|
|
(
|
|
export UCI_CONFIG_DIR=/var/gluon/setup-mode/config
|
|
|
|
mkdir -p "$UCI_CONFIG_DIR"
|
|
|
|
cp /etc/config/network "$UCI_CONFIG_DIR"
|
|
|
|
config_load network
|
|
config_foreach delete_interface interface
|
|
|
|
uci_add network interface setup
|
|
uci_set network setup ifname "$(lua -e 'print(require("gluon.sysconfig").setup_ifname)')"
|
|
uci_set network setup macaddr "$(lua -e 'print(require("gluon.sysconfig").primary_mac)')"
|
|
uci_set network setup type 'bridge'
|
|
uci_set network setup proto 'static'
|
|
uci_set network setup ipaddr "$SETUP_MODE_ADDR"
|
|
uci_set network setup netmask "$SETUP_MODE_NETMASK"
|
|
|
|
uci_commit network
|
|
)
|
|
}
|
|
|
|
init_switch() {
|
|
setup_switch() { return 0; }
|
|
|
|
include /lib/network
|
|
setup_switch
|
|
}
|
|
|
|
start_service() {
|
|
prepare_config
|
|
init_switch
|
|
iw reg set "$(lua -e 'print(require("gluon.site").regdom())')"
|
|
|
|
procd_open_instance
|
|
procd_set_param command /sbin/netifd -c /var/gluon/setup-mode/config
|
|
procd_set_param respawn
|
|
procd_set_param watch network.interface
|
|
[ -e /proc/sys/kernel/core_pattern ] && {
|
|
procd_set_param limits core="unlimited"
|
|
echo '/tmp/%e.%p.%s.%t.core' > /proc/sys/kernel/core_pattern
|
|
}
|
|
procd_close_instance
|
|
}
|
|
|
|
reload_service() {
|
|
init_switch
|
|
ubus call network reload
|
|
/sbin/wifi reload_legacy
|
|
}
|
|
|
|
stop_service() {
|
|
/sbin/wifi down
|
|
}
|
|
|
|
service_running() {
|
|
ubus -t 30 wait_for network.interface
|
|
/sbin/wifi reload_legacy
|
|
}
|
|
|
|
restart() {
|
|
ifdown -a
|
|
sleep 1
|
|
trap '' TERM
|
|
stop "$@"
|
|
start "$@"
|
|
}
|
|
|
|
shutdown() {
|
|
ifdown -a
|
|
stop
|
|
}
|