# 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"
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
}
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))
local vci=$2
local encaps=$3
local payload=$4
-
uci batch <<EOF
set network.atm='atm-bridge'
set network.atm.unit='0'
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'
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
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"
;;
*)
;;
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
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"
+}