add annex selection support to ltq_dsl package

SVN-Revision: 30518
This commit is contained in:
John Crispin 2012-02-14 15:05:49 +00:00
parent 9a0e17857e
commit 976d3eb854
4 changed files with 60 additions and 7 deletions

View file

@ -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
}

View file

@ -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))

View file

@ -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'
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

View file

@ -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"
}