From 2ac60551e576954a1aedf88941578f391903d14c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Schr=C3=B6der?= Date: Tue, 23 Jun 2015 16:26:01 +0200 Subject: [PATCH] Fixed merge conflicts --- brcm_fw_tool/src/brcm_fw_tool.c | 2 +- freecwmp/Makefile | 4 ++-- iup/files/sbin/iup | 30 ++++++++++++++++++++++++------ 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/brcm_fw_tool/src/brcm_fw_tool.c b/brcm_fw_tool/src/brcm_fw_tool.c index f2aaeebba..09e4b96b0 100644 --- a/brcm_fw_tool/src/brcm_fw_tool.c +++ b/brcm_fw_tool/src/brcm_fw_tool.c @@ -913,7 +913,7 @@ int main (int argc, char **argv) while ((ch = getopt(argc, argv, - "g:SIMlefriyqjbtkvwW:Z:Vzmoac:d:s:n:h:x:u:p:")) != -1) + "g:SIMlefriyqjbtkvwW:Z:Vzmoacd:s:n:h:x:u:p:")) != -1) switch (ch) { case 'I': boot_mode = 1; diff --git a/freecwmp/Makefile b/freecwmp/Makefile index 8b0df0b30..5d3e13a35 100644 --- a/freecwmp/Makefile +++ b/freecwmp/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cwmp -PKG_VERSION:=2.3-2015-06-05 +PKG_VERSION:=2.3-2015-06-22 PKG_FIXUP:=autoreconf ifeq ($(CONFIG_PACKAGE_bcmkernel),y) PKG_SOURCE_URL:=ssh://git@iopsys.inteno.se/freecwmp.git @@ -16,7 +16,7 @@ else PKG_SOURCE_URL:=http://ihgsp.inteno.se/git/freecwmp.git endif PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=a7e6e655e374662dd2bcb4cbe61fe52357b89799 +PKG_SOURCE_VERSION:=e792ada566bb6af6faf46941d72540fb0f0ede95 PKG_RELEASE=$(PKG_SOURCE_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) diff --git a/iup/files/sbin/iup b/iup/files/sbin/iup index 36ad9afd3..0fc32d655 100755 --- a/iup/files/sbin/iup +++ b/iup/files/sbin/iup @@ -15,6 +15,9 @@ export VERBOSE=0 export CONF=1 export DESKEY=$(cat /proc/nvram/DesKey | hexdump -e '16/1 "%02x"') export MAC=$(cat /proc/nvram/BaseMacAddr) +export RANGE=10 +export RETRYSTOP=5 +export SLEEP=10 #remove whitespace MAC=${MAC// /} #lower to upper Conversion @@ -96,6 +99,11 @@ handle_provisioning() { local defaultreset local pack local packname + local number=$RANDOM + local retry=1 + local number + local incsleep=$SLEEP + let "number %= $RANGE" if [[ ! -e $IUPTEMP ]]; then mkdir $IUPTEMP fi @@ -107,18 +115,28 @@ handle_provisioning() { config_get url "$config" url url=${url//\$MAC/$MAC} v "Download from $url" - - if [ ${url%%:*} == "tftp" ]; then + + while [ $retry -le $RETRYSTOP ] + do + if [ ${url%%:*} == "tftp" ]; then tftpfile=${url#*\/\/} host=${tftpfile%%\/*} tftpfile=${tftpfile#*\/} /usr/bin/tftp -l $IUPCONFFILES -r "$tftpfile" -g "$host" - else - ###ugly will remove sleep when backof and retry is implemented - sleep 1 + else get_image "$url" "cat" > $IUPCONFFILES - fi + fi + if [ -s $IUPCONFFILES ]; then + v "File Downloaded" + retry=$((RETRYSTOP + 1)) + else + v "Download failed will try again in $incsleep sec" + sleep $incsleep + incsleep=$((incsleep * retry + number)) + retry=$((retry+1)) + fi + done fi if [ ! -s "$IUPCONFFILES" ]; then echo "File not Found"