Ex-Link Cable for C/D/E Series and BD players


From SamyGO
Revision as of 16:05, 29 May 2012 by Juzis28 (talk | contribs) (Enabling serial input and recover your TV from bricked hack)
Jump to: navigation, search

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.

Enable Debug mode in service menu

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]
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).

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!

You need to use either Nokia CA-42 or MAX232 based cable from steps below, you don`t need to solder both ;)

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.

CA-42 and DKU-5 disassembled.jpg

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

CA-42 DKU-5 pinout.jpg

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

Plug.jpg

and build this:

VGA-Exlink.jpg

Finally will looks like:
Dku5 exlink.jpg Cable DKU-5.jpg

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:


Circuit.jpg


And a picture of the completely assembled board:


Board.jpg

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: Samsung tv serial console connections.jpg


This could look like:

Picture of cabling.jpg



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, mtd_rwarea partition number. How to check partition number and some known partition numbers are here.

NB! you can damage your TV if wrong partition number is entered!

  • 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 :)