ltq-app-vdsl: convert init script to procd, add support for switching between atm and ptm
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47485
This commit is contained in:
parent
f8692a4b88
commit
96a66d683b
@ -68,10 +68,10 @@ CONFIGURE_ARGS += --enable-model=full
|
|||||||
#CONFIGURE_ARGS += --enable-model=debug
|
#CONFIGURE_ARGS += --enable-model=debug
|
||||||
|
|
||||||
define Package/ltq-vdsl-app/install
|
define Package/ltq-vdsl-app/install
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/etc/init.d $(1)/sbin
|
||||||
$(INSTALL_BIN) ./files/dsl_control $(1)/etc/init.d/
|
$(INSTALL_BIN) ./files/dsl_control $(1)/etc/init.d/
|
||||||
|
$(INSTALL_BIN) ./files/vdsl_cpe_control_wrapper $(1)/sbin/
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/dsl_cpe_control $(1)/sbin/vdsl_cpe_control
|
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/dsl_cpe_control $(1)/sbin/vdsl_cpe_control
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -3,14 +3,12 @@
|
|||||||
|
|
||||||
# needs to start before the atm layer which starts at 50
|
# needs to start before the atm layer which starts at 50
|
||||||
START=48
|
START=48
|
||||||
|
USE_PROCD=1
|
||||||
|
|
||||||
EXTRA_COMMANDS="status lucistat"
|
EXTRA_COMMANDS="status lucistat"
|
||||||
EXTRA_HELP=" status Get DSL status information
|
EXTRA_HELP=" status Get DSL status information
|
||||||
lucistat Get status information if lua friendly format"
|
lucistat Get status information if lua friendly format"
|
||||||
|
|
||||||
SERVICE_DAEMONIZE=1
|
|
||||||
SERVICE_WRITE_PID=1
|
|
||||||
|
|
||||||
[ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh
|
[ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh
|
||||||
|
|
||||||
# G.992.1 Annex A
|
# G.992.1 Annex A
|
||||||
@ -37,7 +35,11 @@ xtse_adsl_j="10 00 10 40 00 04 01 00"
|
|||||||
|
|
||||||
xtse_vdsl="00 00 00 00 00 00 00 07"
|
xtse_vdsl="00 00 00 00 00 00 00 07"
|
||||||
|
|
||||||
start() {
|
service_triggers() {
|
||||||
|
procd_add_reload_trigger network
|
||||||
|
}
|
||||||
|
|
||||||
|
start_service() {
|
||||||
local annex
|
local annex
|
||||||
local firmware
|
local firmware
|
||||||
local xtse
|
local xtse
|
||||||
@ -53,11 +55,13 @@ start() {
|
|||||||
|
|
||||||
case "${xfer_mode}" in
|
case "${xfer_mode}" in
|
||||||
atm)
|
atm)
|
||||||
insmod ltq_atm_vr9
|
LOAD=ltq_atm_vr9
|
||||||
|
UNLOAD=ltq_ptm_vr9
|
||||||
mode=1
|
mode=1
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
insmod ltq_ptm_vr9
|
LOAD=ltq_ptm_vr9
|
||||||
|
UNLOAD=ltq_atm_vr9
|
||||||
mode=2
|
mode=2
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -75,17 +79,18 @@ start() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
service_start /sbin/vdsl_cpe_control \
|
procd_open_instance
|
||||||
|
procd_set_param command /sbin/vdsl_cpe_control_wrapper \
|
||||||
-i `echo $xtse | sed "s/ /_/g"` \
|
-i `echo $xtse | sed "s/ /_/g"` \
|
||||||
-n /sbin/dsl_notify.sh \
|
-n /sbin/dsl_notify.sh \
|
||||||
-f ${firmware} \
|
-f ${firmware} \
|
||||||
-M ${mode}
|
-M ${mode}
|
||||||
|
procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
|
||||||
|
procd_close_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
stop_service() {
|
||||||
DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \
|
DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \
|
||||||
DSL_INTERFACE_STATUS="DOWN" \
|
DSL_INTERFACE_STATUS="DOWN" \
|
||||||
/sbin/dsl_notify.sh
|
/sbin/dsl_notify.sh
|
||||||
|
|
||||||
service_stop /sbin/vdsl_cpe_control
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
for mod in $UNLOAD; do
|
||||||
|
grep -q "$mod " /proc/modules && rmmod "$mod"
|
||||||
|
done
|
||||||
|
for mod in $LOAD; do
|
||||||
|
grep -q "$mod " /proc/modules || insmod "$mod"
|
||||||
|
done
|
||||||
|
|
||||||
|
exec /sbin/vdsl_cpe_control "$@"
|
Loading…
Reference in New Issue
Block a user