diff options
author | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2014-04-11 20:40:24 +0000 |
---|---|---|
committer | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2014-04-11 20:40:24 +0000 |
commit | 072afa83adfe8437d665f3a744c03fcb3cffd56b (patch) | |
tree | d990cfe456a951c8075df206aef8e298282cd6ae | |
parent | 99347833df33a73c98b103b18fa2684142a21861 (diff) |
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40460 3c298f89-4303-0410-b956-a3cf2f4a3e73
4 files changed, 38 insertions, 16 deletions
diff --git a/package/network/config/ltq-adsl-app/files/dsl_control b/package/network/config/ltq-adsl-app/files/dsl_control index e48b72b059..fef0834b12 100644 --- a/package/network/config/ltq-adsl-app/files/dsl_control +++ b/package/network/config/ltq-adsl-app/files/dsl_control @@ -38,11 +38,15 @@ start() { eval "xtu=\"\${annex_$annex}\"" [ -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} \ -n /sbin/dsl_notify.sh \ - -f /lib/firmware/${firmware} + -f ${firmware} } stop() { diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control b/package/network/config/ltq-vdsl-app/files/dsl_control index c6be228494..7c423114cb 100644 --- a/package/network/config/ltq-vdsl-app/files/dsl_control +++ b/package/network/config/ltq-vdsl-app/files/dsl_control @@ -1,7 +1,8 @@ #!/bin/sh /etc/rc.common # 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_HELP=" status Get DSL status information @@ -153,7 +154,7 @@ start() { esac 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}\"" [ -z "${tone_adsl}" ] && tone_adsl=$tone_adsl_av @@ -161,7 +162,11 @@ start() { eval "tone_vdsl=\"\${tone_vdsl_$tone}\"" [ -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 vdsl "${xtse_vdsl}" @@ -170,7 +175,7 @@ start() { service_start /sbin/vdsl_cpe_control \ -i `echo $xtse_adsl | sed "s/ /_/g"` \ -n /sbin/dsl_notify.sh \ - -f /lib/firmware/${firmware} \ + -f ${firmware} \ -a /tmp/adsl.scr \ -A /tmp/vdsl.scr \ -l /tmp/lowlevel.cfg \ diff --git a/target/linux/lantiq/base-files/etc/init.d/dsl_fs b/target/linux/lantiq/base-files/etc/init.d/dsl_fs new file mode 100755 index 0000000000..975f5d8784 --- /dev/null +++ b/target/linux/lantiq/base-files/etc/init.d/dsl_fs @@ -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/ + } +} diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/02_network b/target/linux/lantiq/base-files/etc/uci-defaults/02_network index ac06e5f278..02f4f6a5fb 100644 --- a/target/linux/lantiq/base-files/etc/uci-defaults/02_network +++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_network @@ -32,9 +32,9 @@ set_adsl_modem() { local annex=$1 local firmware=$2 uci batch <<EOF -set network.adsl='dsl-modem' -set network.adsl.annex='$annex' -set network.adsl.firmware='$firmware' +set network.dsl='adsl' +set network.dsl.annex='$annex' +set network.dsl.firmware='$firmware' EOF } @@ -44,11 +44,11 @@ set_vdsl_modem() { local tone=$3 local xfer_mode=$4 uci batch <<EOF -set network.vdsl='dsl-modem' -set network.vdsl.annex='$annex' -set network.vdsl.firmware='$firmware' -set network.vdsl.tone='$tone' -set network.vdsl.xfer_mode='$xfer_mode' +set network.dsl='vdsl' +set network.dsl.annex='$annex' +set network.dsl.firmware='$firmware' +set network.dsl.tone='$tone' +set network.dsl.xfer_mode='$xfer_mode' EOF } @@ -170,9 +170,9 @@ esac [ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload" 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 - set_adsl_modem "$annex" "adsl.bin" + set_adsl_modem "$annex" "/lib/firmware/adsl.bin" fi [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan $lan_mac |