Instructions to network enable kernel for T-CHL5DAUC(UA32B6000)
IMPORTANT: READ ALL BEFORE ATTEMPTING - ASK QUESTIONS IF ANYTHING UNCLEAR
1. download network enabled kernel and extract to fat formatted usb flash drive.Directory structure as following:
- Code: Select all
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
2. test kernel image via u-boot with Exlink cable. (with usb drive prepared in step 1 plugged in tv usb port) a. enter service menu, tv initially off then on remote control hit (info)-(menu)-(mute)-(ON)
b. Change setting for your RS232C interface to "debug" ( Control -> Sub Option -> RS-232 Jack -> [ Debug | UART | Logic ] )
c. Change setting for Watchdog to "off" ( Control -> Sub Option -> Watchdog -> [ on | off ] )
d. exit service menu & switch off tv.
e. connect computer to tv via exlink cable and start telnet. (to test connection, switch on & off tv to see output in telnet)
f. press and hold "~" (shift + "~") and while holding, switch on tv. quickly hit "enter" before 3 seconds delay expires.
e. select "0" (zero) and hit "enter". to jump to uboot prompt.
g. type or copy paste following command and hit "enter"
- Code: Select all
setenv bootargs root=139:6 console=ttyS1;usb start;fatload usb 0 61000000 /image/uImage;bootm
h. tv should start like normal, booting modified kernel image off usb drive.
i. if success and tv started and operated like normal. proceed to step 3.
3. flash usb drive prepared in step 1 to tv memory. (warning. no option in tv 'software update' to revert to previous firmware) a. plug usb drive in tv usb port and power on tv.
b. select 'software update' and 'ok' to search usb for update.
c. when update found select 'ok' to continue update. Do NOT switch off tv or unplug usb.
d. tv will reboot itself to complete update. update process iwas under 30 seconds on my tv.
e. if successfully flashed, tv will be network enabled and ready for testing and setup. proceed to step 4.
4. dump your tv's boot partition. fat formatted usb drive plugged in tv required. a. telnet to tv via exlink cable and power on tv.
b. type "debug" at the invisible prompt to enable your serial console.
c. type "1198282" and hit "enter", for 'Top Debug Menu'.
d. type "11" and hit "enter", for 'TD Debug'
e. type "04" and hit "enter", for 'spl Debug'
f. type "68" and hit "enter", for 'Shell'
g. at prompt# type following line and hit "enter", to dump/copy boot image to usb drive.
- Code: Select all
cat /dev/bml0/7 > /dtv/usb/sda1/dev_bml0_07.img
h. IMPORTANT, before step 1 to dump/backup all important partitions in case of bicked tv. hopefully not required if careful.
5. modify tv boot partition to auto start 'SamyGo.sh' script. fat formatted usb drive plugged in tv required. a. download squashfs-tool-pack.tar.bz2 from SamyGO file downloads:
http://sourceforge.net/projects/samygo/files/SamyGO%20Tools/squashfs-tool-pack.tar.bz2/download b. extract desired squashfs-tools platform into new folder with 'dev_bml0_07.img' file created earlier.
c. inspect 'dev_bml0_07.img', open command prompt in new folder and type following and hit "enter" (I used win XP)
- Code: Select all
unsquashfs -s dev_bml0_07.img
d. open command prompt in new folder and type following and hit "enter"
- Code: Select all
unsquashfs -dest dev_bml0_07 dev_bml0_07.img
e. 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
f. while in '/<new folder>/dev_bml0_07' folder also edit 'rc.local' file, after line 'insmod /mtd_boot/modules/usb_fault.ko' add line '/mtd_rwarea/SamyGO.sh &' and save file.
(optionally after testing samygo-extensions add line '/<folder>/SamyGO/rcSGO &' instead)
g. if you know what you are doing delete unneeded files (I safely deleted 'dev_bml0_07/modules/install_ko.sh')
h. copy new modules like 'rt73.ko', 'rt2870sta.ko' 'cifs.ko' & 'nfs.ko' etc to 'dev_bml0_07/modules' folder. Other options are to copy required modules manually to tv memory or use 'samygo-extensions pack' for your tv's firmware. (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)
i. fix ownership if done on linux pc 'chown -R root:root dev_bml0_07' (I skipped this as I used windows XP)
j. create 'boot.img' type following command in command prompt and hit "enter"
- Code: Select all
mksquashfs dev_bml0_07 boot.img -le -b 65536
k. to ckeck 'boot.img' type following command and hit "enter"
- Code: Select all
unsquashfs -s boot.img
6. Prepare usb drive to flash new 'boot.img' to tv memory.a. Download original firmware from samsung and extract to usb drive.
b. delete unwanted files from firmware
- Code: Select all
T-CHL5DAUC/image/exe.img.enc
T-CHL5DAUC/image/appdata.img.enc
c. copy 'boot.img' (created in step 5-j) to usb in 'T-CHL5DAUC/image' folder
d. get crc of 'boot.img' and edit 'T-CHL5DAUC/image/validinfo.txt' deleting info of 'exe.img.enc' and 'appdata.img.enc' then inserting new info of 'boot.img'
- Code: Select all
delete existing info-> *007_exe.img_718ba666*011_appdata.img_cc1057e2
insert new info-> *022_boot.img_a1cb1115
e. 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.
Below are examples of my scripts - (use at own risk)/mtd_rwarea/SamyGO.sh
- Code: Select all
#!/bin/sh
echo "****** Install Virtual USB Modules ******"
dd if=/dev/zero of=/dtv/vusb bs=512 count=4
insmod /mtd_rwarea/modules/dummy_hcd.ko
sleep 3
insmod /mtd_rwarea/modules/g_file_storage.ko
sleep 3
echo "****** Fire up network adapter ******"
killall -QUIT udhcpc
ifconfig rausb0 down
#insmod /mtd_rwarea/modules/rt2870sta.ko #used for original sumsung wifi usb stick
insmod /mtd_rwarea/modules/rt73.ko
#insmod /mtd_rwarea/modules/cifs.ko #uncomment if not using mount.sh script
ifconfig rausb0 up
iwconfig rausb0 mode Managed
iwconfig rausb0 essid RTA1046VW
udhcpc -i rausb0 -t 5 -T 5 -b
sleep 10
echo "****** WDTVLIVE network mount startup ******"
/mtd_rwarea/mount.sh &
sleep 10
echo "****** Start telnetd ******"
/etc/telnetd_start.sh &
sleep 10
echo "****** INJECTSO starting ChannelInfo app ******"
/mtd_rwarea/injectso.sh &
#===========================================================
# lines below are replaced by '/mtd_rwarea/mount.sh &' above
#===========================================================
#mkdir -p /dtv/usb
#mkdir -p /dtv/usb/sdb1
#mkdir -p /dtv/usb/sdb1/network
#
#mount -o user=wdtvlive,password="" -t cifs //192.168.1.9/elements /dtv/usb/sdb1/network
#
#echo "[sdb]
#Vendor : WD
#Product : WDTVLIVE
#Serial : Q80VQLFL
#Devpath : 4
#Lun : 0
#MountDir : /dtv/usb/sdb1
#FileSystem : vfat
#" >> /dtv/usb/log
#==========================================================
exit
/mtd_rwarea/mount.sh
- Code: Select all
#!/bin/sh
# Enable CIFS sharing
insmod /mtd_rwarea/modules/cifs.ko
sleep 10
#====================================================================
# Variables - edit variables below
#====================================================================
CIFS="/dtv/usb/sda1"
IP="//192.168.1.9"
USER="wdtvlive"
PASSWORD="" #enter password for password protected network pc or device
SHARE1="elements"
#SHARE2="share_2_name"
#SHARE3="share_3_name"
#SHARE4="share_4_name"
#====================================================================
# append sda1 notification to log file: - edit product name below
#====================================================================
echo -e "[sda]
Vendor : CIFSMount
Product : WDTVLIVE
Serial : Q80VQLFH
Devpath : 8
Lun : 0
MountDir : /dtv/usb/sda1
FileSystem : vfat
" >> /dtv/usb/log
#====================================================================
#Create Folder for VUSB-Mountpoints
#====================================================================
if [ `mount | grep -c $CIFS` == 0 ]; then
mkdir -p $CIFS
fi
#====================================================================
# Mounting the shares
#====================================================================
if [ `mount | grep -c $CIFS/$SHARE1` == 0 ]; then
echo "Mounting WDTVLIVE Media Shares"
mkdir -p $CIFS/$SHARE1
mount -o user=$USER,password=$PASSWORD -t cifs $IP/$SHARE1 $CIFS/$SHARE1
else
echo "WDTVLIVE Media Shares already Mounted"
fi
#====================================================================
# uncomment below for mounting shares 2 to 4
#====================================================================
# if [ `mount | grep -c $CIFS/$SHARE2` == 0 ]; then
# echo "Mounting Windows Shares 2"
# mkdir -p $CIFS/$SHARE2
# mount -o user=$USER,password=$PASSWORD -t cifs $IP/$SHARE2 $CIFS/$SHARE2
# else
# echo "Windows Shares 2 already Mounted"
# fi
#
# if [ `mount | grep -c $CIFS/$SHARE3` == 0 ]; then
# echo "Mounting Windows Shares 3"
# mkdir -p $CIFS/$SHARE3
# mount -o user=$USER,password=$PASSWORD -t cifs $IP/$SHARE3 $CIFS/$SHARE3
# else
# echo "Windows Shares 3 already Mounted"
# fi
#
# if [ `mount | grep -c $CIFS/$SHARE4` == 0 ]; then
# echo "Mounting Windows Shares 4"
# mkdir -p $CIFS/$SHARE4
# mount -o user=$USER,password=$PASSWORD -t cifs $IP/$SHARE4 $CIFS/$SHARE4
# else
# echo "Windows Shares 4 already Mounted"
# fi
#====================================================================
exit
Now I simply use '/mtd_rwarea/SamyGO.sh' script below to start samygo-extensions, which works very well in mounting all shares on all computers and
devices (eg. wdtv live media box) on network automatically.
- Code: Select all
#!/bin/sh
echo "****** LOADING SAMYGO-EXTENSIONS ******"
/mtd_rwarea/rcSGO &
exit
don't forget to edit required init scripts located in '/<folder>/SamyGO/etc/init.d', below are init scripts I used successfully so far. ChannelInfo is only app I been able to load with 'injectso' on my tv.
'04_04_fusesmb.init' to mount computer shares
'04_04_samba.init' to mount wdtv live media box
'90_90_injectso.init' to load 'ChannelInfo' app
***** to be continued / edited / amended / formatted / etc... ***** please post if you see any errors, or where it can be improved.
more hand work required to create 'SamyGO.sh', 'mount.sh' scripts and/or editing and setting up 'samygo-extensions' init scripts.
I will post my scripts as examples soon.
good luck,
merv07