Page 4 of 7

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Sun Jan 12, 2014 8:56 pm
by juusso
yes, maybe because of timestam, access, modify dates.

i will check for rc.local (downloading T-VALDEUC-3011.0 from samsung server, sloow..)

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Sun Jan 12, 2014 9:09 pm
by hedak
Thank you very much!

BTW, have a look at the /etc/rc.local script:

Code: Select all

#
# run exeDSP
#

if [ -f /mtd_exe/exeDSP ]; then
        echo "Application is started.."
        /mtd_exe/rc.local
else
        echo "Application executable is not found.."
fi

##executable stopped. try to handle emergency state###

if [ -e $UPGRADE_FLAG  ]; then

    echo "SW image is stopped.."
    exit 1

else

#############################emergency handling##############################
echo "Application running is failed..try to do emergency state handling"

if [ "$UseSecondPartition" = "true" ]; then
        if [ -e $PARTITION_CHECK_1ST ]; then
                echo "no sub SW image...going shutdown"
                $MICOM_BASE/shutdown
        else
#               echo "rollback to 1.."
                echo "current partition 2nd is corrupted. roll back to sub parti                                                                             tion 1st"
        rm -f $PARTITION_VERSION_2ND
        touch $PARTITION_CHECK_2ND
                sync
                $MICOM_BASE/toggle
        fi
else
        if [ -e $PARTITION_CHECK_2ND ]; then
                echo "no sub SW image...going shutdown"
                $MICOM_BASE/shutdown
        else
#               echo "rollback to 2.."
                echo "current partition 1st is corrupted. roll back to sub parti                                                                             tion 2nd"
        rm -f $PARTITION_VERSION_1ST
        touch $PARTITION_CHECK_1ST
                sync
                $MICOM_BASE/toggle
        fi
fi

echo "reboot system..."
$MICOM_BASE/reboot

#############################emergency handling##############################
where $UPGRADE_FLAG is '/mtd_rwarea/UPGRADE_FLAG'. Do you know anything about this file? I mean, if i delete it, there is at least a kind of hope to toggle automatically instead of rebooting immediately...

PS: Let's go on tomorrow, my head is smoking :D

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Sun Jan 12, 2014 9:12 pm
by juusso
your both exe.img partitions have wrong hashes, this always will trigger authuld to reboot.

p.s. you know, that you are on stl0/15 and you have to modify 0/17 + switch to 2nd set of partitions by toggle or by micom eeprom edit. just then you will see result.

I have felling about file inode, which is changed and this can have influence to hash. Let`s see..

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Sun Jan 12, 2014 9:35 pm
by hedak
One more idea for today:

I will have to touch /mtd_exe/rc.local of 'main' partition. The content is most probably uninteresting as authuld will shutdown after a while. I checked: from loading /mtd_exe/rc.local until shutdown there are at least 40 seconds. What about reflashing this (or the others partition) /mtd_exe initiated in /mtd_exe/rc.local? So the question is: Are 40 seconds enough to flash /mtd_exe?

Thank you very much for your great support and patience :)

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Sun Jan 12, 2014 9:46 pm
by juusso
worth to try! just please, don't damage both partitions completely. You have to modify rc.local of current active partition to get reflashed stl0/17

possible 40 sek is enough.

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Sun Jan 12, 2014 10:09 pm
by hedak
Jup, i knew :) Tomorrow i will make a plan how to implement that process

Have a good night and see you tomorrow (i hope) :)

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Mon Jan 13, 2014 5:45 am
by juusso
first try to make dump of stl17 to /mtd_swu (better speed than to usb) and next copy it from there to usb (make sure usb drivers are up at the moment of rc.local start.

ATM I'm on phone, later give some example.

Use custom start.sh (set chmod +x it!) with proper LD LIBRARY PATH and from this start.sh call another script in background for required repair jobs. Then no need to touch neither rc.local nor start.sh anymore. Like run.sh but it runs early.

If dump success, then time for flashing also should be enough
btw, from full dump i could calculate hash and we need then just to write bml0/9 which is only 256Kb...

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Mon Jan 13, 2014 8:06 am
by hedak
Yes, i will try to copy the stl17 dump to usb. But as i remember correctly copying exeDSP (nearly the same size) took 5 to 10 minutes... However, i will use the start.sh. You are talking about the '&' at the end of the script call in start.sh, right? I will see, if enough cpu ressources are left then, but that's the best way i think :)

However, it took hours to sleep last night because i still thought about a solution and came to correcting the hash too :D I think about doing it on SoC using this tool viewtopic.php?f=12&t=1756
Then i only needed to do something like:

Code: Select all

./samsung_hash /dev/stl0/17 > hash_for_dev_bml0_9
cat hash_for_dev_bml0_9 > /dev/bml0/9
But i coudn't download it :/

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Mon Jan 13, 2014 9:05 am
by juusso
Be careful with samsung_hash tool, don`t perform second command. It is enough just to calculate hashes. I will manually edit hash file and flash it with bml.restore.
samsung_hash.zip

Code: Select all

./samsung_hash /dev/stl0/15 > ./hash_for_dev_bml0_9
./samsung_hash /dev/stl0/17 > ./hash_for_dev_bml0_10
Give me files to inspect. Thanks.
This is how start.sh should look like:

Code: Select all

#!/bin/sh
#Run custom script

if [ -e /mtd_rwarea/SamyGO.sh ]; then
    echo "SamyGO custom script found!"
	chmod +x /mtd_rwarea/SamyGO.sh
    /mtd_rwarea/SamyGO.sh &
fi

export MAPLE_DEFAULT_PATH=/mtd_cmmlib/InfoLink/lib
export MAPLE_MANAGER_WIDGET_PATH=/mtd_down/widgets/manager
export MAPLE_NORMAL_WIDGET_PATH=/mtd_down/widgets/normal
export MAPLE_WIDGET_DATA_PATH=/mtd_down
export MAPLE_WIDGET_INCLUDE_PATH=/mtd_down/widgets/inc
export MAPLE_PLUGIN_DATA_PATH=/mtd_cmmlib/InfoLink/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mtd_cmmlib/YWidget_LIB:/mtd_contents:/mtd_cmmlib/InfoLink/lib/plugin/Static:/mtd_appdata/yahoo:/mtd_appdata/moip:/mtd_cmmlib/Comp_LIB:/mtd_cmmlib/GAME_LIB:/mtd_appdata/gemstar:/mtd_cmmlib/DRM_LIB:/Java/lib:/mtd_cmmlib/InfoLink/lib:/dtv

export HOME=/mtd_moip
export KF_SLEEP_READ=-2
echo 30000 > /mtd_rwarea/DelayValue.txt
#touch /mtd_rwarea/DoPrintYahoo.txt
export KF_NO_INTERACTIVE=1
export KF_LOG=/dev/null #Remove engine logging.
export KF_DATA_DIR=/mtd_yahoo/yahoo
export KF_THREAD_PRIORITY=20
export KF_NO_LOG=1
export KF_NO_CRASHHANDLERS=1
export KF_HF_WRITE_PATH=/mtd_rwarea/yahoo
cd /mtd_exe/

./exeDSP
Added USB initializing stuff to script. Maybe it will save some seconds?
/mtd_rwarea/SamyGO.sh:

Code: Select all

#!/bin/sh
#
#put your code here if no need USB:


#Load USB modules, moved from 8282119
echo "Check usb module insmod status"
MOD_FLAG=$(lsmod | grep ehci)
if [ "$MOD_FLAG" != "" ]; then
	echo "usb modules exist"
else
	echo "usb modules not exist try to insmod"
    /sbin/gpio 11 2 out 1
    insmod /lib/modules/usbcore.ko
    insmod /lib/modules/ohci-hcd.ko
    insmod /lib/modules/ehci-hcd.ko
    insmod /lib/modules/usb-storage.ko
    sleep 1
fi

echo "Usb mount for write speed"
	mount -t vfat /dev/sda1 /dtv/usb/sda1

Re: Cycle reboot UE46C7700 - T-VALDEUC

Posted: Mon Jan 13, 2014 7:55 pm
by hedak
Big THX for your preparation :)

Finally i got the output of samsung_hash using your SamyGO.sh (attached). I modified the start.sh to fit the /dev/stl0/15/rc.lcoal:

Code: Select all

#!/bin/sh
#Run custom script

if [ -e /mtd_rwarea/SamyGO.sh ]; then
    echo "SamyGO custom script found!"
	chmod +x /mtd_rwarea/SamyGO.sh
    /mtd_rwarea/SamyGO.sh &
fi

export MAPLE_DEFAULT_PATH=/mtd_cmmlib/InfoLink/lib
export MAPLE_MANAGER_WIDGET_PATH=/mtd_down/widgets/manager
export MAPLE_NORMAL_WIDGET_PATH=/mtd_down/widgets/normal
export MAPLE_WIDGET_DATA_PATH=/mtd_down
export MAPLE_WIDGET_INCLUDE_PATH=/mtd_down/widgets/inc
export MAPLE_PLUGIN_DATA_PATH=/mtd_cmmlib/InfoLink/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mtd_cmmlib/YWidget_LIB:/mtd_contents:/mtd_cmmlib/InfoLink/lib/plugin/Static:/mtd_appdata/yahoo:/mtd_appdata/moip:/mtd_cmmlib/Comp_LIB:/mtd_cmmlib/GAME_LIB:/mtd_appdata/gemstar:/mtd_cmmlib/DRM_LIB:/Java/lib:/mtd_cmmlib/InfoLink/lib

export HOME=/mtd_moip
export KF_SLEEP_READ=-2
echo 30000 > /mtd_rwarea/DelayValue.txt
#touch /mtd_rwarea/DoPrintYahoo.txt
export KF_NO_INTERACTIVE=1
export KF_LOG=/dev/null #Remove engine logging.
cd /mtd_exe/

./exeDSP
Before calculating the hashes i corrected /dev/stl0/17/rc.local with (that took hours until i noticed that i had to umount to take the change effect):

Code: Select all

#!/bin/sh
#hedak: changed variant of /dev/stl0/15

if [ -e /mtd_rwarea/start.sh ]; then
    echo "user start.sh found!"
    /mtd_rwarea/start.sh
fi

export MAPLE_DEFAULT_PATH=/mtd_cmmlib/InfoLink/lib
export MAPLE_MANAGER_WIDGET_PATH=/mtd_down/widgets/manager
export MAPLE_NORMAL_WIDGET_PATH=/mtd_down/widgets/normal
export MAPLE_WIDGET_DATA_PATH=/mtd_down
export MAPLE_WIDGET_INCLUDE_PATH=/mtd_down/widgets/inc
export MAPLE_PLUGIN_DATA_PATH=/mtd_cmmlib/InfoLink/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mtd_cmmlib/YWidget_LIB:/mtd_contents:/mtd_cmmlib/InfoLink/lib/plugin/Static:/mtd_appdata/yahoo:/mtd_appdata/moip:/mtd_cmmlib/Comp_LIB:/mtd_cmmlib/GAME_LIB:/mtd_appdata/gemstar:/mtd_cmmlib/DRM_LIB:/Java/lib:/mtd_cmmlib/InfoLink/lib:/dtv

export HOME=/mtd_moip
export KF_SLEEP_READ=-2
echo 30000 > /mtd_rwarea/DelayValue.txt
#touch /mtd_rwarea/DoPrintYahoo.txt
export KF_NO_INTERACTIVE=1
export KF_LOG=/dev/null #Remove engine logging.
export KF_DATA_DIR=/mtd_yahoo/yahoo
export KF_THREAD_PRIORITY=20
export KF_NO_LOG=1
export KF_NO_CRASHHANDLERS=1
export KF_HF_WRITE_PATH=/mtd_rwarea/yahoo
cd /mtd_exe/

./exeDSP
Edit: I attached the dump to write in /dev/bml0/10 regarding to my /dev/stl0/17. Is that correct? :)