Ex-Link Cable for C/D/E Series and BD players
On most C-Series the Ex-Link port is located at the VGA connector of the TV.
This page explains how to access the serial console on C-Series TVs with no 3.5mm Ex-Link jack.
If you don't feel capable of soldering such a cable, you can find and buy a cheap (under $5) USB to TTL adapter at eBay.
Contents
Prerequisite: Set the RS232 Jack to "Debug" in the Service_Menu.
- In service menu, enable Debug mode for the RS232 port:
- With TV switched off, press the following sequence on the remote:
- UE,LE models:[INFO] [MENU] [MUTE] [POWER]
- UN,UA models:[MUTE] 1 8 2 [POWER]
- UE,LE models:[INFO] [MENU] [MUTE] [POWER]
- Enter the Control menu and set the value of the RS232 mode to Debug.
- Once you're back to the main Service menu, you will have to power off the TV for normal operation.
- Notice that your TV will reset RS232 mode back to UART when you install another firmware (no matter if it's older or newer).
- With TV switched off, press the following sequence on the remote:
- Have a working Ex-Link Cable for C/D Series at hand (May help if TV bricks).
- If you don't feel capable of soldering such a cable, you can find and buy a cheap (under $5) USB to TTL adapter at eBay.
Cabling
As the TV has TTL level serial output (3.3V) a TTL-level to RS232-level adaptor is needed, normal RS232 Level is up to 15V which can cause seriously damage at your TV!
Nokia CA-42/DKU-5 USB
--Greenhorn 11:17, 7 March 2012 (UTC) This is pre-made Exlink cable that cost less than 3 EUR. You have to do just simple modification of old Nokia data cable.
What you will need:
- Some soldering skills.
- Some means of determining continuity (e.g. a multimeter + hand-held probe leads).
- Some means of stripping insulated wires.
- A willingness to invalidate your warranty.
- A CA-42, or DKU-5 (some later Nokia phone cables e.g. the DKU-2, CA-53, CA-70 - which look similar are actually pure USB cables with no transceiver - DON'T use these, they won't work.
- 15 Pin Male VGA Case Replacement Adapter Set Assembly
- Suitable safety gear.
- Pliers, glue/tape, and volt meter (optional).
Cut and Strip Insulation from the Cable
Cut the data cable about 60mm from the Nokia connector end, strip away approx 20mm of the outer sheath, and remove approx 3mm of insulation from each inner core.
The cables I bought were of two different designs, this may well vary from manufacturer to manufacturer.
1.CA-42 cable, and had 3 wires - ground, data transmit, and data receive.
2.DKU-5 cable had 5 wires - well as txd, rxd, gnd and additional wires can be safely left disconnected.
Identify Each Wire
Establish which core is connected to which pin on the Nokia connector end (Nokia "pop port") using your continuity tester. The part of the "pin-out" which we care about are:
- pin 1 On both of the cables I used, pin 1 is actually missing.
- pin 2 On both of the cables I used, pin 2 is also missing.
- pin 3 (normal length) connected to one of the wires on DKU5, but not needed (isolate this wire)
- pin 4 (sticks out a bit further)+3.3v this is used to power the transceiver on the DKU-5 cable I have (red), but not the CA-42
- pin 5 (not connected)
- pin 6 (normal length) serial Rxd
- pin 7 (normal length) serial Txd
- pin 8 (sticks out a bit further) Signal Ground (GND)
- pin 9 to 14 not connected, and missing on both my connectors
Now get the wires that goes to pin 6,7,8. As you already identified which are Rx, Tx, GND, have to connect/solder the CA-42/DKU-5 wires with the 15 Pin Male VGA Case Replacement Adapter Set Assembly
and build this:
Finally will looks like:
Build MAX232 based cable
- Pin 4 at the VGA connector is RX (from the TV's point of view)
- Pin 11 at the VGA connector is TX (from the TV's point of view)
- Pin 5,6,7,8 and the case at the VGA connector are GND
MAX232 adaptor circuit V1
Here is a simple circuit using a MAX232 chip to convert the signal from TTL to RS232 level. The Pinout of the connectors is shown at the circuit:
And a picture of the completely assembled board:
MAX232 adaptor circuit V2
See here [1]
Warning
As written before, do never connect your TV directly to the serial port of your PC, as the TV has TTL-level (3.3V) and the PC has normal RS232-level your TV could seriously get damaged by dircet connection!
Connection chain over USB
Recent PCs do not have a RS232 port anymore, but there are USB adaptors available. Most of them use a PL2303 chip for converting the RS232 signal to USB.
The following figure shows the connection chain:
This could look like:
Start the terminal
On a Linux PC, install 'cu' (call up) tool from the uucp package and run
cu -l /dev/ttyUSB0 -s 115200
On a Windows PC, use Hyper Terminal or Putty.
Settings are: Speed 115200, 8N1, no flow control.
Turn on TV
Read output
Output should be human readable, like in the following listing. If you get nothing, then your cabling/settings are incorrect. If you get garbage, then you have problems with the MAX232 circuit.
================================================================================ SAMSUNG: v2.6.24_SELP_4.3.x_GA(P20) (Detailed Information: /sys/selp/vd/lspinfo/summary) ================================================================================ 2.0 : 0 : 256 init started: SELP-BusyBox v1.6.0-VD Linux SELP.4.2.1.x (2010-01-21 19:31:50 KST ) multi-call binary starting pid 29, tty '/dev/ttyS1': '/etc/rcS' /etc/rcS start!!!! ===================================================== ROOTFS VERSION : 65-1G-65 ===================================================== it's not dev! starting pid 43, tty '/dev/ttyS1': '/bin/sh' -sh: id: not found 1st partition!! /dtv/PART_FLAG_0 is detected... 1st Partition is selected....
Enabling serial input and recover your TV from bricked hack
- Connect your communications software and open the serial port
I usually use Mac. Even I could open the port and I could see the info from the TV I couldn't interact with keyboard. So I decided to use HyperTerminal. The old Windows built-in communications software. Windows 7 does not include this software, but you can download it from the web. Just google it.
- Turn on your TV set, if everything is connected like described at the steps before the serial log should be shown at the serial terminal.
- The TV will keep on sending info, but when the rithm stops a little bit then send next command.
- Enter 10041004 (when typing the digits No Imput is shown at the serial terminal) and confirm with Enter.
- In my case the SERIAL INPUT MANAGE was activated just pressed 10041004. No ENTER was needed.
after that you should see:
[SERIAL INPUT MANAGE] serial input ENABLE!!!!!
- Now enter 81588
- You will see this:
Aleady made Scenario File...so delete file @@@@@@@@@@@ Key Record Start @@@@@@@@@@@
- Now enter 20089999
- You will see this:
==================================== [ TOP Debug Menu] ------------------------------------ 1 : SubSystem Print On/Off 2 : Platform Print Setting 3 : TD Print Setting 4 : Performance Print Setting 5 : Sdal Print Setting 6 : Sdal Trace Setting 10 : Factory Debug 11 : TD Debug 12 : SubSystem DBG 13 : SubSystem Info Print 20 : Performance File Write 21 : Louvre Print Setting ------------------------------------ 70 : Jade Debug 80 : PVR Debug ==================================== 99 : Exit ==================================== DBG> :
- Now enter 2
- You will see this:
Input Start Level << :
- Now enter 0
- You will see this:
Input End Level << :
- Now enter 0
- You will see this:
==================================== [Platform Debug List] ------------------------------------ 1. Basic Platform 2. Advanced Platform 3. Java ------------------------------------ 99 : Exit ==================================== cmd>
- Now enter 2
- You will see this:
==================================== [Platform Debug List] ------------------------------------ 1 : FrontRunner Debug 2 : DeviceManager Debug 3 : InfoLink Debug 4 : NetworkManager Debug 5 : PVR Debug 6 : MediaPlay Debug 7 : CEC Debug 8 : PSA Debug 9 : SWU Debug 10 : DMR Debug 11 : PMR Debug 12 : HNC Debug 13 : MoIP Debug ------------------------------------ 99 : Exit ==================================== cmd>
- Now enter 2
- You will see this:
==================================== [DeviceManager Debug Module] ------------------------------------ 1 : [OFF] DevMgr 2 : [OFF] DevMgr_SS ==================================== Debug Level = Fatal ==================================== 80 : All OFF 81 : All ON 85 : Set Debug Level ==================================== 90 : DeviceManager MW Debug 91 : DeviceManager SS Debug 92 : ROSE Print Setting 93 : ROSE Debug (For UNIPLAYER) 99 : Exit ==================================== cmd>
- Now enter 90
- You will see this:
==================================== [ Device Manager - TOP Debug Menu] ------------------------------------ 01 : Start DeviceManager 02 : Stop DeviceManager 03 : Suspend Mode Test 04 : Start Stress Test 05 : Stop Stress Test ------------------------------------ 11 : USB Test 12 : DLNA, FLASH, ODD, HDD, MoIP Test ==================================== 21 : Print ALL Device Info 22 : Print Device Info with KEY 23 : Print ALL Partition Info ==================================== FF : Exit ==================================== DBG> : 0x
- Now enter 12
- You will see this:
==================================== [ MISC Debug Menu] ------------------------------------ 01 : PRINT DLNA Device Info 02 : PRINT FLASH Device Info 03 : PRINT ODD Device Info 04 : PRINT HDD Device Info 05 : PRINT MoIP Device Info ==================================== 11 : FLASH, HDD Format Test ==================================== 88 : Shell ==================================== FF : Exit ==================================== DBG> : 0x
- Now enter 11
- You will see this:
Input Partition Key :
- Now enter, usually, for C Series, 14
- If everything goes OK you will see the status of the filesystem and information about if partition has been formated:
Filesystem 1k-blocks Used Available Use% Mounted on /dev/tbml6 3456 3456 0 100% / none 10240 4 10236 0% /dtv none 10240 0 10240 0% /dsm none 235556 0 235556 0% /core none 10240 0 10240 0% /tmp /dev/stl0/14 25478 2480 22998 10% /mtd_rwarea /dev/stl0/19 49664 49664 0 100% /mtd_rocommon /dev/stl0/15 91080 87336 3744 96% /mtd_exe /dev/stl0/16 40832 40832 0 100% /mtd_appdata /dev/stl0/13 10942 130 10812 1% /mtd_contents /dev/stl0/20 102368 47600 54768 46% /mtd_swu /dev/stl0/21 401712 76112 325600 19% /mtd_rwcommon Filesystem 1k-blocks Used Available Use% Mounted on /dev/tbml6 3456 3456 0 100% / none 10240 4 10236 0% /dtv none 10240 0 10240 0% /dsm none 235556 0 235556 0% /core none 10240 0 10240 0% /tmp /dev/stl0/19 49664 49664 0 100% /mtd_rocommon /dev/stl0/15 91080 87336 3744 96% /mtd_exe /dev/stl0/16 40832 40832 0 100% /mtd_appdata /dev/stl0/13 10942 130 10812 1% /mtd_contents /dev/stl0/20 102368 47600 54768 46% /mtd_swu /dev/stl0/21 401712 76112 325600 19% /mtd_rwcommon 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/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) This program is operated over FSR based The flash memory blocks have been erased successfully. +---------------------------------------------------------------------+ | stl.format : STL-level Partitioning Tool for Flash Block Devices | +---------------------------------------------------------------------+ This partition does not have GWL attribute [Block size : 256 KB] [Total unit : 112] [Block Device Information for /dev/bml0/14] -------------------------------------------- Total number of sectors = 51200 (25 MB/28 MB) -------------------------------------------- STL format complete. Success to format Filesystem 1k-blocks Used Available Use% Mounted on /dev/tbml6 3456 3456 0 100% / none 10240 4 10236 0% /dtv none 10240 0 10240 0% /dsm none 235556 0 235556 0% /core none 10240 0 10240 0% /tmp /dev/stl0/19 49664 49664 0 100% /mtd_rocommon /dev/stl0/15 91080 87336 3744 96% /mtd_exe /dev/stl0/16 40832 40832 0 100% /mtd_appdata /dev/stl0/13 10942 130 10812 1% /mtd_contents /dev/stl0/20 102368 47600 54768 46% /mtd_swu /dev/stl0/21 401712 76112 325600 19% /mtd_rwcommon /dev/stl0/14 25478 130 25348 1% /mtd_rwarea 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/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/stl0/14 on /mtd_rwarea type rfs (rw,codepage=utf8,vfat,fcache(blks)=128)
- Now your system is clean. On next reboot your TV will regenerate that partition, and your devices will be mounted again as before.
- Now you've learn this lesson, you can hack your TV again :)