|
|
|
#!/bin/sh /etc/rc.common
|
|
|
|
|
|
|
|
START=20
|
|
|
|
STOP=90
|
|
|
|
|
|
|
|
USE_PROCD=1
|
|
|
|
|
|
|
|
init_switch() {
|
|
|
|
setup_switch() { return 0; }
|
|
|
|
|
|
|
|
include /lib/network
|
|
|
|
setup_switch
|
|
|
|
}
|
|
|
|
|
|
|
|
start_service() {
|
|
|
|
init_switch
|
|
|
|
|
|
|
|
procd_open_instance
|
|
|
|
procd_set_param command /sbin/netifd
|
|
|
|
procd_set_param respawn
|
|
|
|
[ -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() {
|
|
|
|
sleep 5
|
|
|
|
/sbin/wifi reload_legacy
|
|
|
|
}
|
|
|
|
|
|
|
|
service_triggers()
|
|
|
|
{
|
|
|
|
procd_open_trigger
|
|
|
|
procd_add_config_trigger "config.change" "network" /etc/init.d/network reload
|
|
|
|
procd_add_config_trigger "config.change" "wireless" /etc/init.d/network reload
|
|
|
|
procd_close_trigger
|
|
|
|
}
|
|
|
|
|
|
|
|
restart() {
|
|
|
|
ifdown -a
|
|
|
|
sleep 1
|
|
|
|
trap '' TERM
|
|
|
|
stop "$@"
|
|
|
|
start "$@"
|
|
|
|
}
|
|
|
|
|
|
|
|
shutdown() {
|
|
|
|
ifdown -a
|
|
|
|
stop
|
|
|
|
}
|