[howto] Switch boot partitions via micom eeprom C series

This forum for information that related with C series hardware instead of firmware/software.

User avatar
beatfreak
SamyGO Project Donor
Posts: 591
Joined: Tue Aug 23, 2011 9:03 am
Location: Hamburg
Contact:

Re: [howto] Switch boot partitions via micom eeprom C series

Post by beatfreak »

another question to understand the scenario, as the tv has always 2 sets of rootfs-partitions available to have some kind of backup/fallback.
when does the inactive partition get updated? i mean as long as tv uses the first set does the second stay untouched?
and is the content related to installed firmware version?
like if i do an upgrade this is written to inactive part and when finished -> toggle and reboot so first part still has "old" data?
//UE40C6500 @ T-VALDEUC 3011 // rooted manual HotelMode style // PVR to NFS via 18MB on-the-fly sparse XFS //
FYI: you can close your ssh session with SamyGO with

Code: Select all

~.
If you can't fix it using dvct tape, you are not using enough dvct tape.
hedak
Posts: 81
Joined: Wed Jan 08, 2014 9:21 pm

Re: [howto] Switch boot partitions via micom eeprom C series

Post by hedak »

From my experience:
I upgraded/downgraded my tv (C7700) many times (2nd partition set was active), but 1st partition set was still on version 1004 1001. At least in my case this partition set stayed untouched al the time, so an upgrade is written to the active partition. Of course the partition set's content is version dependend: at least kernel, rootfs and exe.img changed between 3011 and 1004 1001.

After looking for "alternaive firmware" i came across something i've never seen before in tv's menu:
menu -> help -> software update -> 'alternative software'

Here's a screenshot made with 2nd partition set (v3011) active:
alternative_software.jpg
Here's a screenshot made with 1st partition set (v1004 1001) active (after toggling using sw command 'toggle'):
alternative_software_1st.jpg
What surprises me is that it wants to switch/toggle to firmware version 1001 instead of 1004 that is installed on 1st partition set.

EDIT: ok, got the reason why.
In '/mtd_rwarea' there are two files 'Version.0' (for 1st set) and 'Version.1' (for 2nd set):

Code: Select all

SWU_T-VALDEUC_001001_I04_EK000DK000KK000RK000_100213

Code: Select all

SWU_T-VALDEUC_003011_I04_EK000DK000KK000RK000_111010
I think 'Version.0' and the real fw version are just out of sync...

I was brave and used that 'alternative software' via menu to toggle from 1st to 2nd (before that i toggled from 2nd to 1st using sw 'toggle' command) and the result is the same as if i had run sw 'toggle' command. I attached the exlink log made with 1st active going through the menu and executing 'alternative software' until the setting-up procedure (up to channel search) on 2nd after automatic reboot.

During channel search i recognised that file '/mtd_rwearea/Version.0' was missing/deleted. What didn't surprise me is that this lead to greying 'alternative software' in menu and there's no version info about the alternative firmware anymore.

:D Manually recreating the file '/mtd_rwearea/Version.0' with the content i posted before activated 'alternative software' again :D

EDIT: my 1st partition set is 1001, corrected this post
You do not have the required permissions to view the files attached to this post.
User avatar
beatfreak
SamyGO Project Donor
Posts: 591
Joined: Tue Aug 23, 2011 9:03 am
Location: Hamburg
Contact:

Re: [howto] Switch boot partitions via micom eeprom C series

Post by beatfreak »

so it seems like the toggle is only called automatically when the active partition set fails to mount...

first i created a Version.0 like described in wiki and can confirm that when Version.0 and Version.1 file is present the "alternative software" option is available and works for toggle.
after reboot i saw that my second set was on 3015 (the version i had right before downgrade to 3011) (checked the current version greyed out in "software update" and in "help menu" > "contact samsung" > page 2/2) despite this the string in /mtd_rwarea/Version was still for v1000 (as created before) the second Version. file was gone.
and right after reboot, the "software update" option was greyed out completely, after network connect it was available again

Code: Select all

root@10.10.10.6's password: 
# cat /mtd_rwarea/Version.0 
SWU_T-VALDEUC_001000_I04_EK000DK000KK000RK000_100205
# ll /mtd_rwarea/V*
-rwxr-xr-x    1 root     0              53 Jan  1  1970 /mtd_rwarea/Version.0
# rm /mtd_rwarea/Version.0 
# Write failed: Broken pipe            [reboot, forgot to disconnect ssh :) ]

~> ssh root@10.10.10.6
root@10.10.10.6's password: 
# ll /mtd_rwarea/V*
-rwxr-xr-x    1 root     0              52 Jan  1  1970 /mtd_rwarea/Version.0
# cat /mtd_rwarea/Version.0 
SWU_T-VALDEUC_003015_I04_EK000DK000KK000RK000_120627# 
# /bin/busybox mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/sam type tmpfs (rw)
none on /dtv type tmpfs (rw)
none on /dsm type tmpfs (rw)
none on /core type tmpfs (rw)
none on /tmp type tmpfs (rw)
/dev/stl0/14 on /mtd_rwarea type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/stl0/19 on /mtd_rocommon type squashfs (ro)
/dev/stl0/15 on /mtd_exe type rfs (ro,codepage=cp949,vfat,fcache(blks)=128)
/dev/stl0/16 on /mtd_appdata type squashfs (ro)
/dev/stl0/13 on /mtd_contents type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/stl0/20 on /mtd_swu type rfs (rw,codepage=cp949,vfat,fcache(blks)=128)
/dev/stl0/21 on /mtd_rwcommon type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
none on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /dtv/usb/sda1 type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed)
/dev/stl0/14 on /etc/passwd type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/stl0/14 on /etc/profile type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/loop0 on /mtd_rwcommon/SamyGO/img type xfs (rw,ikeep,noquota)
/dev/sdb on /dtv/usb/sdb type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed)
/dev/sdc on /dtv/usb/sdc type xfs (rw,nouuid,noquota)
10.10.10.10:/samrec on /dtv/usb/sdb/nfs/10.10.10.10/_samrec type nfs (rw,vers=3,rsize=32768,wsize=8192,soft,nointr,nolock,proto=udp,timeo=7,retrans=3,sec=sys,addr=10.10.10.10)
devpts on /dev/pts type devpts (rw)
10.10.10.10:/samrec on /dtv/usb/sdc type nfs (rw,vers=3,rsize=32768,wsize=8192,soft,nointr,nolock,proto=udp,timeo=7,retrans=3,sec=sys,addr=10.10.10.10)
# 
# ll /mtd_rwarea/V*
-rwxr-xr-x    1 root     0              52 Jan  1  1970 /mtd_rwarea/Version.0
# touch /mtd_rwarea/Version.1 
# ll /mtd_rwarea/V*
-rwxr-xr-x    1 root     0              52 Jan  1  1970 /mtd_rwarea/Version.0
-rw-r--r--    1 root     0               0 Mar 11 17:49 /mtd_rwarea/Version.1
# rm /mtd_rwarea/Version.1                                                         [tried to choose alternate sw, but not available]
# cp SamyGO/downgrade/Version.1 /mtd_rwarea/                         [copied a Version file with valid string for 1000, and alternate sw menu was working]
# Connection to 10.10.10.6 closed.
~> ssh root@10.10.10.6
root@10.10.10.6's password: 
# cat /mtd_rw
/mtd_rwarea/    /mtd_rwcommon/
# cat /mtd_rwarea/Version.1 
SWU_T-VALDEUC_003011_I04_EK000DK000KK000RK000_111010# 
# 
# /bin/busybox mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/sam type tmpfs (rw)
none on /dtv type tmpfs (rw)
none on /dsm type tmpfs (rw)
none on /core type tmpfs (rw)
none on /tmp type tmpfs (rw)
/dev/stl0/14 on /mtd_rwarea type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/stl0/19 on /mtd_rocommon type squashfs (ro)
/dev/stl0/17 on /mtd_exe type rfs (ro,codepage=cp949,vfat,fcache(blks)=128)
/dev/stl0/18 on /mtd_appdata type squashfs (ro)
/dev/stl0/13 on /mtd_contents type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/stl0/20 on /mtd_swu type rfs (rw,codepage=cp949,vfat,fcache(blks)=128)
/dev/stl0/21 on /mtd_rwcommon type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
none on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /dtv/usb/sda1 type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed)
/dev/stl0/14 on /etc/passwd type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/stl0/14 on /etc/profile type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
/dev/loop0 on /mtd_rwcommon/SamyGO/img type xfs (rw,ikeep,noquota)
/dev/sdb on /dtv/usb/sdb type vfat (rw,sync,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed)
/dev/sdc on /dtv/usb/sdc type xfs (rw,nouuid,noquota)
10.10.10.10:/samrec on /dtv/usb/sdb/nfs/10.10.10.10/_samrec type nfs (rw,vers=3,rsize=32768,wsize=8192,soft,nointr,nolock,proto=udp,timeo=7,retrans=3,sec=sys,addr=10.10.10.10)
devpts on /dev/pts type devpts (rw)
10.10.10.10:/samrec on /dtv/usb/sdc type nfs (rw,vers=3,rsize=32768,wsize=8192,soft,nointr,nolock,proto=udp,timeo=7,retrans=3,sec=sys,addr=10.10.10.10)
//UE40C6500 @ T-VALDEUC 3011 // rooted manual HotelMode style // PVR to NFS via 18MB on-the-fly sparse XFS //
FYI: you can close your ssh session with SamyGO with

Code: Select all

~.
If you can't fix it using dvct tape, you are not using enough dvct tape.
hedak
Posts: 81
Joined: Wed Jan 08, 2014 9:21 pm

Re: [howto] Switch boot partitions via micom eeprom C series

Post by hedak »

Ok, got nearly everything. But what exactly do you mean by saying:
so it seems like the toggle is only called automatically when the active partition set fails to mount...
Could you please explain? (i didn't read about this feature yet)
And could you please give the link to the wiki page where it's described to create file Version.0? (just for interest)
User avatar
juusso
SamyGO Moderator
Posts: 10129
Joined: Sun Mar 07, 2010 6:20 pm

Re: [howto] Switch boot partitions via micom eeprom C series

Post by juusso »

Maybe this: http://wiki.samygo.tv/index.php5/How_to ... TV_only.29

You guys seem to invent the wheel :)
Version.0 and Version.1 contain strings which goes from version_info.txt (inside firmware upgrade pack) and it is shown in your mentioned "Alternative firmware" menu setting.
Samsung did the trick to prevent users from downgrade - Version.x was simply removed in latest ("post-feb") B series firmwares. That trick (rewriting missing Version.x file = re-enable "Alternative software") we used in B series to allow switch to hidden alternative partition AND this (i was really surprised) still worked for c series.
D series this way is direct way to the brick
E/F - no idea, no one reported about bricks or success :)

p.s.

Code: Select all

SWU_T-VALDEUC_001000_I04_ES000DS000KS000RS000_100205
mentioned in the wiki article is from very early firmware T-VALDEUC 1000.0 (not sure about exact version) and if you replace this in your current Version file, you will be allowed to install any downgrade, higher than T-VALDEUC-1000...via USB (normal procedure, no tricks). Even no need to restart TV between steps. IIRC
Just later we got the zero firmware and playing with bash scripts became obsolete.
LE40B653T5W,UE40D6750,UE65Q8C
Have questions? Read SamyGO Wiki, Search on forum first!
FFB (v0.8), FFB for CI+ . Get root on: C series, D series, E series, F series, H series. rooting K series, exeDSP/exeTV patches[C/D/E/F/H]

DO NOT EVER INSTALL FIRMWARE UPGRADE
User avatar
beatfreak
SamyGO Project Donor
Posts: 591
Joined: Tue Aug 23, 2011 9:03 am
Location: Hamburg
Contact:

Re: [howto] Switch boot partitions via micom eeprom C series

Post by beatfreak »

@hedak
i meant that in "normal" tv operation you would never actually use your second set of partitions,
we SamyGOers get to use it with rooting our TVs and calling toggle commend or modifying eeprom values.

so i guess you found just another way to switch/toggle, one that seems to be more "safe" / more relying on "official" functions / all executed commands are available for end-user via RC and its only needed to seed a single piece of "false" info for the TV
//UE40C6500 @ T-VALDEUC 3011 // rooted manual HotelMode style // PVR to NFS via 18MB on-the-fly sparse XFS //
FYI: you can close your ssh session with SamyGO with

Code: Select all

~.
If you can't fix it using dvct tape, you are not using enough dvct tape.
hedak
Posts: 81
Joined: Wed Jan 08, 2014 9:21 pm

Re: [howto] Switch boot partitions via micom eeprom C series

Post by hedak »

Thank you both for the infos and clarifying :)
sectroyer
Official SamyGO Developer
Posts: 6305
Joined: Wed May 04, 2011 5:10 pm

Re: [howto] Switch boot partitions via micom eeprom C series

Post by sectroyer »

There is actually very easy way to switch partition unintentionally (I did it on my E :D). Umnount/Not mount /etc/profile and connect to TV using SSH ;)
I do NOT support "latest fw" at ALL. If you have one you should block updates on router and wait for it to STOP being "latest":)
If you want me to help you please paste FULL log(s) to "spoiler"/"code" bbcodes or provide link(s) to pasted file(s) on https://pastebin.com Otherwise "NO HELP"!!!
If you want root DISABLE internet access to your device!!!!
DO NOT EVER INSTALL FIRMWARE UPGRADE !!!!
hedak
Posts: 81
Joined: Wed Jan 08, 2014 9:21 pm

Re: [howto] Switch boot partitions via micom eeprom C series

Post by hedak »

@sectroyer: Did you describe this anywhere? I couldn't find anything. If you didn't yet, could you explain in detail and the background please?
sectroyer
Official SamyGO Developer
Posts: 6305
Joined: Wed May 04, 2011 5:10 pm

Re: [howto] Switch boot partitions via micom eeprom C series

Post by sectroyer »

hedak wrote:@sectroyer: Did you describe this anywhere? I couldn't find anything. If you didn't yet, could you explain in detail and the background please?
ssh after each connect executes /etc/profile :) On E it's by default full of references to micim. I think that "/sbin/micom rollback" does the switching but not sure about that:) I didn't investigate it further :)
I do NOT support "latest fw" at ALL. If you have one you should block updates on router and wait for it to STOP being "latest":)
If you want me to help you please paste FULL log(s) to "spoiler"/"code" bbcodes or provide link(s) to pasted file(s) on https://pastebin.com Otherwise "NO HELP"!!!
If you want root DISABLE internet access to your device!!!!
DO NOT EVER INSTALL FIRMWARE UPGRADE !!!!

Post Reply

Return to “[C] Hardware”