ltq-vdsl-app: use notification based ATM/PTM driver load
This patch removes the fixed atm/ptm driver loading and switches to notification based driver loading. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
This commit is contained in:
parent
2d6c7c2526
commit
c6504327d1
5 changed files with 34 additions and 20 deletions
|
@ -58,9 +58,10 @@ CONFIGURE_ARGS += \
|
|||
#CONFIGURE_ARGS += --enable-model=debug
|
||||
|
||||
define Package/ltq-vdsl-app/install
|
||||
$(INSTALL_DIR) $(1)/etc/init.d $(1)/sbin
|
||||
$(INSTALL_DIR) $(1)/etc/init.d $(1)/sbin $(1)/etc/hotplug.d/dsl
|
||||
$(INSTALL_BIN) ./files/dsl_control $(1)/etc/init.d/
|
||||
$(INSTALL_BIN) ./files/vdsl_cpe_control_wrapper $(1)/sbin/
|
||||
$(INSTALL_BIN) ./files/10_atm.sh $(1)/etc/hotplug.d/dsl
|
||||
$(INSTALL_BIN) ./files/10_ptm.sh $(1)/etc/hotplug.d/dsl
|
||||
|
||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/dsl_cpe_control $(1)/sbin/vdsl_cpe_control
|
||||
$(INSTALL_BIN) ./files/dsl_cpe_pipe.sh $(1)/sbin/
|
||||
|
|
16
package/network/config/ltq-vdsl-app/files/10_atm.sh
Executable file
16
package/network/config/ltq-vdsl-app/files/10_atm.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ "$DSL_NOTIFICATION_TYPE" = "DSL_STATUS" ] && \
|
||||
[ "$DSL_TC_LAYER_STATUS" = "ATM" ] && \
|
||||
! grep -q "ltq_atm_vr9" /proc/modules || exit 0
|
||||
|
||||
logger -p daemon.notice -t "dsl-notify" "Switching to TC-Layer ATM"
|
||||
|
||||
if grep -q "ltq_ptm_vr9" /proc/modules ; then
|
||||
logger -p daemon.notice -t "dsl-notify" "Loading ATM driver while EFM/PTM driver is loaded is not possible. Reboot is needed."
|
||||
exit
|
||||
fi
|
||||
|
||||
modprobe ltq_atm_vr9
|
||||
|
||||
/etc/init.d/br2684ctl reload
|
14
package/network/config/ltq-vdsl-app/files/10_ptm.sh
Executable file
14
package/network/config/ltq-vdsl-app/files/10_ptm.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ "$DSL_NOTIFICATION_TYPE" = "DSL_STATUS" ] && \
|
||||
[ "$DSL_TC_LAYER_STATUS" = "EFM" ] && \
|
||||
! grep -q "ltq_ptm_vr9" /proc/modules || exit 0
|
||||
|
||||
logger -p daemon.notice -t "dsl-notify" "Switching to TC-Layer EFM/PTM"
|
||||
|
||||
if grep -q "ltq_atm_vr9" /proc/modules ; then
|
||||
logger -p daemon.notice -t "dsl-notify" "Loading EFM/PTM driver while ATM driver is loaded is not possible. Reboot is needed."
|
||||
exit
|
||||
fi
|
||||
|
||||
modprobe ltq_ptm_vr9
|
|
@ -198,16 +198,10 @@ start_service() {
|
|||
|
||||
case "${xfer_mode}" in
|
||||
atm)
|
||||
LOAD=ltq_atm_vr9
|
||||
UNLOAD=ltq_ptm_vr9
|
||||
|
||||
# in most cases atm is used on top of adsl
|
||||
[ -z "${line_mode}" ] && line_mode=adsl
|
||||
;;
|
||||
*)
|
||||
LOAD=ltq_ptm_vr9
|
||||
UNLOAD=ltq_atm_vr9
|
||||
|
||||
# in most cases ptm is used on top of vdsl
|
||||
[ -z "${line_mode}" ] && line_mode=vdsl
|
||||
;;
|
||||
|
@ -301,14 +295,13 @@ start_service() {
|
|||
}
|
||||
|
||||
procd_open_instance
|
||||
procd_set_param command /sbin/vdsl_cpe_control_wrapper \
|
||||
procd_set_param command /sbin/vdsl_cpe_control \
|
||||
-i$xtse \
|
||||
-n /sbin/dsl_notify.sh \
|
||||
-f ${firmware} \
|
||||
$lowlevel \
|
||||
-M ${mode} \
|
||||
$autoboot
|
||||
procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
|
||||
procd_close_instance
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
#!/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 a new issue