Enable Network support on B550 and B6000 Series Devices


From SamyGO
Revision as of 08:31, 6 January 2011 by Merv07 (talk | contribs)
Jump to: navigation, search

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