Difference between revisions of "Enable Network support on B550 and B6000 Series Devices"


From SamyGO
Jump to: navigation, search
(Fixed old forums links.)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
Instructions tested on TV model '''UA32B6000 firmware T-CHL5DAUC'''<br />
 
Instructions tested on TV model '''UA32B6000 firmware T-CHL5DAUC'''<br />
 
'''READ ALL BEFORE ATTEMPTING - ASK QUESTIONS IF ANYTHING UNCLEAR HERE: [http://forum.samygo.tv/viewtopic.php?f=2&t=956 Forum Thread]'''<br />
 
'''READ ALL BEFORE ATTEMPTING - ASK QUESTIONS IF ANYTHING UNCLEAR HERE: [http://forum.samygo.tv/viewtopic.php?f=2&t=956 Forum Thread]'''<br />
'''IMPORTANT:''' before beginning dump/backup all important partitions in case of bricked tv. <i>(for instructions see step 4)</i> hopefully not required if careful
+
'''IMPORTANT:''' before beginning dump/backup all important partitions in case of bricked TV. <i>(for instructions see step 4)</i> hopefully not required if careful<br />
 +
'''ONLY flash kernel after testing and all functions on TV working normally (eg. usb storage detection, access to serial console, remote control etc.)'''
 
== Requirements==
 
== Requirements==
To Do
+
<b><u>HARDWARE</u></b>
 +
:- [http://wiki.samygo.tv/index.php5?title=Enable_Serial_Console_on_non_CI%2B_Devices Ex-Link Cable] <i>(USB to RS232 adapter if no serial port on PC)</i>.
 +
:- USB Flash or Disk Drive.
 +
:- USB Hub <i>(for TVs with single USB port)</i>.
 +
:- Compatible USB Wifi adapter.
 +
<b><u>FIRMWARE</u></b>
 +
:- Kernel with Network Support for your Device. <i>(See links below for download)</i>.
 +
:- Original [[Old & Good Firmwares]] <i>(PRE-2010 FEB Firmwares only)</i>.
 +
<b><u>SOFTWARE</u></b>
 +
:- [http://forum.samygo.tv/files/SamyGO%20Extensions%20Packs/Old%20Releases/ SamyGO-Extensions] <i>(Version r08 for squashfs & cksfv tools)</i>.
 +
:- [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTy] or HyperTerminal.
 
==Step 1 - Download New Networked Enabled Kernel==
 
==Step 1 - Download New Networked Enabled Kernel==
 
:<code lang="text">
 
:<code lang="text">
Line 108: Line 119:
 
#:                            +-- rpcsec_gss_krb5.ko
 
#:                            +-- rpcsec_gss_krb5.ko
 
#: </pre>
 
#: </pre>
==Step 2 - Test Modified Kernel Before Flash To TV==
+
==Step 2 - Test Modified Kernel Before Flashing To TV Memory==
 
:<code lang="text">
 
:<code lang="text">
:<u><b>Test kernel image via u-boot with Exlink cable. (with usb drive prepared in step 1 plugged in tv usb port)</b></u>
+
:<u><b>Test kernel image via u-boot with Exlink cable. (with usb drive prepared in step 1 plugged in TV usb port)</b></u>
 
:</code>
 
:</code>
# Enter service menu, tv is initially '''off''', then on remote control hit '''{info}-{menu}-{mute}-{ON}'''
+
# Enter service menu, TV is initially '''off''', then on remote control hit '''{info}-{menu}-{mute}-{ON}'''
 
# Change setting for your RS232C interface to '''"debug"''' ( Control -> Sub Option -> RS-232 Jack -> [ Debug | UART | Logic ] )
 
# Change setting for your RS232C interface to '''"debug"''' ( Control -> Sub Option -> RS-232 Jack -> [ Debug | UART | Logic ] )
 
# Change setting for Watchdog to '''"off"''' ( Control -> Sub Option -> Watchdog -> [ on | off ] )
 
# Change setting for Watchdog to '''"off"''' ( Control -> Sub Option -> Watchdog -> [ on | off ] )
# Exit service menu & switch off tv.
+
# Exit service menu & switch off TV.
# Connect computer to tv via exlink cable and start telnet. (to test connection, switch on & off tv to see output in telnet)
+
# Connect computer to TV's 3.5mm service port with exlink cable and start telnet. (to test connection, switch on & off TV to see output in telnet)
# Press and hold '''"~" (shift + "~")''' and while holding, switch on tv. Then quickly hit '''"enter"''' before 3 seconds delay expires.
+
# Press and hold '''"~" (shift + "~")''' and while holding, switch on TV. Then quickly hit '''"enter"''' before 3 seconds delay expires.
 
# Select '''"0"''' (zero) and hit '''"enter"'''. to jump to uboot prompt.
 
# Select '''"0"''' (zero) and hit '''"enter"'''. to jump to uboot prompt.
 
# Type or copy paste following command and hit '''"enter"'''
 
# Type or copy paste following command and hit '''"enter"'''
Line 123: Line 134:
 
#: setenv bootargs root=139:6 console=ttyS1;usb start;fatload usb 0 61000000 /image/uImage;bootm</pre>
 
#: setenv bootargs root=139:6 console=ttyS1;usb start;fatload usb 0 61000000 /image/uImage;bootm</pre>
 
# TV should start like normal, booting modified kernel image off usb drive.
 
# TV should start like normal, booting modified kernel image off usb drive.
# If success and tv started and operated like normal. proceed to step 3.
+
# If success and TV started and operated like normal. Proceed to step 3.
 
#:<br />
 
#:<br />
==Step 3 - Flash Modified Kernel To TV==
+
==Step 3 - Flash Modified Kernel To TV Memory==
 
:<code lang="text">
 
:<code lang="text">
 
:<u><b>Flash usb drive prepared in step 1 to TV memory. (WARNING. no option in TV 'software update' to revert to previous firmware)</b></u>
 
:<u><b>Flash usb drive prepared in step 1 to TV memory. (WARNING. no option in TV 'software update' to revert to previous firmware)</b></u>
 
:</code>
 
:</code>
# Plug usb drive in tv usb port and power on tv.
+
# Plug usb drive in TV usb port and power on TV.
# Select ''''software update'''' and ''''ok'''' to search usb for update.
+
# In TV menu select ''''support'''', ''''software update'''', ''''by usb'''' and ''''ok'''' to search usb for update.
# When update found select ''''ok'''' to continue update. Do NOT switch off tv or unplug usb.
+
# When update found select ''''ok'''' to continue update. Do NOT switch off TV or unplug usb.
# TV will reboot itself to complete update. update process was under 30 seconds on my tv.
+
# TV will reboot itself to complete update. Update process was under 30 seconds on my TV.
# If successfully flashed, tv will be network enabled and ready for testing and setup. proceed to step 4.
+
# If successfully flashed TV's kernel will be network enabled and ready for testing and setup. Proceed to step 4.
 
#:<br />
 
#:<br />
 
==Step 4 - Dump / Copy TV Boot Partition For Modification==
 
==Step 4 - Dump / Copy TV Boot Partition For Modification==
 
:<code lang="text">
 
:<code lang="text">
:<u><b>Dump your tv's boot partition. Fat formatted usb drive plugged in TV required</b></u>
+
:<u><b>Dump your TV's boot partition. Fat formatted usb drive plugged in TV required</b></u>
 
:</code>
 
:</code>
# Telnet to tv via exlink cable and power on tv.
+
# Telnet to TV with exlink cable connected to TV and TV powered on.
 +
# When fully started and TV's boot output in telnet has stopped enter following commands to begin serial console (shell).
 
# Type <b>"debug"</b> at the invisible prompt to enable your serial console.
 
# Type <b>"debug"</b> at the invisible prompt to enable your serial console.
 
# Type <b>"1198282"</b> and hit <b>"enter"</b>, for '<u>Top Debug Menu</u>'.
 
# Type <b>"1198282"</b> and hit <b>"enter"</b>, for '<u>Top Debug Menu</u>'.
# Type <b>"11"</b> and hit <b>"enter"</b>, for '<u>TD Debug</u>'
+
# Type <b>"11"</b> and hit <b>"enter"</b>, for '<u>TD Debug</u>'.
# Type <b>"04"</b> and hit <b>"enter"</b>, for '<u>spl Debug</u>'
+
# Type <b>"04"</b> and hit <b>"enter"</b>, for '<u>spl Debug</u>'.
# Type <b>"68"</b> and hit <b>"enter"</b>, for '<u>Shell</u>'
+
# Type <b>"68"</b> and hit <b>"enter"</b>, for '<u>Shell</u>'.
# At prompt# type following line and hit <b>"enter"</b>, to dump/copy boot image to usb drive.
+
# At prompt# type command below and hit <b>"enter"</b>, to dump/copy boot partition to usb drive.
 
#: <pre>cat /dev/bml0/7 > /dtv/usb/sda1/dev_bml0_07.img</pre>
 
#: <pre>cat /dev/bml0/7 > /dtv/usb/sda1/dev_bml0_07.img</pre>
# IMPORTANT, before step 1 to dump/backup all important partitions in case of bricked tv. hopefully not required if careful.
+
#:<code lang="text"><b>IMPORTANT:</b> Before step 1 to backup all important partitions using above method in case of bricked TV. Hopefully not required if careful.</code>
 
#:<br />
 
#:<br />
==Step 5 - Modify 'rc.local' To Auto Start Script==
+
==Step 5 - Modify TV Boot Partition Using TV and SamyGO-Extensions==
 
:<code lang="text">
 
:<code lang="text">
:<u><b>Modify tv boot partition to auto start 'SamyGo.sh' script. Fat formatted usb drive plugged in TV required</b></u>
+
:<u><b>Using SamyGO-Extensions and TV as OS follow steps below to edit 'rc.local' and '.version' files.  Fat formatted usb drive required</b></u>
 
:</code>
 
:</code>
# Download squashfs-tool-pack.tar.bz2 from SamyGO file downloads:''' [http://download.samygo.tv/SamyGO%20Tools/squashfs-tool-pack.tar.bz2]'''
+
# Download [http://download.samygo.tv/SamyGO%20Extensions%20Packs/Old%20Releases/ SamyGO-Extensions] (version <b>r08</b> for unsquashfs & ckvfs tools) from SamyGO file downloads and extract to usb drive. Download link:''' [http://download.samygo.tv/SamyGO%20Extensions%20Packs/Old%20Releases/]'''
# Extract desired squashfs-tools platform into new folder with ''''dev_bml0_07.img'''' file created earlier.
+
# Copy boot partition <b>'dev_bml0_07.img'</b> (created in step 4) to root of usb drive and insert into TV usb port.
# To inspect ''''dev_bml0_07.img'''' open command prompt in new folder and type following and hit "enter" (I used win XP)
+
# Telnet to TV with ex-link cable and begin serial console (as described in step 4).
#: <pre>unsquashfs -s dev_bml0_07.img</pre>
+
# Load/run SamyGO-Extensions to enable tools required to modify boot partition. Type command below and hit <b>"enter"</b>. (Note. init script setup not required to perform this)
# To extract image open command prompt in new folder and type following and hit <b>"enter"</b>
+
#: <pre>sh -x /dtv/usb/sda1/SamyGO/rcSGO</pre>
 +
# cd to usb root and inspect <b>'dev_bml0_07.img'</b> file. Type 2 commands below and hit <b>"enter"</b> after each command. Take note of output result.
 +
#: <pre>
 +
#: cd /dtv/usb/sda1
 +
#: unsquashfs -s dev_bml0_07.img</pre>
 +
# Extract  <b>'dev_bml0_07.img'</b> type command below and hit <b>"enter"</b>
 
#: <pre>unsquashfs -dest dev_bml0_07 dev_bml0_07.img</pre>
 
#: <pre>unsquashfs -dest dev_bml0_07 dev_bml0_07.img</pre>
# Open <b>'/<new folder>/dev_bml0_07'</b> folder and edit <b>'.version'</b> file (with notepad++ or similar text editor) increasing version number by 1 and save file. Example below done on my tv.
+
# Edit <b>'/dev_bml0_07/.version'</b> file with <b>'vi'</b> editor, increasing version number by 1 and save file. See example below done for my TV.
 +
#: <pre>vi /dev_bml0_07/.version</pre>
 
#: <code lang="text">
 
#: <code lang="text">
 
#: <b>From this:</b></code>
 
#: <b>From this:</b></code>
Line 166: Line 184:
 
#: <b>To this:</b></code>
 
#: <b>To this:</b></code>
 
#: <pre>28_64_256-35</pre>
 
#: <pre>28_64_256-35</pre>
# While in <b>'/<new folder>/dev_bml0_07'</b> folder also edit <b>'rc.local'</b> file, after line <b>'insmod /mtd_boot/modules/usb_fault.ko'</b> add line <b>'/mtd_rwarea/SamyGO.sh &'</b> and save file.
+
# Edit <b>'/dev_bml0_07/rc.local'</b> file and after line <b>'insmod /mtd_boot/modules/usb_fault.ko'</b> insert line <b>'/mtd_rwarea/SamyGO.sh &'</b> and save file.
#:<code lang="text">
+
##Alternatively insert line <b>'/mtd_rwarea/rcSGO &'</b> instead for 'SamyGO-Extensions' to load modules, mount networks, enable ssh and using injectso etc. I use 'SamyGO-Extensions' and start with 'SamyGO.sh'.
#:(optionally after testing samygo-extensions, add line <b>'/mtd_rwarea/rcSGO &'</b> instead)
+
# OPTIONAL. If you know what you are doing delete unneeded files (I safely deleted <b>'dev_bml0_07/modules/install_ko.sh'</b>)
#:</code>
+
# OPTIONAL. Copy new modules like <b>'rt73.ko'</b>, <b>'rt2870sta.ko'</b>, <b>'cifs.ko'</b> & <b>'nfs.ko'</b> etc, to <b>'dev_bml0_07/modules'</b> folder. Not required if planning to use 'SamyGO-Extensions'  <i>(To do instructions at end)</i>.  
# If you know what you are doing delete unneeded files (I safely deleted <b>'dev_bml0_07/modules/install_ko.sh'</b>)
+
# Fix ownership to <b>'dev_bml0_07'</b> files and sub-files. Type command below and hit <b>"enter"</b>.
# Copy new modules like <b>'rt73.ko'</b>, <b>'rt2870sta.ko'</b>, <b>'cifs.ko'</b> & <b>'nfs.ko'</b> etc to <b>'dev_bml0_07/modules'</b> folder. Other options are to copy required modules manually to tv memory or use <i>'samygo-extensions pack'</i> for your tv's firmware.  
+
#: <pre>chown -R root:root dev_bml0_07</pre>
#:<code lang="text">
+
# Create new <b>'boot.img'</b> to be flashed to TV in step 6. Type following command and hit <b>"enter"</b>.
#:New cut down version of 'samygo-extensions' available here: '''[http://linux.zsolttech.com/Samsung/SamyGO-All-Extensions-v0.03.6-r11-for-T-CHL5DAUC-20101210213931.zip]'''
+
#: <pre>mksquashfs dev_bml0_07 boot.img -le -b 65536</pre>
#:</code>
+
# Again inspect <b>'boot.img'</b> type following command and hit <b>"enter"</b>. Compare result with first inspection result preformed above.
# Fix ownership if done on linux pc <b>'chown -R root:root dev_bml0_07'</b> (I skipped this as I used windows XP)
+
#: <pre>unsquashfs -s boot.img</pre>
# Create <b>'boot.img'</b> type following command in command prompt and hit <b>"enter"</b>
 
#: <pre>
 
#: mksquashfs dev_bml0_07 boot.img -le -b 65536</pre>
 
# To ckeck <b>'boot.img'</b> type following command and hit <b>"enter"</b>
 
#: <pre>
 
#: unsquashfs -s boot.img</pre>
 
 
#:<br />
 
#:<br />
 +
 
==Step 6 - Flash Modified 'boot.img' To TV Memory==
 
==Step 6 - Flash Modified 'boot.img' To TV Memory==
 
:<code lang="text">
 
:<code lang="text">
 
:<u><b>Prepare usb drive with new 'boot.img' and  flash to TV memory</b></u>
 
:<u><b>Prepare usb drive with new 'boot.img' and  flash to TV memory</b></u>
 
:</code>
 
:</code>
# Download original firmware from Samsung and extract to usb drive.
+
# Download [[Old & Good Firmwares]] from Samsung and extract to usb drive.('''Use PRE-2010 FEB Firmwares or you will loose root access permanently!''')
# Delete unwanted files from firmware
+
# '''Delete''' unwanted files from firmware (In fact you just to plan update the /mtd_boot partition, and '''not''' appdata and exe!)
 
#: <pre>
 
#: <pre>
 
#: T-CHL5DAUC/image/exe.img.enc
 
#: T-CHL5DAUC/image/exe.img.enc
 
#: T-CHL5DAUC/image/appdata.img.enc</pre>
 
#: T-CHL5DAUC/image/appdata.img.enc</pre>
# Copy <b>'boot.img'</b> (created in step 5.10) to usb in <b>'T-CHL5DAUC/image'</b> folder
+
# Copy <b>'boot.img'</b> (created in step 5.12) to usb in <b>'T-CHL5DAUC/image'</b> folder.
# Get crc of <b>'boot.img'</b> and edit <b>'T-CHL5DAUC/image/validinfo.txt'</b> performing 2 steps below
+
# Telnet to TV with ex-link cable and begin serial console (as described in step 4).
 +
# Cd into USB drive <b>'T-CHL5DAUC/image'</b> folder and get CRC of <b>'boot.img'</b> using <b>'cksfv'</b>. <i>See example below:</i> 
 +
#: <pre>
 +
#: cd /dtv/usb/sda1/T-CHL5DAUC/image
 +
#: cksfv boot.img
 +
#: ; Generated by cksfv v1.3.14 on 1970-01-01 at 00:04.39
 +
#: ; Project web site: http://www.iki.fi/shd/foss/cksfv/
 +
#: ;
 +
#: ;      1683456  21:51.16 2010-11-23 boot.img
 +
#: *008_boot.img_a1cb1115</pre>
 +
# Edit <b>'T-CHL5DAUC/image/validinfo.txt'</b> using <b>'vi'</b> editor performing 2 steps below.
 
## delete existing info <b>'exe.img.enc'</b> and <b>'appdata.img.enc'</b>. <i>see example below:</i>  
 
## delete existing info <b>'exe.img.enc'</b> and <b>'appdata.img.enc'</b>. <i>see example below:</i>  
##: <pre>
+
##: <pre>*007_exe.img_718ba666*011_appdata.img_cc1057e2</pre>
##: *007_exe.img_718ba666*011_appdata.img_cc1057e2</pre>
+
## insert new CRC info of <b>'boot.img'</b> into <b>'validinfo.txt'</b>.  <i>see example below:</i>  
## insert new crc info of <b>'boot.img'</b> into <b>'validinfo.txt'</b>.  <i>see example below:</i>  
+
##: <pre>*008_boot.img_a1cb1115</pre>
##: <pre>
+
# Plug usb into TV usb port, when/if popup window appears select ''''software update''''. if no popup, then in menu select ''''support'''', ''''software update'''', ''''by usb''''. after search locates upgrade on usb select ''''ok'''' to continue.  
##: *008_boot.img_a1cb1115</pre>
+
::NOTE: Do NOT switch off TV or unplug usb.
# Plug usb into tv usb port, when/if popup window appears select ''''software update''''. if no popup, then in menu select ''''support'''', ''''software update'''', ''''by usb''''. after search locates upgrade on usb select ''''ok'''' to continue.  
+
==Useful Links==
::: Do NOT switch off TV or unplug usb.
+
:For those who are unfamiliar with using <b>'vi'</b> editor read more <b>[http://www.washington.edu/computing/unix/vi.html here]</b>.
 
<br />
 
<br />
 
:::<b>***** <u>TO BE COMPLETED</u> *****</b>
 
:::<b>***** <u>TO BE COMPLETED</u> *****</b>

Latest revision as of 18:08, 27 July 2011

Instructions tested on TV model UA32B6000 firmware T-CHL5DAUC
READ ALL BEFORE ATTEMPTING - ASK QUESTIONS IF ANYTHING UNCLEAR HERE: Forum Thread
IMPORTANT: before beginning dump/backup all important partitions in case of bricked TV. (for instructions see step 4) hopefully not required if careful
ONLY flash kernel after testing and all functions on TV working normally (eg. usb storage detection, access to serial console, remote control etc.)

Requirements

HARDWARE

- Ex-Link Cable (USB to RS232 adapter if no serial port on PC).
- USB Flash or Disk Drive.
- USB Hub (for TVs with single USB port).
- Compatible USB Wifi adapter.

FIRMWARE

- Kernel with Network Support for your Device. (See links below for download).
- Original Old & Good Firmwares (PRE-2010 FEB Firmwares only).

SOFTWARE

- SamyGO-Extensions (Version r08 for squashfs & cksfv tools).
- PuTTy or HyperTerminal.

Step 1 - Download New Networked Enabled Kernel

Download network enabled kernel and extract to fat formatted usb flash drive.
T-CHL5DAUC Download link: [1]
T-CHL5DEUC Download link: [2]
  1. Directory structure as following:
    usb-root
    +-- boot
    ¦ +-- uImage
    +-- T-CHL5DAUC
    +-- crc
    +-- ddcmp
    +-- image
    ¦ +-- Image
    ¦ +-- info.txt
    ¦ +-- major_version
    ¦ +-- minor_version
    ¦ +-- serial_temp
    ¦ +-- validinfo.txt
    ¦ +-- version_info.txt
    +-- MicomCtrl
    +-- modules
    +-- 2.6.18_SELP-ARM
    +-- extra
    ¦ +-- rt2570.ko
    +-- kernel
    +-- drivers
    ¦ +-- block
    ¦ ¦ +-- loop.ko
    ¦ ¦ +-- pktcdvd.ko
    ¦ +-- bluetooth
    ¦ ¦ +-- hci_usb.ko
    ¦ +-- cdrom
    ¦ ¦ +-- cdrom.ko
    ¦ +-- input
    ¦ ¦ +-- evdev.ko
    ¦ +-- net
    ¦ ¦ +-- dm9601.ko
    ¦ ¦ +-- rt2570.ko
    ¦ ¦ +-- rt3070sta.ko
    ¦ +-- rt2870
    ¦ ¦ +-- os
    ¦ ¦ +-- linux
    ¦ ¦ +-- rt2870sta.ko
    ¦ +-- rt73
    ¦ ¦ +-- Module
    ¦ ¦ +-- rt73.ko
    ¦ +-- scsi
    ¦ ¦ +-- sg.ko
    ¦ ¦ +-- sr_mod.ko
    ¦ +-- usb
    ¦ ¦ +-- gadget
    ¦ ¦ ¦ +-- dummy_hcd.ko
    ¦ ¦ ¦ +-- g_file_storage.ko
    ¦ ¦ +-- input
    ¦ ¦ +-- usbhid.ko
    ¦ +-- video
    ¦ +-- cfbcopyarea.ko
    ¦ +-- cfbfillrect.ko
    ¦ +-- cfbimgblt.ko
    ¦ +-- console
    ¦ ¦ +-- bitblit.ko
    ¦ ¦ +-- fbcon.ko
    ¦ ¦ +-- font.ko
    ¦ ¦ +-- softcursor.ko
    ¦ +-- fb.ko
    ¦ +-- vfb.ko
    +-- fs
    ¦ +-- cifs
    ¦ ¦ +-- cifs.ko
    ¦ +-- coda
    ¦ ¦ +-- coda.ko
    ¦ +-- hfs
    ¦ ¦ +-- hfs.ko
    ¦ +-- hfsplus
    ¦ ¦ +-- hfsplus.ko
    ¦ +-- isofs
    ¦ ¦ +-- isofs.ko
    ¦ +-- lockd
    ¦ ¦ +-- lockd.ko
    ¦ +-- nfs
    ¦ ¦ +-- nfs.ko
    ¦ +-- nfs_common
    ¦ ¦ +-- nfs_acl.ko
    ¦ +-- udf
    ¦ +-- udf.ko
    +-- net
    +-- bluetooth
    ¦ +-- bluetooth.ko
    ¦ +-- bnep
    ¦ ¦ +-- bnep.ko
    ¦ +-- hidp
    ¦ ¦ +-- hidp.ko
    ¦ +-- l2cap.ko
    ¦ +-- rfcomm
    ¦ ¦ +-- rfcomm.ko
    ¦ +-- sco.ko
    +-- sunrpc
    +-- auth_gss
    +-- auth_rpcgss.ko
    +-- rpcsec_gss_krb5.ko

Step 2 - Test Modified Kernel Before Flashing To TV Memory

Test kernel image via u-boot with Exlink cable. (with usb drive prepared in step 1 plugged in TV usb port)
  1. Enter service menu, TV is initially off, then on remote control hit {info}-{menu}-{mute}-{ON}
  2. Change setting for your RS232C interface to "debug" ( Control -> Sub Option -> RS-232 Jack -> [ Debug | UART | Logic ] )
  3. Change setting for Watchdog to "off" ( Control -> Sub Option -> Watchdog -> [ on | off ] )
  4. Exit service menu & switch off TV.
  5. Connect computer to TV's 3.5mm service port with exlink cable and start telnet. (to test connection, switch on & off TV to see output in telnet)
  6. Press and hold "~" (shift + "~") and while holding, switch on TV. Then quickly hit "enter" before 3 seconds delay expires.
  7. Select "0" (zero) and hit "enter". to jump to uboot prompt.
  8. Type or copy paste following command and hit "enter"
    setenv bootargs root=139:6 console=ttyS1;usb start;fatload usb 0 61000000 /image/uImage;bootm
  9. TV should start like normal, booting modified kernel image off usb drive.
  10. If success and TV started and operated like normal. Proceed to step 3.

Step 3 - Flash Modified Kernel To TV Memory

Flash usb drive prepared in step 1 to TV memory. (WARNING. no option in TV 'software update' to revert to previous firmware)
  1. Plug usb drive in TV usb port and power on TV.
  2. In TV menu select 'support', 'software update', 'by usb' and 'ok' to search usb for update.
  3. When update found select 'ok' to continue update. Do NOT switch off TV or unplug usb.
  4. TV will reboot itself to complete update. Update process was under 30 seconds on my TV.
  5. If successfully flashed TV's kernel will be network enabled and ready for testing and setup. Proceed to step 4.

Step 4 - Dump / Copy TV Boot Partition For Modification

Dump your TV's boot partition. Fat formatted usb drive plugged in TV required
  1. Telnet to TV with exlink cable connected to TV and TV powered on.
  2. When fully started and TV's boot output in telnet has stopped enter following commands to begin serial console (shell).
  3. Type "debug" at the invisible prompt to enable your serial console.
  4. Type "1198282" and hit "enter", for 'Top Debug Menu'.
  5. Type "11" and hit "enter", for 'TD Debug'.
  6. Type "04" and hit "enter", for 'spl Debug'.
  7. Type "68" and hit "enter", for 'Shell'.
  8. At prompt# type command below and hit "enter", to dump/copy boot partition to usb drive.
    cat /dev/bml0/7 > /dtv/usb/sda1/dev_bml0_07.img
    IMPORTANT: Before step 1 to backup all important partitions using above method in case of bricked TV. Hopefully not required if careful.

Step 5 - Modify TV Boot Partition Using TV and SamyGO-Extensions

Using SamyGO-Extensions and TV as OS follow steps below to edit 'rc.local' and '.version' files. Fat formatted usb drive required
  1. Download SamyGO-Extensions (version r08 for unsquashfs & ckvfs tools) from SamyGO file downloads and extract to usb drive. Download link: [3]
  2. Copy boot partition 'dev_bml0_07.img' (created in step 4) to root of usb drive and insert into TV usb port.
  3. Telnet to TV with ex-link cable and begin serial console (as described in step 4).
  4. Load/run SamyGO-Extensions to enable tools required to modify boot partition. Type command below and hit "enter". (Note. init script setup not required to perform this)
    sh -x /dtv/usb/sda1/SamyGO/rcSGO
  5. cd to usb root and inspect 'dev_bml0_07.img' file. Type 2 commands below and hit "enter" after each command. Take note of output result.
    cd /dtv/usb/sda1
    unsquashfs -s dev_bml0_07.img
  6. Extract 'dev_bml0_07.img' type command below and hit "enter"
    unsquashfs -dest dev_bml0_07 dev_bml0_07.img
  7. Edit '/dev_bml0_07/.version' file with 'vi' editor, increasing version number by 1 and save file. See example below done for my TV.
    vi /dev_bml0_07/.version
    From this:
    28_64_256-34
    To this:
    28_64_256-35
  8. Edit '/dev_bml0_07/rc.local' file and after line 'insmod /mtd_boot/modules/usb_fault.ko' insert line '/mtd_rwarea/SamyGO.sh &' and save file.
    1. Alternatively insert line '/mtd_rwarea/rcSGO &' instead for 'SamyGO-Extensions' to load modules, mount networks, enable ssh and using injectso etc. I use 'SamyGO-Extensions' and start with 'SamyGO.sh'.
  9. OPTIONAL. If you know what you are doing delete unneeded files (I safely deleted 'dev_bml0_07/modules/install_ko.sh')
  10. OPTIONAL. Copy new modules like 'rt73.ko', 'rt2870sta.ko', 'cifs.ko' & 'nfs.ko' etc, to 'dev_bml0_07/modules' folder. Not required if planning to use 'SamyGO-Extensions' (To do instructions at end).
  11. Fix ownership to 'dev_bml0_07' files and sub-files. Type command below and hit "enter".
    chown -R root:root dev_bml0_07
  12. Create new 'boot.img' to be flashed to TV in step 6. Type following command and hit "enter".
    mksquashfs dev_bml0_07 boot.img -le -b 65536
  13. Again inspect 'boot.img' type following command and hit "enter". Compare result with first inspection result preformed above.
    unsquashfs -s boot.img

Step 6 - Flash Modified 'boot.img' To TV Memory

Prepare usb drive with new 'boot.img' and flash to TV memory
  1. Download Old & Good Firmwares from Samsung and extract to usb drive.(Use PRE-2010 FEB Firmwares or you will loose root access permanently!)
  2. Delete unwanted files from firmware (In fact you just to plan update the /mtd_boot partition, and not appdata and exe!)
    T-CHL5DAUC/image/exe.img.enc
    T-CHL5DAUC/image/appdata.img.enc
  3. Copy 'boot.img' (created in step 5.12) to usb in 'T-CHL5DAUC/image' folder.
  4. Telnet to TV with ex-link cable and begin serial console (as described in step 4).
  5. Cd into USB drive 'T-CHL5DAUC/image' folder and get CRC of 'boot.img' using 'cksfv'. See example below:
    cd /dtv/usb/sda1/T-CHL5DAUC/image
    cksfv boot.img
     ; Generated by cksfv v1.3.14 on 1970-01-01 at 00:04.39
     ; Project web site: http://www.iki.fi/shd/foss/cksfv/
     ;
     ; 1683456 21:51.16 2010-11-23 boot.img
    *008_boot.img_a1cb1115
  6. Edit 'T-CHL5DAUC/image/validinfo.txt' using 'vi' editor performing 2 steps below.
    1. delete existing info 'exe.img.enc' and 'appdata.img.enc'. see example below:
      *007_exe.img_718ba666*011_appdata.img_cc1057e2
    2. insert new CRC info of 'boot.img' into 'validinfo.txt'. see example below:
      *008_boot.img_a1cb1115
  7. Plug usb into TV usb port, when/if popup window appears select 'software update'. if no popup, then in menu select 'support', 'software update', 'by usb'. after search locates upgrade on usb select 'ok' to continue.
NOTE: Do NOT switch off TV or unplug usb.

Useful Links

For those who are unfamiliar with using 'vi' editor read more here.


***** TO BE COMPLETED *****