diff options
-rw-r--r-- | package/ltq-dsl-app/files/dsl_control | 32 | ||||
-rw-r--r-- | package/ltq-dsl/Makefile | 3 | ||||
-rwxr-xr-x | target/linux/lantiq/base-files/etc/uci-defaults/network | 28 | ||||
-rw-r--r-- | target/linux/lantiq/base-files/lib/lantiq.sh | 4 |
4 files changed, 60 insertions, 7 deletions
diff --git a/package/ltq-dsl-app/files/dsl_control b/package/ltq-dsl-app/files/dsl_control index df31c39e5d..67e82b6d0a 100644 --- a/package/ltq-dsl-app/files/dsl_control +++ b/package/ltq-dsl-app/files/dsl_control @@ -2,6 +2,8 @@ # Copyright (C) 2008 OpenWrt.org START=99 +. /lib/functions.sh + EXTRA_COMMANDS="status lucistat" EXTRA_HELP=" status Get DSL status information lucistat Get status information if lua friendly format" @@ -255,12 +257,40 @@ lucistat() { echo "return dsl" } + +annex_b=10_00_10_00_00_04_00_00 +annex_bdmt=10_00_00_00_00_00_00_00 +annex_b2=00_00_10_00_00_00_00_00 +annex_b2p=00_00_00_00_00_04_00_00 +annex_a=04_01_04_00_00_01_00_00 +annex_at1=01_00_00_00_00_00_00_00 +annex_alite=00_01_00_00_00_00_00_00 +annex_admt=04_00_00_00_00_00_00_00 +annex_a2=00_00_04_00_00_00_00_00 +annex_a2p=00_00_00_00_00_01_00_00 +annex_l=00_00_00_00_04_00_00_00 +annex_m=00_00_00_00_40_00_04_00 +annex_m2=00_00_00_00_40_00_00_00 +annex_m2p=00_00_00_00_00_00_04_00 + # # Simple start routine # start() { + local annex + local xtu + config_load network + config_get annex atm annex + + # get xtu + eval "xtu=\"\${annex_$annex}\"" + + # check for invalid annex mode + [ -n "${annex}" -a -z "${xtu}" ] && + echo "unknown annex mode $annex" + # start CPE dsl daemon in the background - service_start /sbin/dsl_cpe_control -i \ + service_start /sbin/dsl_cpe_control -i${xtu} \ -n /sbin/dsl_notify.sh \ -f /lib/firmware/ModemHWE.bin } diff --git a/package/ltq-dsl/Makefile b/package/ltq-dsl/Makefile index 973967eb63..0e2a9328a8 100644 --- a/package/ltq-dsl/Makefile +++ b/package/ltq-dsl/Makefile @@ -160,7 +160,8 @@ endef define Package/kmod-ltq-dsl-firmware-$(BUILD_VARIANT)/install $(INSTALL_DIR) $(1)/lib/firmware/ - $(CP) $(PKG_BUILD_DIR)/$(FW_NAME)/ltq-dsl-fw-$(BUILD_VARIANT).bin $(1)/lib/firmware/ModemHWE.bin + $(CP) $(PKG_BUILD_DIR)/$(FW_NAME)/ltq-dsl-fw-$(BUILD_VARIANT).bin $(1)/lib/firmware/dsl-fw-$(word 1, $(subst -, ,$(BUILD_VARIANT))).bin + ln -s /lib/firmware/dsl-fw-$(word 1, $(subst -, ,$(BUILD_VARIANT))).bin $(1)/lib/firmware/ModemHWE.bin endef $(eval $(call BuildPackage,kmod-ltq-dsl-firmware-a-danube)) diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/network b/target/linux/lantiq/base-files/etc/uci-defaults/network index 3b7fe26621..09f6bd7bff 100755 --- a/target/linux/lantiq/base-files/etc/uci-defaults/network +++ b/target/linux/lantiq/base-files/etc/uci-defaults/network @@ -52,7 +52,6 @@ set_atm_wan() { local vci=$2 local encaps=$3 local payload=$4 - uci batch <<EOF set network.atm='atm-bridge' set network.atm.unit='0' @@ -60,6 +59,8 @@ set network.atm.vpi='$vpi' set network.atm.vci='$vci' set network.atm.encaps='$encaps' set network.atm.payload='$payload' +set network.atm.fwannex='$annex' +set network.atm.annex='$annex' set network.wan='interface' set network.wan.ifname='nas0' set network.wan.proto='pppoe' @@ -68,6 +69,16 @@ set network.wan.password='bar' EOF } +set_adsl() { + local fwannex=$1 + local annex=$2 + uci batch <<EOF +set network.adsl='adsl-device' +set network.adsl.fwannex='$fwannex' +set network.adsl.annex='$annex' +EOF +} + set_interfaces_lan_wan() { local lan_ifname=$1 local wan_ifname=$2 @@ -109,17 +120,20 @@ touch /etc/config/network set_interface_loopback set_interface_lan 'eth0' -dsl=$(lantiq_soc_has_adsl) -[ -z "$dsl" ] || set_atm_wan '1' '32' 'llc' 'bridged' -board=$(lantiq_board_name) +vpi=1 +vci=32 +encaps="llc" +payload="bridged" +fwannex=$(lantiq_dsl_fwannex) +annex="$fwannex" +board=$(lantiq_board_name) case "$board" in GIGASX76X) set_interface_lan "eth0.1" add_switch "eth0" "1" "1" add_switch_vlan "eth0" "1" "1 2 3 4 5t" - set_atm_wan "1" "32" "llc" "bridged" ;; *) @@ -128,6 +142,10 @@ GIGASX76X) ;; esac +dsl=$(lantiq_soc_has_adsl) +[ -z "$dsl" ] || set_atm_wan "$vpi" "vci" "$encaps" "$payload" "$annex" +[ -z "$fwannex" ] || set_adsl "$fwannex" "$annex" + uci commit network exit 0 diff --git a/target/linux/lantiq/base-files/lib/lantiq.sh b/target/linux/lantiq/base-files/lib/lantiq.sh index 3d36ed03fe..e4f1471a9e 100644 --- a/target/linux/lantiq/base-files/lib/lantiq.sh +++ b/target/linux/lantiq/base-files/lib/lantiq.sh @@ -11,3 +11,7 @@ lantiq_soc_name() { lantiq_board_name() { grep ^machine /proc/cpuinfo | sed "s/machine.*: \(.*\)/\1/g" | sed "s/\(.*\) - .*/\1/g" } + +lantiq_dsl_fwannex() { + ls /lib/firmware/dsl-fw-*.bin 2> /dev/null | sed "s/.*\([ab]\)\.bin/\1/g" +} |