#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/
--- /dev/null
+#!/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
--- /dev/null
+#!/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
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
;;
}
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
}
+++ /dev/null
-#!/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 "$@"