Toon firmware - update script

Forum about the Toon firmware, and its extensions

Moderators: marcelr, TheHogNL, Toonz

DyArt
Starting Member
Starting Member
Posts: 11
Joined: Thu Jun 07, 2018 8:38 pm

Re: Toon firmware - update script

Post by DyArt »

I have now the complete output:

Code: Select all

eneco-xxx-0xxxxxx:~# ./update-rooted.sh
===================================================================================================================================================================
Welcome to the rooted Toon upgrade script. This script will try to upgrade your Toon using your original connection with Eneco. It will start the VPN if necessary.
Please be advised that running this script is at your own risk!

Version: 3.02  - TheHogNL & TerrorSource - 13-9-2018

===================================================================================================================================================================

Detected an unclean abort of previous running update script. Do you want me to resume (yes) or restart (no)?
no
You are currently running version 4.16.8 on a qb2 with flavour uni

Available versions:  1.9.10 2.1.0 2.2.24 2.3.17 2.3.29 2.3.36 2.4.7 2.4.12 2.5.11 2.5.14 2.5.18 2.6.24 2.6.33 2.8.16 2.8.21 2.9.15 2.9.26 3.0.29 3.0.32 3.1.22 3.2.14 3.2.18 3.2.21 3.3.8 3.4.4 3.5.4 3.6.3 3.7.8 3.7.9 4.3.20 4.4.21 4.7.23 4.8.25 4.9.23 4.9.124 4.10.6 4.11.6 4.12.0 4.13.6 4.13.7 4.15.2 4.15.6 4.16.8 4.18.8 4.19.10

Which version do you want to upgrade to?
4.19.10
Alright, I will try to upgrade to 4.19.10
Now starting the VPN tunnel and waiting for it to be alive and configured...
Now starting the VPN tunnel and waiting for it to be alive and configured...
Tunnel is alive and configured.
Warning: upgrade script from source server is changed. Do you want to continue downloading the files (if not sure, type no and report in the forums)?
TheHogNL
Forum Moderator
Forum Moderator
Posts: 2125
Joined: Sun Aug 20, 2017 8:53 pm

Re: Toon firmware - update script

Post by TheHogNL »

Strange. If I manually check the file now it isn't changed. Maybe there servers aren't all updated yet. Better wait a day. I'll check tomorrow again.
Member of the Toon Software Collective
TheHogNL
Forum Moderator
Forum Moderator
Posts: 2125
Joined: Sun Aug 20, 2017 8:53 pm

Re: Toon firmware - update script

Post by TheHogNL »

No change yet. Can you post the /mnt/data/update/upgrade-qb2.sh file so I can check which file you got?
Member of the Toon Software Collective
DyArt
Starting Member
Starting Member
Posts: 11
Joined: Thu Jun 07, 2018 8:38 pm

Re: Toon firmware - update script

Post by DyArt »

Here the file. I have also deleted the file and let it download again and I get the same error. The MD5 hash I get from the file is: 9bcfacb92757ff39e72105fd6151ea59 when I do a manually md5sum

Code: Select all

###! /bin/sh
# NOTE: do not prepend #! /bin/sh, this script is executed directly via execve()
#
# upgrade-qb2.sh
# script for testing several functions for automatic updates
#
# Shamelessly copied from one of the _opkg.qb2-ene-x.y.z.script.sh scripts by
# Quby, thanks, guys ;-). 
#
#
# This script is invoked by the following URL, in two cases:
#
# preparation:
# http://<URL-of-your-toon>/hcb_config?action=checkFirmwareUpdate&version=9.9.99
#
# execution:
# http://<URL-of-your-toon>/hcb_config?action=doFirmwareUpdate&version=9.9.99
#

# texts for notification screens, edit according to your needs:

INSTALL_SUBJECT="Software installatie"
INSTALL_SUBTITLE="Deze software uit de ToonStore is ge&#239;nstalleerd:"
REMOVAL_SUBJECT="Software verwijdering"
REMOVAL_SUBTITLE="Deze software uit de ToonStore is verwijderd:"

################################################################################
#
# No user-serviceable parts beyond this line
#
################################################################################

TSC_FEED_URL="http://files.domoticaforum.eu/uploads/Toon/apps"
SYNC_FILE=/tmp/install_status

INSTALL_ACTIONS="
	  <actions>
	   <action>
		<type>button</type>
		<btnLabel>Instellingen</btnLabel>
		<btnPos>left</btnPos>
		<cmdName>maximize</cmdName>
		<cmdArg>System.Software</cmdArg>
		<cmdTarget>widget-settings</cmdTarget>
		<returnAfterPress>false</returnAfterPress>
	   </action>
	  </actions>"


export PATH="/sbin:/bin:/usr/sbin:/usr/bin:$PATH"

FEATURES="RTC_WRITE INITTAB_PREPARE EXEC_RESUME CLEAN_OLD_PACKAGES"

SCRIPTPATH=$0
SCRIPTDIR=`dirname $SCRIPTPATH`
SCRIPTNAME=`basename $SCRIPTPATH`
SCRIPTSTATUS=$0.res

# Not all of those are required, but leave them here to be able to see the logic

export HCB_ARCH="$1"  # e.g., qb2
export HCB_FLAV="$2"  # e.g., ene
export HCB_VERS="$3"  # e.g., 3.2.18
export ACTION="$4"    # e.g., execute (possible options: 
                      #                prepare execute execute-resume)

dropboxMessage()
{
    SUBJ="$1"
    SUBT="$2"
    MESG="$3"
    ACTS="$4"
    
    echo ">> dropboxMessage $MESG"
    
    time=`date +%s`
    Message="
	<Config>
	<message>
	 <content>$MESG</content>
	  <subject>$SUBJ</subject>
	  <subtitle>$SUBT</subtitle>
	  <messageType>critical</messageType>
	  <received_t>$time</received_t>
	  <internalAddress>dropboxed_$time</internalAddress>
	  <read_t></read_t>
	  <readMsgSend>1</readMsgSend>
	  <hideOnRemove>0</hideOnRemove>
	  <package>happ_usermsg</package>
	  <type>message</type>
	  <name>upgrade_msg</name>
	  <visibility>1</visibility>$ACTS
	 </message>
	</Config>"
    
    echo "$Message" > /tmp/dropbox_msg.xml
    mv /tmp/dropbox_msg.xml /HCBv2/config/dropbox/
}

statusSet()
{
# STATUS can be any of the following:
#
# preparing
# prepared
# executing
# executed
#
# after the STATUS has been set to executed, all stuff in the temporary 
# directory can be removed.

    STATUS="$1"
    echo "$STATUS" > $SCRIPTSTATUS
    echo "$STATUS" > $SYNC_FILE
    echo ">> `date +'%Y-%m-%d %H:%M:%S %z'` (pid $$), status = $STATUS"
}


getCurrentFW()
{
    # the current FW version is stored in the opkg package listings.
    # Find the line containing the version number and take it apart:

    REF_FILE1=/usr/lib/opkg/info/base-qb2-ene.control
    REF_FILE2=/usr/lib/opkg/info/base-qb2-uni.control

    if [ -f $REF_FILE1 ] ; then
       REF_FILE=$REF_FILE1 
    else
       REF_FILE=$REF_FILE2
    fi

    LINE=`grep Version $REF_FILE | awk {'print $2'}`
    
    export FW_MAJOR=`echo $LINE | awk -F. {'print $1'}`
    export FW_MINOR=`echo $LINE | awk -F. {'print $2'}`
    
    LINE=`echo $LINE | awk -F. {'print $3'}`
    
    export FW_PATCHLEVEL=`echo $LINE | awk -F- {'print $1'}`
    export FW_BUILD=`echo $LINE | awk -F- {'print $2'}`
    export FW_BUILD_REV=`echo $LINE | awk -F- {'print $3'}`
}


getFreeRAM()
{
    # get memory usage from top output
    # toon-specific (busybox, really).

    LINE=`top -n 1 | grep Mem`
    export RAM_USED=`echo $LINE | awk {'print $2'}`
    export RAM_FREE=`echo $LINE | awk {'print $4'}`
    RAM_SHARED=`echo $LINE | awk {'print $6'}`
    RAM_BUFFERED=`echo $LINE | awk {'print $8'}`
    RAM_CACHED=`echo $LINE | awk {'print $10'}`
}


getLoad()
{
    # get load averages for the last 1, 5, and 15 minutes.
    # toon-specific (busybox, really).
    
    LINE=`uptime | awk -F: {'print $5'}`
    export LOAD_1M=`echo $LINE | awk -F, {'print $1'}`
    export LOAD_5M=`echo $LINE | awk -F, {'print $2'}`
    export LOAD_15M=`echo $LINE | awk -F, {'print $3'}`
}


errorExit()
{
    STATUS="$ACTION-error-$1"
    STRING="$2"
    echo "$STATUS" > $SCRIPTSTATUS
    echo ">> `date +'%Y-%m-%d %H:%M:%S %z'` (pid $$) $STATUS '$STRING'"
    exit 1
}


featureEnabled()
{
    # test if this feature is enabled
    echo "$FEATURES" | grep -q "$1"
}


################################################################################
#
# main routine
#
# hcb_config downloads this script and its signature from
# http://feed.hae.int/feeds/qb2/upgrade/upgrade-qb2.sh
#
# after a positive signature check, it gets renamed into 
# _opkg.qb2-ene-9.9.99.script.sh, and stored in /mnt/data/update (or 
# /HCBv2/tmp/opkg-cache on 3.x toons), and is executed.
#
# hcb_config then performs the first step, after a second call, the execution 
# phase is started.
# 
################################################################################

(
    statusSet "$ACTION"

    cd $SCRIPTDIR
    
    PKGCACHE=$SCRIPTDIR
    PACKAGES_TO_INSTALL_FILE=/tmp/packages_to_install.txt
    DEPENDENCIES_TO_INSTALL_FILE=/tmp/dependencies_to_install.txt
    PACKAGES_TO_REMOVE_FILE=/tmp/packages_to_delete.txt

################################################################################

    case $ACTION in
	
	prepare)
	    echo ""
	    echo ">> Welcome to the ToonStore updater,"
	    echo ">> brought to you by the Toonroot Software Collective (TSC)" 
	    echo ">>"
	    echo ">> `date +'%Y-%m-%d %H:%M:%S %z'` (pid $$) $SCRIPTNAME $@"
	    echo ""
	    
	    statusSet "preparing"
	    getCurrentFW ""
	    echo ">> Firmware version: $FW_MAJOR.$FW_MINOR.$FW_PATCHLEVEL, build $FW_BUILD, rev $FW_BUILD_REV."
	    getLoad ""
	    echo ">> System load     : $LOAD_1M"
	    getFreeRAM ""
	    echo ">> Free RAM        : $RAM_FREE"

	    echo ">> Flushing file system buffers and cache ..."
	    sync
	    echo 3 > /proc/sys/vm/drop_caches	
  	    getFreeRAM ""
	    echo ">> Free RAM now    : $RAM_FREE"
  
	    # Hotfix for writing System Time to RTC (ET-794)
	    if featureEnabled RTC_WRITE
	    then
		echo ">> Hotfix for writing System Time to RTC"
		echo "Hardware Clock before: `hwclock --show`"
		# here we know the system time is ok: 
		# script downloaded -> internet -> hae-timesync
		hwclock --systohc --utc
		echo "Hardware Clock after : `hwclock --show`"
	    fi
	    
	    # Remove stale opkg cache entries
	    # All entries generated with this script start with tsc, entries 
	    # from quby should remain intact.

	    rm /var/lib/opkg/tsc*

	    # make sure $PACKAGES_TO_INSTALL_FILE is written

	    sync

	    # Get packages to process, and download.
	    # Packages marked for deletion will be removed immediately,
	    # packages marked for installion will be installed in the execution
	    # phase.

	    INSTALL_PACKAGES=""
	    INSTALL_PACKAGE_LIST=""
	    INSTALL_DEPENDENCIES=""
	    REMOVAL_PACKAGES=""
	    REMOVAL_PACKAGE_LIST=""

	    if [ -f $PACKAGES_TO_INSTALL_FILE -o \
		 -f $PACKAGES_TO_REMOVE_FILE ] ; then
 
		if [ -f $PACKAGES_TO_INSTALL_FILE ] ; then
		    
		    INSTALL_PACKAGES=`cat $PACKAGES_TO_INSTALL_FILE`
		    
		    echo ">> Installing $INSTALL_PACKAGES"
		    
		    # set correct feed location for initial install, clean up 
		    # before writing anew.

		    rm -f /etc/opkg/*-feed.conf /usr/lib/opkg/lists/*
		    sync

		    # opkg update reads the Packages info file(s) and 
		    # signatures from the repositories defined below. The 
		    # Packages and Packages.sig files are then transferred to  
		    # /var/lib/opkg, and renamed to reflect the repository 
		    # names (tsc1, tsc1.sig, tsc2, etc., in this case).
  
		    echo ">> Extracting packages from the following repo('s):"

		    COUNTER=0

		    for PACKAGE in $INSTALL_PACKAGES ; 
		    do
			let COUNTER=COUNTER+1
			echo "src/gz tsc$COUNTER ${TSC_FEED_URL}/$PACKAGE"
			echo "src/gz tsc$COUNTER ${TSC_FEED_URL}/$PACKAGE"  \
			    >> /etc/opkg/tsc-feed.conf
			INSTALL_PACKAGE_LIST="${INSTALL_PACKAGE_LIST}${PACKAGE}BR"

			# check for presence of dependencies
			DEPENDENCIES=""
			DEPENDENCIES="`wget -q "${TSC_FEED_URL}/$PACKAGE/dependencies.txt" -O -`"
			if [ "$DEPENDENCIES" ] ; then
			    echo">> dependencies found: $DEPENDENCIES"
			    for DEP in $DEPENDENCIES ;
			    do
				let COUNTER=COUNTER+1
				echo "src/gz tsc$COUNTER ${TSC_FEED_URL}/../pkgs/$DEP"
				echo "src/gz tsc$COUNTER ${TSC_FEED_URL}/../pkgs/$DEP"  \
			    >> /etc/opkg/tsc-feed.conf
				echo -n "$DEP " >> $DEPENDENCIES_TO_INSTALL_FILE
			    done
			fi
		    done
		    sync

		    echo ">> configured opkg feeds:"
		    cat /etc/opkg/*-feed.conf
		    
		    # get package list(s)
	    
		    echo ">> opkg update"
		    opkg update 2>&1; EXITCODE=$?
		    
		    [ "$EXITCODE" != "0" ] && \
			errorExit "opkg-update" \
			"Exit code $EXITCODE for: opkg update"

		    # Package repodata read and stored, now get the packages
		    
		    echo ">> Package cache: $PKGCACHE"

		    # merge packages and dependencies

		    for PACKAGE in $INSTALL_PACKAGES ; 
		    do
			PACKAGE_SHORT_NAME=`echo $PACKAGE | awk -F- '{OFS="-";NF--;print $0;}' `
			echo ">> opkg --cache $PKGCACHE install --download-only $PACKAGE_SHORT_NAME"
			opkg --cache $PKGCACHE install --download-only \
			    $PACKAGE_SHORT_NAME  2>&1; \
			    EXITCODE=$?
		    done

		    INSTALL_PACKAGES=`cat $DEPENDENCIES_TO_INSTALL_FILE`
		    
		    for PACKAGE in $INSTALL_PACKAGES ; 
		    do
#			PACKAGE_SHORT_NAME=`echo $PACKAGE | awk -F- 'awk -F- '{ print $1 }' `
			PACKAGE_SHORT_NAME=`echo $PACKAGE | awk -F- '{OFS="-";NF--;print $0;}' `
			echo ">> opkg --cache $PKGCACHE install --download-only $PACKAGE_SHORT_NAME"
			opkg --cache $PKGCACHE install --download-only \
			    $PACKAGE_SHORT_NAME  2>&1; \
			    EXITCODE=$?
		    done

		    # intermediate cleanup
		    
		    rm -rf /tmp/opkg-*
		    
		    # ensure the log greps below always work
		    
		    sync 
		    
		    # error handling
		    
		    (  # error handler subshell start
			if [ "$EXITCODE" != "0" ]
			then
			    # * opkg_install_pkg: Package xxx md5sum mismatch. 
			    # Either the opkg or the package index are corrupt. 
			    if tail -n20 $SCRIPTPATH.log | \
				grep -q 'md5sum mismatch'
			    then
				rm -f $PKGCACHE/*.ipk
				errorExit "opkg-upgrade-md5sum" \
				    "opkg upgrade found an md5sum mismatch: removed *.ipk!"
			    fi
		
			    # * opkg_download: Failed to download http://...ipk: 
			    # Timeout was reached.				
			    # * opkg_download: Failed to download http://...ipk: 
			    # Couldn't connect to server.
			    if tail -n20 $SCRIPTPATH.log | \
				grep -q 'Failed to download'
			    then
				errorExit "opkg-update-download" \
				    "opkg update download failed"
			    fi

			    if tail -n20 $SCRIPTPATH.log | grep -q \
				'Cannot satisfy the following dependencies for'
			    then
				# never mind, dependencies should be fulfilled 
				# through proper packaging.
				
				echo "dependency check failed, carrying on ..." 
				exit	    
			    fi
		
			    # generic error
			    errorExit "opkg-update" \
				"Exit code $EXITCODE for: opkg install --download-only"
			fi
		    ) #error handler subshell end

		    echo ">> downloaded:"
		    du -ch $PKGCACHE/*.ipk | grep total

		    # notify the user

		    INSTALL_MESSAGE="${INSTALL_PACKAGE_LIST}BRBekijk de berichten voor deze software voor informatie over eventuele configuratie."

		    dropboxMessage "$INSTALL_SUBJECT" "$INSTALL_SUBTITLE" \
			"$INSTALL_MESSAGE" "$INSTALL_ACTIONS"

		else

		    echo ">> no packages to be installed"

		fi    
		
		if [ -f $PACKAGES_TO_REMOVE_FILE ] ; then
		    
		    REMOVAL_PACKAGES=`cat $PACKAGES_TO_REMOVE_FILE`
		    
		    echo ">> Removing $REMOVAL_PACKAGES"

		    # do more or less the same for the removal of packages:

		    for PACKAGE in $REMOVAL_PACKAGES ; 
		    do
			PACKAGE_SHORT_NAME=`echo $PACKAGE | awk -F- '{OFS="-";NF--;print $0;}' `
			REMOVAL_PACKAGE_LIST="${REMOVAL_PACKAGE_LIST}${PACKAGE}BR"
			echo ">> opkg remove $PACKAGE_SHORT_NAME"
			opkg remove $PACKAGE_SHORT_NAME  2>&1; \
			    EXITCODE=$?
		    done

		    # Error handling not yet implemented

		    sync

		    # post a message, and yes, $INSTALL_ACTIONS is correct here:
		    
		    REMOVAL_MESSAGE="${REMOVAL_PACKAGE_LIST}BR"

		    dropboxMessage "$REMOVAL_SUBJECT" "$REMOVAL_SUBTITLE" \
			"$REMOVAL_MESSAGE" "$INSTALL_ACTIONS"

		else
		    echo ">> no packages to be removed"
		fi    

	    else
		echo ">> no packages to process, exiting .. "
		exit
	    fi	

	    sync

	    statusSet "prepared"
	    
	    ;;

###############################################################################	

	execute|execute-resume)

	    statusSet "executing"
	    
	    # Handle dependencies first, main packages follow later on.

	    if [ -f $DEPENDENCIES_TO_INSTALL_FILE ] ; then
		INSTALL_PACKAGES=`cat $DEPENDENCIES_TO_INSTALL_FILE`
		
		for PACKAGE in $INSTALL_PACKAGES ; 
		do
		    PACKAGE_SHORT_NAME=`echo $PACKAGE | awk -F- '{OFS="-";NF--;print $0;}' `
		    echo ">> opkg --cache $PKGCACHE install $PACKAGE_SHORT_NAME"
		    opkg --cache $PKGCACHE install $PACKAGE_SHORT_NAME  2>&1; \
			EXITCODE=$?
		done

		
	    # Hmm, needs some error handling ...

	    fi

	    # re-read install packages list, and install.
   
	    if [ -f $PACKAGES_TO_INSTALL_FILE ] ; then
		INSTALL_PACKAGES=`cat $PACKAGES_TO_INSTALL_FILE`
		
		for PACKAGE in $INSTALL_PACKAGES ; 
		do
		    PACKAGE_SHORT_NAME=`echo $PACKAGE | awk -F- '{OFS="-";NF--;print $0;}' `
		    echo ">> opkg --cache $PKGCACHE install $PACKAGE_SHORT_NAME"
		    opkg --cache $PKGCACHE install $PACKAGE_SHORT_NAME  2>&1; \
			EXITCODE=$?
		done

		
	    # Hmm, needs some error handling ...

	    fi

	    # clean up

	    if [ -f $DEPENDENCIES_TO_INSTALL_FILE ] ; then
		echo ">> deleting $DEPENDENCIES_TO_INSTALL_FILE"
		rm $DEPENDENCIES_TO_INSTALL_FILE
	    fi
	    if [ -f $PACKAGES_TO_INSTALL_FILE ] ; then
		echo ">> deleting $PACKAGES_TO_INSTALL_FILE"
		rm $PACKAGES_TO_INSTALL_FILE
	    fi
	    if [ -f $PACKAGES_TO_REMOVE_FILE ] ; then
		echo ">> deleting $PACKAGES_TO_REMOVE_FILE"
		rm $PACKAGES_TO_REMOVE_FILE
	    fi

	    echo ">> reinstating cache handling (default 0)"
	    echo 0 > /proc/sys/vm/drop_caches	

	    if [ -f $SYNC_FILE ] ; then
		echo ">> deleting $SYNC_FILE"
		rm $SYNC_FILE
	    else
		echo ">> no $SYNC_FILE found, shouldn't happen"
	    fi
	
	    echo ">> deleting all in $PKGCACHE"
	    echo ">> (this may give some errors, no problem here ...)"
	    rm $PKGCACHE/*.ipk
	    rm $PKGCACHE/*.sh
	    rm $PKGCACHE/*.sh.sig
#	    rm $PKGCACHE/*


	    statusSet "executed"
	    rm $PKGCACHE/*.sh.res
	    sync

	    # Restart http daemon, qt-gui and hcb_config, to activate the 
	    # new installations/removals. Needs to be the last comand in the 
	    # update. These commands need to remain on a SINGLE line

	    echo ">> Restarting qt-gui and hcb_config ..."
	    killall qt-gui ; killall hcb_config
		
	    ;;

###############################################################################	

	*)
	    echo ">> Unknown ACTION arg! Aborting."
	    errorExit "unknown-action" "Unknown ACTION arg! Aborting."

	    ;;
    esac

) </dev/null >>$SCRIPTPATH.log 2>&1
TheHogNL
Forum Moderator
Forum Moderator
Posts: 2125
Joined: Sun Aug 20, 2017 8:53 pm

Re: Toon firmware - update script

Post by TheHogNL »

Ok that's the toonstore update file which is served locally from your toon. That means your VPN is not working or your /etc/hosts file isn't update automatically by the VPN.
Please post the content of your /etc/hosts file.
Member of the Toon Software Collective
DyArt
Starting Member
Starting Member
Posts: 11
Joined: Thu Jun 07, 2018 8:38 pm

Re: Toon firmware - update script

Post by DyArt »

my hosts file:

Code: Select all

# <persistent /etc/hosts content from /etc/hosts.template file>
127.0.0.1  ping.quby.nl
127.0.0.1  localhost.localdomain localhost toon
127.0.0.1  feed.hae.int feed
# </persistent /etc/hosts content from /etc/hosts.template file>
127.0.0.1		localhost.localdomain		localhost		eneco-001-015099
172.18.80.1		feed.hae.int		feed
Toonz
Forum Moderator
Forum Moderator
Posts: 1876
Joined: Mon Dec 19, 2016 1:58 pm

Re: Toon firmware - update script

Post by Toonz »

You have a double entry for feed.hae.int
Remove the line referring to 127.0.0.1 for this url
member of the Toon Software Collective
TheHogNL
Forum Moderator
Forum Moderator
Posts: 2125
Joined: Sun Aug 20, 2017 8:53 pm

Re: Toon firmware - update script

Post by TheHogNL »

Yes indeed. When enabled, openvpn will change the 'feed.hae.int' entry in your /etc/hosts file to point to the correct IP within the VPN. However your another entry for feed.hae.int in your hosts file (which points to localhost, necessary for toonstore). You can't have two of the same in the hosts file.

Please change to:

Code: Select all

# <persistent /etc/hosts content from /etc/hosts.template file>
127.0.0.1  ping.quby.nl
127.0.0.1      localhost.localdomain      localhost      eneco-001-015099
172.18.80.1      feed.hae.int      feed
And rerun the script.
Member of the Toon Software Collective
DyArt
Starting Member
Starting Member
Posts: 11
Joined: Thu Jun 07, 2018 8:38 pm

Re: Toon firmware - update script

Post by DyArt »

Yes I saw it in the hosts file. I will remove the entries in the hosts.template and make the hosts file as suggested and try it again later today
DyArt
Starting Member
Starting Member
Posts: 11
Joined: Thu Jun 07, 2018 8:38 pm

Re: Toon firmware - update script

Post by DyArt »

After changing the hosts file everything went well and have I succesfully upgraded my toon
TheHogNL
Forum Moderator
Forum Moderator
Posts: 2125
Joined: Sun Aug 20, 2017 8:53 pm

Re: Toon firmware - update script

Post by TheHogNL »

Nice!
Member of the Toon Software Collective
glsf91
Member
Member
Posts: 184
Joined: Fri Sep 15, 2017 9:25 pm

Re: Toon firmware - update script

Post by glsf91 »

By accident I interrupted the script when starting the upgrade.

Log:

Code: Select all

eneco-001-130337:~# cat /mnt/data/update/upgrade-qb2.sh.log

>> 2018-09-21 08:16:32 +0000 (pid 30955) upgrade-qb2.sh qb2 ene 4.10.6 prepare

>> 2018-09-21 08:16:32 +0000 (pid 30955) prepare
>> 2018-09-21 08:16:32 +0000 (pid 30955) preparing
>> Hotfix for writing System Time to RTC
Hardware Clock before: Fri Sep 21 08:16:32 2018  0.000000 seconds
Hardware Clock after : Fri Sep 21 08:16:32 2018  0.000000 seconds
>> configured opkg feeds:
src/gz base http://feed.hae.int/feeds/qb2/ene/4.10.6
src/gz oebase http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni
src/gz oekern http://feed.hae.int/feeds/qb2/oe/2.6.36-R10-h27-no6
>> opkg --cache /mnt/data/update --download-only update
>> monitoring /mnt/data/update for threshold 5000
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/Packages.gz.
Inflating http://feed.hae.int/feeds/qb2/ene/4.10.6/Packages.gz.
Updated list of available packages in /var/lib/opkg/base.
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/Packages.sig.
Signature check passed.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/Packages.gz.
Inflating http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/Packages.gz.
Updated list of available packages in /var/lib/opkg/oebase.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/Packages.sig.
Signature check passed.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-R10-h27-no6/Packages.gz.
Inflating http://feed.hae.int/feeds/qb2/oe/2.6.36-R10-h27-no6/Packages.gz.
Updated list of available packages in /var/lib/opkg/oekern.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-R10-h27-no6/Packages.sig.
Signature check passed.
> Exit code: 0
>> opkg --cache /mnt/data/update --download-only upgrade
>> monitoring /mnt/data/update for threshold 5000
/tmp/update.status.vars: Downloading 0% (1/163)
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hcb-netcon_1.346-master_qb2.ipk.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/qmf-tenantize_0.1-r0_qb2.ipk.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/gettext_0.18-r5_qb2.ipk.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/libgettextsrc_0.18-r5_qb2.ipk.
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/libgettextlib_0.18-r5_qb2.ipk.
/tmp/update.status.vars: Downloading 0% (1/163) hcb-netcon
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-pwrusage_1.674-master_qb2.ipk.
/tmp/update.status.vars: Downloading 0% (2/163) happ-pwrusage
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/boot-logos_1.71_qb2.ipk.
/tmp/update.status.vars: Downloading 1% (4/163) boot-logos
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/busybox-mountall_1.27.2-r1_qb2.ipk.
/tmp/update.status.vars: Downloading 2% (5/163) busybox-mountall
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/busybox-syslog_1.27.2-r1_qb2.ipk.
/tmp/update.status.vars: Downloading 4% (8/163) busybox-syslog
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/busybox_1.27.2-r1_qb2.ipk.
/tmp/update.status.vars: Downloading 7% (14/163) busybox
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/libhcb-drv_1.342-master_qb2.ipk.
/tmp/update.status.vars: Downloading 11% (20/163) libhcb-drv
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-kpi_1.406-master_qb2.ipk.
/tmp/update.status.vars: Downloading 12% (22/163) happ-kpi
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hcb-rrd_2.159-master_qb2.ipk.
/tmp/update.status.vars: Downloading 15% (26/163) hcb-rrd
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hcb-comm_1.184-N-master_qb2.ipk.
/tmp/update.status.vars: Downloading 16% (28/163) hcb-comm
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/libhcb-xml_1.111-master_qb2.ipk.
/tmp/update.status.vars: Downloading 23% (40/163) libhcb-xml
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/qt-gui_1.8075-ene-release-4.10_qb2.ipk.
/tmp/update.status.vars: Downloading 27% (47/163) qt-gui
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/wpa-supplicant-cli_2.6-r0_qb2.ipk.
/tmp/update.status.vars: Downloading 28% (48/163) wpa-supplicant-cli
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hcb-bxtproxy_1.349-master_qb2.ipk.
/tmp/update.status.vars: Downloading 34% (57/163) hcb-bxtproxy
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hdrv-zwave_1.1284-master_qb2.ipk.
/tmp/update.status.vars: Downloading 37% (63/163) hdrv-zwave
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/base-qb2-ene_4.10.6-1196-0_qb2.ipk.
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/tenant-eneco-nl_1.14-master_all.ipk.
/tmp/update.status.vars: Downloading 38% (64/163) base-qb2-ene
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-eventmgr_1.212-master_qb2.ipk.
/tmp/update.status.vars: Downloading 40% (68/163) happ-eventmgr
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-usermsg_1.87-master_qb2.ipk.
/tmp/update.status.vars: Downloading 43% (73/163) happ-usermsg
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-weather_1.147-master_qb2.ipk.
/tmp/update.status.vars: Downloading 51% (85/163) happ-weather
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/libhcb-boxtalk_1.123-master_qb2.ipk.
/tmp/update.status.vars: Downloading 51% (86/163) libhcb-boxtalk
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/wpa-supplicant_2.6-r0_qb2.ipk.
/tmp/update.status.vars: Downloading 52% (88/163) wpa-supplicant
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-smartplug_1.203-master_qb2.ipk.
/tmp/update.status.vars: Downloading 66% (110/163) happ-smartplug
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hcb-log_1.79-master_qb2.ipk.
/tmp/update.status.vars: Downloading 67% (112/163) hcb-log
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hdrv-p1_1.724-master_qb2.ipk.
/tmp/update.status.vars: Downloading 74% (123/163) hdrv-p1
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hdrv-hue_1.221-master_qb2.ipk.
/tmp/update.status.vars: Downloading 74% (124/163) hdrv-hue
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-thermstat_1.1919-release-4.10_qb2.ipk.
/tmp/update.status.vars: Downloading 83% (139/163) happ-thermstat
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/libhcb-base_1.293-master_qb2.ipk.
/tmp/update.status.vars: Downloading 89% (148/163) libhcb-base
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/happ-scsync_1.267-master_qb2.ipk.
/tmp/update.status.vars: Downloading 91% (151/163) happ-scsync
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/libhcb-com_1.124-N-master_qb2.ipk.
/tmp/update.status.vars: Downloading 91% (152/163) libhcb-com
Downloading http://feed.hae.int/feeds/qb2/oe/2.6.36-base-r14-uni/wpa-supplicant-passphrase_2.6-r0_qb2.ipk.
/tmp/update.status.vars: Downloading 92% (154/163) wpa-supplicant-passphrase
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hcb-config_1.331-master_qb2.ipk.
/tmp/update.status.vars: Downloading 96% (160/163) hcb-config
Downloading http://feed.hae.int/feeds/qb2/ene/4.10.6/../../POOL/hcb-watchdog_1.69-master_qb2.ipk.
/tmp/update.status.vars: Downloading 100% (163/163) hcb-watchdog
/tmp/update.status.vars: Downloading 100% (163/163)
> Exit code: 0
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
ar: invalid ar magic
Packages compressed size: 8400 kB
Packages uncompressed size: 18386 kB
Required space: 18486 kB
Available space: 40112 kB
>> 2018-09-21 08:21:04 +0000 (pid 30955) prepared
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:03:09 --:--:--     0curl: (7) Failed to connect to feed.hae.int port 31080: Connection timed out
>> 2018-09-21 08:24:15 +0000 (pid 30955) exit-0 prepare-ok-upgrade-qb2.sh 'qb2 ene 4.10.6 prepare'

>> 2018-09-21 08:25:35 +0000 (pid 32192) upgrade-qb2.sh qb2 ene 4.10.6 execute

>> 2018-09-21 08:25:35 +0000 (pid 32192) execute
>> 2018-09-21 08:25:35 +0000 (pid 32192) executing
>> Logging "Upgrading application software from version '4.8.25' to 'qb2/ene/4.10.6'." to 99_DEBUG.log.json
>> Sending InitiatePreExit to hcb_config.
>> Creating /etc/rcS.d/S40upgrade-execute-resume.sh with args 'qb2 ene 4.10.6 execute-resume'
>> Sleep 2, give time to return 'upgrade started' messages to UI
>> Stopping HCBv2 apps + prevent restart...
HCBv2 apps stopped via runlevels, performing 'addstartables && reload && init 2'.
HCBv2 adding: comm eventmgr kpi pwrusage scsync smartplug thermstat usermsg bxtproxy config log rrd watchdog p1 zwave lighttpd.
HCBv2 startables unchanged, not writing /etc/inittab.
HCBv2 DBG running 'telinit 2'
>> Disabling watchdog /dev/watchdog
>> opkg --cache /mnt/data/update install firmware-zwave-ctrlr --nodeps
Interrupted. Writing out status database.
Toon is now showing Herstarten on a black screen for a while.

How can I continue or start over again?
TheHogNL
Forum Moderator
Forum Moderator
Posts: 2125
Joined: Sun Aug 20, 2017 8:53 pm

Re: Toon firmware - update script

Post by TheHogNL »

Just rerun the script will probably work fine. If not try the script in "/etc/rcS.d/S40upgrade-execute-resume.sh"
Member of the Toon Software Collective
glsf91
Member
Member
Posts: 184
Joined: Fri Sep 15, 2017 9:25 pm

Re: Toon firmware - update script

Post by glsf91 »

Edit: everything is up and running again.
Thanks.
Rogge@partydome.nl
Starting Member
Starting Member
Posts: 1
Joined: Sun Sep 23, 2018 11:13 pm

Re: Toon firmware - update script

Post by Rogge@partydome.nl »

Using script version v3.04, it failed to update my 2.9.26 Toon

Error in de logs start with:

Code: Select all

Collected errors:
 * opkg_download_pkg: Package libhcb-base is not available from any configured src.
 * opkg_install_pkg: Failed to download libhcb-base. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package happ-pwrusage is not available from any configured src.
 * opkg_install_pkg: Failed to download happ-pwrusage. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package libhcb-drv is not available from any configured src.
 * opkg_install_pkg: Failed to download libhcb-drv. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package happ-kpi is not available from any configured src.
 * opkg_install_pkg: Failed to download happ-kpi. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package hcb-comm is not available from any configured src.
 * opkg_install_pkg: Failed to download hcb-comm. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package www-resources is not available from any configured src.
 * opkg_install_pkg: Failed to download www-resources. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package libhcb-base is not available from any configured src.
 * opkg_install_pkg: Failed to download libhcb-base. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package hdrv-zwave is not available from any configured src.
 * opkg_install_pkg: Failed to download hdrv-zwave. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package happ-eventmgr is not available from any configured src.
 * opkg_install_pkg: Failed to download happ-eventmgr. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package happ-usermsg is not available from any configured src.
 * opkg_install_pkg: Failed to download happ-usermsg. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package libhcb-base is not available from any configured src.
 * opkg_install_pkg: Failed to download libhcb-base. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package libhcb-boxtalk is not available from any configured src.
 * opkg_install_pkg: Failed to download libhcb-boxtalk. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package hdrv-p1 is not available from any configured src.
 * opkg_install_pkg: Failed to download hdrv-p1. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package hdrv-hue is not available from any configured src.
 * opkg_install_pkg: Failed to download hdrv-hue. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package happ-thermstat is not available from any configured src.
 * opkg_install_pkg: Failed to download happ-thermstat. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package firmware-ba is not available from any configured src.
 * opkg_install_pkg: Failed to download firmware-ba. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package libhcb-base is not available from any configured src.
 * opkg_install_pkg: Failed to download libhcb-base. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package happ-scsync is not available from any configured src.
 * opkg_install_pkg: Failed to download happ-scsync. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package sysvinit is not available from any configured src.
 * opkg_install_pkg: Failed to download sysvinit. Perhaps you need to run 'opkg update'?
 * opkg_download_pkg: Package libhcb-drv is not available from any configured src.
 * opkg_install_pkg: Failed to download libhcb-drv. Perhaps you need to run 'opkg update'?
> Exit code: 255
>> 2018-09-23 21:08:17 +0000 (pid 9243) prepare-error-opkg-download-download 'opkg failed to download'
The files are downloaded fine (/tmp/update.status.vars: Downloading 100% (162/162)), but when downloading finishes the error on 'Package xxxx is not available' shows in the logs.

Might be the problem that the old firmware have an other file-structure?

Help would be appreciated.
Post Reply

Return to “Toon Firmware”