lantiq: more vdsl related cleanups

* atm module needs to be loaded before linux-atm
* use absolute firmware paths
* extended validation
* add a script for mounting an optional firmware partition

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 40460
owl
John Crispin 2014-04-11 20:40:24 +00:00
parent 7b960069a2
commit 390e856cb2
4 changed files with 38 additions and 16 deletions

View File

@ -38,11 +38,15 @@ start() {
eval "xtu=\"\${annex_$annex}\"" eval "xtu=\"\${annex_$annex}\""
[ -z "${firmware}" ] && [ -z "${firmware}" ] &&
firmware=adsl.bin firmware=/lib/firmware/adsl.bin
[ -f "${firmware}" ] || {
echo failed to find $firmware
return 1
}
service_start /sbin/dsl_cpe_control -i${xtu} \ service_start /sbin/dsl_cpe_control -i${xtu} \
-n /sbin/dsl_notify.sh \ -n /sbin/dsl_notify.sh \
-f /lib/firmware/${firmware} -f ${firmware}
} }
stop() { stop() {

View File

@ -1,7 +1,8 @@
#!/bin/sh /etc/rc.common #!/bin/sh /etc/rc.common
# Copyright (C) 2012 OpenWrt.org # Copyright (C) 2012 OpenWrt.org
START=99 # needs to start before the atm layer which starts at 50
START=48
EXTRA_COMMANDS="status lucistat" EXTRA_COMMANDS="status lucistat"
EXTRA_HELP=" status Get DSL status information EXTRA_HELP=" status Get DSL status information
@ -153,7 +154,7 @@ start() {
esac esac
eval "xtse_adsl=\"\${xtse_adsl_$annex}\"" eval "xtse_adsl=\"\${xtse_adsl_$annex}\""
[ -z "${xtse_adsl}" ] && xtse_adsl=$xtse_adsl_b [ -z "${xtse_adsl}" ] && xtse_adsl=$xtse_adsl_a
eval "tone_adsl=\"\${tone_adsl_$tone}\"" eval "tone_adsl=\"\${tone_adsl_$tone}\""
[ -z "${tone_adsl}" ] && tone_adsl=$tone_adsl_av [ -z "${tone_adsl}" ] && tone_adsl=$tone_adsl_av
@ -161,7 +162,11 @@ start() {
eval "tone_vdsl=\"\${tone_vdsl_$tone}\"" eval "tone_vdsl=\"\${tone_vdsl_$tone}\""
[ -z "${tone_vdsl}" ] && tone_vdsl=$tone_vdsl_av [ -z "${tone_vdsl}" ] && tone_vdsl=$tone_vdsl_av
[ -z "${firmware}" ] && firmware=vdsl.bin [ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin
[ -f "${firmware}" ] || {
echo failed to find $firmware
return 1
}
xdsl_scr adsl "${xtse_adsl}" xdsl_scr adsl "${xtse_adsl}"
xdsl_scr vdsl "${xtse_vdsl}" xdsl_scr vdsl "${xtse_vdsl}"
@ -170,7 +175,7 @@ start() {
service_start /sbin/vdsl_cpe_control \ service_start /sbin/vdsl_cpe_control \
-i `echo $xtse_adsl | sed "s/ /_/g"` \ -i `echo $xtse_adsl | sed "s/ /_/g"` \
-n /sbin/dsl_notify.sh \ -n /sbin/dsl_notify.sh \
-f /lib/firmware/${firmware} \ -f ${firmware} \
-a /tmp/adsl.scr \ -a /tmp/adsl.scr \
-A /tmp/vdsl.scr \ -A /tmp/vdsl.scr \
-l /tmp/lowlevel.cfg \ -l /tmp/lowlevel.cfg \

View File

@ -0,0 +1,13 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2014 OpenWrt.org
. /lib/functions.sh
START=30
start() {
MTD=$(find_mtd_index dsl_fw)
[ "$MTD" -gt 0 ] && {
mkdir -p /lib/firmware/dsl/
mount -t jffs2 /dev/mtdblock$MTD /lib/firmware/dsl/
}
}

View File

@ -32,9 +32,9 @@ set_adsl_modem() {
local annex=$1 local annex=$1
local firmware=$2 local firmware=$2
uci batch <<EOF uci batch <<EOF
set network.adsl='dsl-modem' set network.dsl='adsl'
set network.adsl.annex='$annex' set network.dsl.annex='$annex'
set network.adsl.firmware='$firmware' set network.dsl.firmware='$firmware'
EOF EOF
} }
@ -44,11 +44,11 @@ set_vdsl_modem() {
local tone=$3 local tone=$3
local xfer_mode=$4 local xfer_mode=$4
uci batch <<EOF uci batch <<EOF
set network.vdsl='dsl-modem' set network.dsl='vdsl'
set network.vdsl.annex='$annex' set network.dsl.annex='$annex'
set network.vdsl.firmware='$firmware' set network.dsl.firmware='$firmware'
set network.vdsl.tone='$tone' set network.dsl.tone='$tone'
set network.vdsl.xfer_mode='$xfer_mode' set network.dsl.xfer_mode='$xfer_mode'
EOF EOF
} }
@ -170,9 +170,9 @@ esac
[ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload" [ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
if [ -n "$(grep "system type.*: VR9" /proc/cpuinfo)" ]; then if [ -n "$(grep "system type.*: VR9" /proc/cpuinfo)" ]; then
set_vdsl_modem "$annex" "vdsl.bin" "bv" "ptm" set_vdsl_modem "$annex" "/lib/firmware/vdsl.bin" "av" "ptm"
else else
set_adsl_modem "$annex" "adsl.bin" set_adsl_modem "$annex" "/lib/firmware/adsl.bin"
fi fi
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac