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


From SamyGO
Jump to: navigation, search
(Fixed old forums links.)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Instructions to network enable kernel for T-CHL5DAUC(UA32B6000)
+
Instructions tested on TV model '''UA32B6000 firmware T-CHL5DAUC'''<br />
IMPORTANT: READ ALL BEFORE ATTEMPTING - ASK QUESTIONS IF ANYTHING UNCLEAR
+
'''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<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==
 +
<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==
 +
:<code lang="text">
 +
:<u><b>Download network enabled kernel and extract to fat formatted usb flash drive.</b></u>
 +
:<b>T-CHL5DAUC Download link: [http://linux.zsolttech.com/Samsung/SamyGO-Flash-Image-v0.01.1-r01-for-arm-T-CHL5DAUC-20101118183911.zip]
 +
:T-CHL5DEUC Download link: [http://linux.zsolttech.com/Samsung/SamyGO-Flash-Image-v0.01.1-r02-T-CHL5DEUC-20101209195338.zip]</b>
 +
:</code>
 +
# Directory structure as following:
 +
#: <pre>
 +
#: 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
 +
#: </pre>
 +
==Step 2 - Test Modified Kernel Before Flashing To TV Memory==
 +
:<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>
 +
:</code>
 +
# 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 Watchdog to '''"off"''' ( Control -> Sub Option -> Watchdog -> [ on | off ] )
 +
# Exit service menu & switch off TV.
 +
# 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.
 +
# Select '''"0"''' (zero) and hit '''"enter"'''. to jump to uboot prompt.
 +
# Type or copy paste following command and hit '''"enter"'''
 +
#: <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.
 +
# If success and TV started and operated like normal.  Proceed to step 3.
 +
#:<br />
 +
==Step 3 - Flash Modified Kernel To TV Memory==
 +
:<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>
 +
:</code>
 +
# Plug usb drive in TV usb port and power on TV.
 +
# 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.
 +
# TV will reboot itself to complete update. Update process was under 30 seconds on my TV.
 +
# If successfully flashed TV's kernel will be network enabled and ready for testing and setup.  Proceed to step 4.
 +
#:<br />
 +
==Step 4 - Dump / Copy TV Boot Partition For Modification==
 +
:<code lang="text">
 +
:<u><b>Dump your TV's boot partition. Fat formatted usb drive plugged in TV required</b></u>
 +
:</code>
 +
# 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>"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>"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>'.
 +
# 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>
 +
#:<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 />
 +
==Step 5 - Modify TV Boot Partition Using TV and SamyGO-Extensions==
 +
:<code lang="text">
 +
:<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>
 +
# 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/]'''
 +
# Copy boot partition <b>'dev_bml0_07.img'</b> (created in step 4) to root of usb drive and insert into TV usb port.
 +
# Telnet to TV with ex-link cable and begin serial console (as described in step 4).
 +
# 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)
 +
#: <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>
 +
# 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">
 +
#: <b>From this:</b></code>
 +
#: <pre>28_64_256-34</pre>
 +
#: <code lang="text">
 +
#: <b>To this:</b></code>
 +
#: <pre>28_64_256-35</pre>
 +
# 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.
 +
##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'.
 +
# OPTIONAL. If you know what you are doing delete unneeded files (I safely deleted <b>'dev_bml0_07/modules/install_ko.sh'</b>)
 +
# 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>.
 +
# Fix ownership to <b>'dev_bml0_07'</b> files and sub-files. Type command below and hit <b>"enter"</b>.
 +
#: <pre>chown -R root:root dev_bml0_07</pre>
 +
# Create new <b>'boot.img'</b> to be flashed to TV in step 6. Type following command and hit <b>"enter"</b>.
 +
#: <pre>mksquashfs dev_bml0_07 boot.img -le -b 65536</pre>
 +
# Again inspect <b>'boot.img'</b> type following command and hit <b>"enter"</b>. Compare result with first inspection result preformed above.
 +
#: <pre>unsquashfs -s boot.img</pre>
 +
#:<br />
  
# '''<u>Download network enabled kernel and extract to fat formatted usb flash drive</u>'''
+
==Step 6 - Flash Modified 'boot.img' To TV Memory==
## Directory structure as following:
+
:<code lang="text">
##: <pre>
+
:<u><b>Prepare usb drive with new 'boot.img' and  flash to TV memory</b></u>
##: here are a couple lines
+
:</code>
##: of preformatted text</pre>
+
# Download [[Old & Good Firmwares]] from Samsung and extract to usb drive.('''Use PRE-2010 FEB Firmwares or you will loose root access permanently!''')
# '''<u>Test kernel image via u-boot with Exlink cable. (with usb drive prepared in step 1 plugged in tv usb port)</u>'''
+
# '''Delete''' unwanted files from firmware (In fact you just to plan update the /mtd_boot partition, and '''not''' appdata and exe!)
## Enter service menu, tv initially off then on remote control hit (info)-(menu)-(mute)-(ON)
+
#: <pre>
##: <pre>test</pre>
+
#: T-CHL5DAUC/image/exe.img.enc
## Change setting for your RS232C interface to "debug" ( Control -> Sub Option -> RS-232 Jack -> [ Debug | UART | Logic ] )
+
#: T-CHL5DAUC/image/appdata.img.enc</pre>
## Change setting for Watchdog to "off" ( Control -> Sub Option -> Watchdog -> [ on | off ] )
+
# Copy <b>'boot.img'</b> (created in step 5.12) to usb in <b>'T-CHL5DAUC/image'</b> folder.
## Exit service menu & switch off tv.
+
# Telnet to TV with ex-link cable and begin serial console (as described in step 4).  
## Connect computer to tv via exlink cable and start telnet. (to test connection, switch on & off tv to see output in telnet)
+
# 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>
## Press and hold "~" (shift + "~") and while holding, switch on tv. quickly hit "enter" before 3 seconds delay expires.
+
#: <pre>
## Select "0" (zero) and hit "enter". to jump to uboot prompt.
+
#: cd /dtv/usb/sda1/T-CHL5DAUC/image
## Type or copy paste following command and hit "enter"
+
#: cksfv boot.img
##: <pre>
+
#: ; Generated by cksfv v1.3.14 on 1970-01-01 at 00:04.39
##: setenv bootargs root=139:6 console=ttyS1;usb start;fatload usb 0 61000000 /image/uImage;bootm</pre>
+
#: ; Project web site: http://www.iki.fi/shd/foss/cksfv/
## 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.
+
#: ;      1683456  21:51.16 2010-11-23 boot.img
##:<br />
+
#: *008_boot.img_a1cb1115</pre>
# '''<u>Flash usb drive prepared in step 1 to tv memory.''' (WARNING. no option in tv 'software update' to revert to previous firmware)</u>
+
# Edit <b>'T-CHL5DAUC/image/validinfo.txt'</b> using <b>'vi'</b> editor performing 2 steps below.
## Plug usb drive in tv usb port and power on tv.
+
## delete existing info <b>'exe.img.enc'</b> and <b>'appdata.img.enc'</b>. <i>see example below:</i>  
## Select 'software update' and 'ok' to search usb for update.
+
##: <pre>*007_exe.img_718ba666*011_appdata.img_cc1057e2</pre>
## When update found select 'ok' to continue update. Do NOT switch off tv or unplug usb.
+
## insert new CRC info of <b>'boot.img'</b> into <b>'validinfo.txt'</b>.  <i>see example below:</i>  
## TV will reboot itself to complete update. update process iwas under 30 seconds on my tv.
+
##: <pre>*008_boot.img_a1cb1115</pre>
## If successfully flashed, tv will be network enabled and ready for testing and setup. proceed to step 4.
+
# 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.  
##:<br />
+
::NOTE: Do NOT switch off TV or unplug usb.
# '''<u>Dump your tv's boot partition. fat formatted usb drive plugged in tv required</u>'''
+
==Useful Links==
## Telnet to tv via exlink cable and power on tv.
+
:For those who are unfamiliar with using <b>'vi'</b> editor read more <b>[http://www.washington.edu/computing/unix/vi.html here]</b>.
## Type "debug" at the invisible prompt to enable your serial console.
+
<br />
## Type "1198282" and hit "enter", for 'Top Debug Menu'.
+
:::<b>***** <u>TO BE COMPLETED</u> *****</b>
## Type "11" and hit "enter", for 'TD Debug'
 
## Type "04" and hit "enter", for 'spl Debug'
 
## Type "68" and hit "enter", for 'Shell'
 
## At prompt# type following line and hit "enter", to dump/copy boot image to usb drive.
 
##: <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 bicked tv. hopefully not required if careful.
 
##:<br />
 
# '''<u>Modify tv boot partition to auto start 'SamyGo.sh' script. Fat formatted usb drive plugged in tv required</u>'''
 
## Download squashfs-tool-pack.tar.bz2 from SamyGO file downloads:''' [http://download.samygo.tv/SamyGO%20Tools/squashfs-tool-pack.tar.bz2]'''
 
## Extract desired squashfs-tools platform into new folder with 'dev_bml0_07.img' file created earlier.
 
## To inspect 'dev_bml0_07.img' open command prompt in new folder and type following and hit "enter" (I used win XP)
 
##: <pre>unsquashfs -s dev_bml0_07.img</pre>
 
## To extract image open command prompt in new folder and type following and hit <b>"enter"</b>
 
##: <pre>unsquashfs -dest dev_bml0_07 dev_bml0_07.img</pre>
 
## Open '/<new folder>/dev_bml0_07' folder and edit '.version' file (with notepad++ or similar text editor) increasing version number by 1 (eg. from '28_64_256-34' to 28_64_256-35') and save file
 
## 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.
 
##:<code lang="text">
 
##:(optionally after testing samygo-extensions add line <b>'/mtd_rwarea/rcSGO &'</b> instead)
 
##:</code>
 
## If you know what you are doing delete unneeded files (I safely deleted <b>'dev_bml0_07/modules/install_ko.sh'</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.
 
##:<code lang="text">
 
##: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
 
##:</code>
 
## Fix ownership if done on linux pc <b>'chown -R root:root dev_bml0_07'</b> (I skipped this as I used windows XP)
 
## 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 />
 
# '''<u>Prepare usb drive to flash new 'boot.img' to tv memory</u>'''
 
## Download original firmware from samsung and extract to usb drive.
 
## Delete unwanted files from firmware
 
##: <pre>
 
##: T-CHL5DAUC/image/exe.img.enc
 
##: 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
 
## Get crc of <b>'boot.img'</b> and edit <b>'T-CHL5DAUC/image/validinfo.txt'</b> performing 2 steps below
 
### delete existing info <b>'exe.img.enc'</b> and <b>'appdata.img.enc'</b>. <i>see example below:</i>  
 
###: <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>  
 
###: <pre>
 
###: *007_boot.img_a1cb1115</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. Do NOT switch off tv or unplug usb.
 

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 *****