#!/bin/sh
#
-# Copyright (C) 2011 OpenWrt.org
+# Copyright (C) 2011-2012 OpenWrt.org
#
-set_interface_loopback() {
- uci batch <<EOF
-set network.loopback='interface'
-set network.loopback.ifname='lo'
-set network.loopback.proto='static'
-set network.loopback.ipaddr='127.0.0.1'
-set network.loopback.netmask='255.0.0.0'
-EOF
-}
-
-set_interface_raw() {
- local cfg=$1
- local ifname=$2
-
- uci batch <<EOF
-set network.$cfg='interface'
-set network.$cfg.ifname='$ifname'
-set network.$cfg.proto='none'
-EOF
-}
-
-set_interface_lan() {
- local ifname=$1
-
- uci batch <<EOF
-set network.lan='interface'
-set network.lan.ifname='$ifname'
-set network.lan.type='bridge'
-set network.lan.proto='static'
-set network.lan.ipaddr='192.168.1.1'
-set network.lan.netmask='255.255.255.0'
-EOF
-}
-
-set_interface_wan() {
- local ifname=$1
-
- uci batch <<EOF
-set network.wan='interface'
-set network.wan.ifname='$ifname'
-set network.wan.proto='dhcp'
-EOF
-}
+[ -e /etc/config/network ] && exit 0
set_atm_wan() {
local vpi=$1
local vci=$2
local encaps=$3
local payload=$4
-
uci batch <<EOF
set network.atm='atm-bridge'
set network.atm.unit='0'
EOF
}
-set_interfaces_lan_wan() {
- local lan_ifname=$1
- local wan_ifname=$2
-
- set_interface_lan "$lan_ifname"
- set_interface_wan "$wan_ifname"
-}
-
-add_switch() {
- local name=$1
- local reset=$2
- local enable=$3
- uci batch <<EOF
-add network switch
-set network.@switch[-1].name='$name'
-set network.@switch[-1].reset='$reset'
-set network.@switch[-1].enable_vlan='$enable'
-EOF
-}
-
-add_switch_vlan() {
- local device=$1
- local vlan=$2
- local ports=$3
+set_adsl() {
+ local fwannex=$1
+ local annex=$2
uci batch <<EOF
-add network switch_vlan
-set network.@switch_vlan[-1].device='$device'
-set network.@switch_vlan[-1].vlan='$vlan'
-set network.@switch_vlan[-1].ports='$ports'
+set network.adsl='adsl-device'
+set network.adsl.fwannex='$fwannex'
+set network.adsl.annex='$annex'
EOF
}
-[ -e /etc/config/network ] && exit 0
-
+. /lib/functions/uci-defaults.sh
. /lib/lantiq.sh
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'
+ucidef_set_interface_loopback
+ucidef_set_interface_lan 'eth0'
+vpi=1
+vci=32
+encaps="llc"
+payload="bridged"
+fwannex=$(lantiq_dsl_fwannex)
board=$(lantiq_board_name)
+dsl=$(lantiq_soc_has_adsl)
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"
+# annex B with adm6996
+ARV4520PW|GIGASX76X)
+ ucidef_set_interface_lan "eth0.1"
+ ucidef_add_switch "eth0" "1" "1"
+ ucidef_add_switch_vlan "eth0" "1" "1 2 3 4 5t"
+ set_adsl "b" "b2p"
+ ;;
+
+# annex A with ar8316
+ARV4519PW|ARV7518PW)
+ ucidef_set_interface_lan "eth0.1"
+ ucidef_add_switch "eth0" "1" "1"
+ ucidef_add_switch_vlan "eth0" "1" "0t 2 3 4 5"
+ set_adsl "a" "a2p"
;;
-*)
- # custom foo goes here
- true
+ARV7525PW|ARV4525PW|*)
+ set_adsl "$fwannex" "${fwannex}2p"
;;
esac
+[ -z "$dsl" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
+
uci commit network
exit 0