diff --git a/layer2interface/broadcom/etc/config/dsl b/layer2interface/broadcom/etc/config/dsl index 26c093188..0dbc58134 100644 --- a/layer2interface/broadcom/etc/config/dsl +++ b/layer2interface/broadcom/etc/config/dsl @@ -1,39 +1,32 @@ # DSL Modes -config dsl-mod mode - option any '0' - option gdmt '1' - option glite '1' - option t1413 '1' - option adsl2 '1' - option adsl2p '1' - option annexl '1' - option annexm '1' - option vdsl2 '1' - option gfast '0' - -# VDSL2 Profiles -config vdsl-profile profile - option 8a '1' - option 8b '1' - option 8c '1' - option 8d '1' - option 12a '1' - option 12b '1' - option 17a '1' - option 30a '1' - option 35b '0' - -# DSL Capabilities -config dsl-cap capability - option bitswap '1' - option sra '1' - option trellis '1' - option sesdrop '1' +config dsl-line line + list mode gdmt + list mode glite + list mode t1413 + list mode adsl2 + list mode adsl2p + list mode annexl + list mode annexm + list mode vdsl2 + list mode gfast + list profile 8a + list profile 8b + list profile 8c + list profile 8d + list profile 12a + list profile 12b + list profile 17a + list profile 30a + list profile 35b + option bitswap 1 + option sra 1 + option trellis + option sesdrop # VDSL2 only - option us0 '1' - option dynamicd '1' - option dynamicf '1' - option sos '1' + option us0 + option dynamicd + option dynamicf + option sos config atm-device atm0 option name 'ATM' @@ -43,9 +36,9 @@ config atm-device atm0 option link_type 'eoa' # EoA, IPoA, PPPoA, CIP option encapsulation 'llc' # llc, vcmux option qos_class 'ubr' # ubr, cbr, gfr, vbr-nrt, vbr-rt, ubr+, abr - option pcr '1' - option mbs '1' - option scr '1' +# option pcr '512' +# option scr '256' +# option mbs '1024' config ptm-device ptm0 option name 'PTM' diff --git a/layer2interface/broadcom/etc/init.d/dsl b/layer2interface/broadcom/etc/init.d/dsl index 9e6021449..779ca8223 100755 --- a/layer2interface/broadcom/etc/init.d/dsl +++ b/layer2interface/broadcom/etc/init.d/dsl @@ -265,68 +265,43 @@ create_devices() { start_dsl() { local VDSL=0 local GFAST=0 - local mod=0 - local prof=0 + local mod="" local modes="" - local profiles="" + local profile="" config_load dsl - # MODES - config_get_bool mod mode gdmt 1 - [ $mod -eq 1 ] && modes="${modes}d" - config_get_bool mode mode glite 1 - [ $mod -eq 1 ] && modes="${modes}l" - config_get_bool mod mode t1413 1 - [ $mod -eq 1 ] && modes="${modes}t" - config_get_bool mod mode adsl2 1 - [ $mod -eq 1 ] && modes="${modes}2" - config_get_bool mod mode adsl2p 1 - [ $mod -eq 1 ] && modes="${modes}p" - config_get_bool mod mode annexl 1 - [ $mod -eq 1 ] && modes="${modes}e" - config_get_bool mod mode annexm 1 - [ $mod -eq 1 ] && modes="${modes}m" - config_get_bool mod mode vdsl2 1 - [ $mod -eq 1 ] && modes="${modes}v" && VDSL=1 - config_get_bool mod mode gfast 1 - [ $mod -eq 1 ] && modes="${modes}f" && GFAST=1 - config_get_bool mod mode any 0 - [ $mod -eq 1 ] && modes="a" && VDSL=1 && GFAST=1 + # Modes + config_get mode line mode + for mod in $mode; do + [ $mod == "gdmt" ] && "${modes}d" + [ $mod == "glite" ] && modes="${modes}l" + [ $mod == "t1413" ] && modes="${modes}t" + [ $mod == "adsl2" ] && modes="${modes}2" + [ $mod == "adsl2p" ] && modes="${modes}p" + [ $mod == "annexl" ] && modes="${modes}e" + [ $mod == "annexm" ] && modes="${modes}m" + [ $mod == "vdsl2" ] && modes="${modes}v" && VDSL=1 + [ $mod == "gfast" ] && modes="${modes}f" && GFAST=1 + done - # Profiles - config_get_bool prof profile 8a 1 - [ $prof -eq 1 ] && profiles="$profiles 8a" - config_get_bool prof profile 8b 1 - [ $prof -eq 1 ] && profiles="$profiles 8b" - config_get_bool prof profile 8c 1 - [ $prof -eq 1 ] && profiles="$profiles 8c" - config_get_bool prof profile 8d 1 - [ $prof -eq 1 ] && profiles="$profiles 8d" - config_get_bool prof profile 12a 1 - [ $prof -eq 1 ] && profiles="$profiles 12a" - config_get_bool prof profile 12b 1 - [ $prof -eq 1 ] && profiles="$profiles 12b" - config_get_bool prof profile 17a 1 - [ $prof -eq 1 ] && profiles="$profiles 17a" - config_get_bool prof profile 30a 1 - [ $prof -eq 1 ] && profiles="$profiles 30a" - config_get_bool prof profile 35b 1 - [ $prof -eq 1 ] && profiles="$profiles BrcmPriv1" + # VDSL Profiles + config_get profile line profile + profile="$(echo $profile | sed 's/35b/BrcmPriv1/g')" # Capabilities - config_get_bool bitswap capability bitswap 1 + config_get_bool bitswap line bitswap 1 [ $bitswap -eq 1 ] && bitswap="on" || bitswap="off" - config_get_bool sra capability sra 1 + config_get_bool sra line sra 1 [ $sra -eq 1 ] && sra="on" || sra="off" -# config_get_bool trellis capability trellis 1 -# config_get_bool sesdrop capability sesdrop 1 +# config_get_bool trellis line trellis 1 +# config_get_bool sesdrop line sesdrop 1 # VDSL2 only - config_get_bool us0 capability us0 1 + config_get_bool us0 line us0 1 [ $us0 -eq 1 ] && us0="on" || us0="off" -# config_get_bool dynamicd capability dynamicd 1 -# config_get_bool dynamicf capability dynamicf 1 -# config_get_bool sos capability sos 1 +# config_get_bool dynamicd line dynamicd 1 +# config_get_bool dynamicf line dynamicf 1 +# config_get_bool sos line sos 1 echo "Starting DSL" @@ -335,8 +310,8 @@ start_dsl() { xtmctl operate intf --state 1 enable if [ $VDSL -eq 1 -o $GFAST -eq 1 ]; then - echo "xdslctl start --up --mod $modes --profile "$profiles" --sra $sra --bitswap $bitswap --us0 $us0" - xdslctl start --up --mod $modes --profile "$profiles" --sra $sra --bitswap $bitswap --us0 $us0 + echo "xdslctl start --up --mod $modes --profile "$profile" --sra $sra --bitswap $bitswap --us0 $us0" + xdslctl start --up --mod $modes --profile "$profile" --sra $sra --bitswap $bitswap --us0 $us0 else echo "xdslctl start --up --mod $modes --sra $sra --bitswap $bitswap" xdslctl start --up --mod $modes --sra $sra --bitswap $bitswap @@ -419,58 +394,61 @@ convert_old_dsl() { sed -i 's/Enabled/1/g' /etc/config/layer2_interface sed -i 's/Disabled/0/g' /etc/config/layer2_interface - config_load layer2_interface + uci -q delete dsl.line.mode + uci -q delete dsl.line.profile + uci -q delete dsl.line.us0 + uci -q delete dsl.line.sra + uci -q delete dsl.line.bitswap + + config_load layer2_interface # Mode - uci -q set dsl.mode="dsl-mod" config_get_bool cap capabilities GDmt 1 - uci -q set dsl.mode.gdmt=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=gdmt config_get_bool cap capabilities Glite 1 - uci -q set dsl.mode.glite=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=glite config_get_bool cap capabilities T1413 1 - uci -q set dsl.mode.t1413=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=t1413 config_get_bool cap capabilities ADSL2 1 - uci -q set dsl.mode.adsl2=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=adsl2 config_get_bool cap capabilities ADSL2plus 1 - uci -q set dsl.mode.adsl2p=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=adsl2p config_get_bool cap capabilities AnnexL 1 - uci -q set dsl.mode.annexl=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=annexl config_get_bool cap capabilities AnnexM 1 - uci -q set dsl.mode.annexm=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=annexm config_get_bool cap capabilities VDSL2 1 - uci -q set dsl.mode.vdsl2=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=vdsl2 config_get_bool cap capabilities GFast 0 - uci -q set dsl.mode.gfast=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.mode=gfast # Profile - uci -q set dsl.profile="vdsl-profile" config_get_bool cap capabilities 8a 1 - uci -q set dsl.profile.8a=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=8a config_get_bool cap capabilities 8b 1 - uci -q set dsl.profile.8b=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=8b config_get_bool cap capabilities 8c 1 - uci -q set dsl.profile.8c=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=8c config_get_bool cap capabilities 8d 1 - uci -q set dsl.profile.8d=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=8d config_get_bool cap capabilities 12a 1 - uci -q set dsl.profile.12a=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=12a config_get_bool cap capabilities 12b 1 - uci -q set dsl.profile.12b=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=12b config_get_bool cap capabilities 17a 1 - uci -q set dsl.profile.17a=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=17a config_get_bool cap capabilities 30a 1 - uci -q set dsl.profile.30a=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=30a config_get_bool cap capabilities 35b 0 - uci -q set dsl.profile.35b=$cap + [ $cap -eq 1 ] && uci -q add_list dsl.line.profile=35b # Capability - uci -q set dsl.capability="dsl-cap" config_get_bool cap capabilities US0 1 - uci -q set dsl.capability.us0=$cap + uci -q add_list dsl.line.us0=$cap config_get_bool cap capabilities bitswap 1 - uci -q set dsl.capability.bitswap=$cap + uci -q add_list dsl.line.bitswap=$cap config_get_bool cap capabilities sra 1 - uci -q set dsl.capability.sra=$cap + uci -q add_list dsl.line.sra=$cap } convert_old_config() { diff --git a/layer2interface/broadcom/etc/uci-defaults/20-layer2-config-generate b/layer2interface/broadcom/etc/uci-defaults/20-layer2-config-generate index 6531f3091..adcd48f97 100644 --- a/layer2interface/broadcom/etc/uci-defaults/20-layer2-config-generate +++ b/layer2interface/broadcom/etc/uci-defaults/20-layer2-config-generate @@ -26,40 +26,43 @@ populate_dsl_settings() { touch /etc/config/dsl fi - # Mode - if ! uci -q get dsl.mode >/dev/null; then - uci -q set dsl.mode="dsl-mod" - uci -q set dsl.mode.gdmt=$hasAdsl - uci -q set dsl.mode.glite=$hasAdsl - uci -q set dsl.mode.t1413=$hasAdsl - uci -q set dsl.mode.adsl2=$hasAdsl - uci -q set dsl.mode.adsl2p=$hasAdsl - uci -q set dsl.mode.annexl=$hasAdsl - uci -q set dsl.mode.annexm=$hasAdsl - uci -q set dsl.mode.vdsl2=$hasVdsl - uci -q set dsl.mode.gfast=0 - fi + if ! uci -q get dsl.line >/dev/null; then + uci -q set dsl.line="dsl-line" + if [ "$hasAdsl" == "1" ]; then + # Mode + uci -q add_list dsl.line.mode=gdmt + uci -q add_list dsl.line.mode=glite + uci -q add_list dsl.line.mode=t1413 + uci -q add_list dsl.line.mode=adsl2 + uci -q add_list dsl.line.mode=adsl2p + uci -q add_list dsl.line.mode=annexl + uci -q add_list dsl.line.mode=annexm + uci -q add_list dsl.line.mode=vdsl2 + #uci -q add_list dsl.line.mode=gfast + fi - # Profile - if ! uci -q get dsl.profile >/dev/null; then - uci -q set dsl.profile="vdsl-profile" - uci -q set dsl.profile.8a=$hasVdsl - uci -q set dsl.profile.8b=$hasVdsl - uci -q set dsl.profile.8c=$hasVdsl - uci -q set dsl.profile.8d=$hasVdsl - uci -q set dsl.profile.12a=$hasVdsl - uci -q set dsl.profile.12b=$hasVdsl - uci -q set dsl.profile.17a=$hasVdsl - uci -q set dsl.profile.30a=$hasVdsl - uci -q set dsl.profile.35b=0 - fi + if [ "$hasVdsl" == "1" ]; then + # Mode + uci -q add_list dsl.line.mode=vdsl2 - # Capability - if ! uci -q get dsl.profile >/dev/null; then - uci -q set dsl.capability="dsl-cap" - uci -q set dsl.capability.us0=$hasVdsl - uci -q set dsl.capability.bitswap=1 - uci -q set dsl.capability.sra=1 + # Profile + uci -q add_list dsl.line.profile=8a + uci -q add_list dsl.line.profile=8b + uci -q add_list dsl.line.profile=8c + uci -q add_list dsl.line.profile=8d + uci -q add_list dsl.line.profile=12a + uci -q add_list dsl.line.profile=12b + uci -q add_list dsl.line.profile=17a + uci -q add_list dsl.line.profile=30a + #uci -q add_list dsl.line.profile=35b + + # Capability + uci -q set dsl.line.us0=1 + fi + + # Capability + uci -q set dsl.line.bitswap=1 + uci -q set dsl.line.sra=1 fi uci -q commit dsl