Difference between revisions of "SamyGO for DUMMIES"


From SamyGO
Jump to: navigation, search
(SamyGO System Requirements)
m
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
I think we have a problem here in SamyGO. Older members tend to know a lot about embedded systems and their operating systems, but some newbies don't seem to know how to execute basic programs...
+
This wiki entry is meant to help the beginner TV hacker to get a quick and up-to-date introduction of SamyGO.  
We thought that every one would know that, because of its relative simplicity. But we are wrong there. Also the Wiki pages are too overwhelming for some newbies.
 
  
I think we needed to create a wiki page `SamyGO for DUMMIES" and divert all newbies to that article before starting.
+
As SamyGO is maintained by happy members of the open community, we have a slight problem with a constant shower of support questions. The answers given to those questions range from none, to rude, to extremely technical. This not something we can control, but you can optimize your response by reading and searching thoroughly before posting to our forums. Most info can be found through google with samygo as target site.  
The article might mention about how you could execute programs on a TV or copy them to internal TV memory etc. Easy things, which we don't feel the need to talk a lot about.
 
  
 +
The main problem (!) is that fortunately some of our older members are highly skilled in embedded systems and programming. So many things that is obvious and trivial for them, can be very perplexing for a beginner ("newbie"). In addition we understand that the many Wiki pages and huge number of device variations is often overwhelming for most newbies. So you might receive an answer that is way above your head, and perhaps make you feel stupid. But no question is stupid. So to help minimize this, we created this entry.
  
So I created this page. Me and others will fill this area later on to show simple processes. Also put pictures about running steps of external applications from TV etc...
+
We strongly suggest that you read this and related Wiki entries before diving into the forums. Things that have been well established end up on our wiki pages, while ''work in progress'' are found in the forums. So if you wanna try to get banned and hated, you can always ask for "estimated time of arrival" on some feature on an obscure TV set. If you wanna get loved, you can join us and help others with answering questions, running experiments, compiling and help finding/providing information.
  
=Admin's Message for members to edit this page=
+
<br> '''To Page Editors:''' <span style="color:red">READ this</span>: [[Talk:SamyGO_for_DUMMIES]]<br>
This is page for "dummies".
 
  
Please keep this page '''"simple as possible" and "modularized"''', means, do not put information if it's not really required and do not try to explain other article pages, just give a link to that article ( like Samba Mounting, firmware patcher etc...) Here needed to be just elementary information.
+
= What is SamyGO? =
  
Thanks
+
SamyGO started in the summer of 2009 as a thread at avsforum, under the title [http://avsforum.com/avs-vb/showthread.php?p=14254550#post14254550 ''"Samsung LNXXA650 InfoLink hacking"'']. This thread drew a lot of attention and slowly strayed away from its original topic towards rooting TV's and firmware hacking. It also got quite long, so [[Crew List#erdem_ua|Erdem U. Altinyurt]] and a few others decided to start a [http://sf.net/projects/samygo sourceforge project], specific for enhancement of the firmware of Samsung TV-sets, specifically aimed at models issued from 2008 onwards. Many people stayed on and came along from avsforum to sourceforge.
 
 
 
 
 
 
=What is SamyGO?=
 
SamyGO started in the summer of 2009 as a thread at avsforum, under the title "Samsung LNXXA650 InfoLink hacking". This thread drew a lot of attention and slowly strayed away from its original topic towards rooting TV's and firmware hacking. It also got quite long, so Erdem U. Altinyurt and a few others decided to start a sourceforge project, specific for enhancement of the firmware of Samsung TV-sets, specifically aimed at models issued from 2008 onwards. Many people stayed on and came along from avsforum to sourceforge.
 
  
 
So that is what SamyGO is: A sourceforge project, aimed at enhancing firmware and functionality, specifically for Samsung TV models from 2008 onwards.
 
So that is what SamyGO is: A sourceforge project, aimed at enhancing firmware and functionality, specifically for Samsung TV models from 2008 onwards.
Line 24: Line 17:
 
The activities of the SamyGO project comprise, but are not limited to:
 
The activities of the SamyGO project comprise, but are not limited to:
  
#Gaining access to all available Samsung TV models from 2008 onwards (rooting).
+
# Gaining access to all available Samsung TV models from 2008 onwards (rooting).
#Active development of software extensions to enhance Samsung TV accessibility.
+
# Active development of software extensions to enhance Samsung TV accessibility.
#Active development of applications to run on Samsung TV hardware.
+
# Active development of applications to run on Samsung TV hardware.
#Giving support to project members who want to enhance their TV's functionality.
+
# Giving support to project members who want to enhance their TV's functionality.
  
 
SamyGO is not a program that you can "just run" on your TV. Enhancing your hardware is not THAT simple. It requires some beginner and intermediate computer skills. The community will support you and is committed to helping you make this work for you. Remember however, that you need to do your part too. Read and try to understand. If you don't understand, ask in the appropriate forum. Proceed only once you understand what it is you are trying to achieve.
 
SamyGO is not a program that you can "just run" on your TV. Enhancing your hardware is not THAT simple. It requires some beginner and intermediate computer skills. The community will support you and is committed to helping you make this work for you. Remember however, that you need to do your part too. Read and try to understand. If you don't understand, ask in the appropriate forum. Proceed only once you understand what it is you are trying to achieve.
  
=I want more functionality from my TV. What do I need to do?=
+
<br>
 +
= I want more functionality from my TV. What do I need? =
  
# Find out whether your TV model is supported by SamyGO. See the supported models list at our homepage for that.
+
In order to run SamyGO applications you need the following:
# Find out which firmware version your TV is equipped with. Newer firmwares are not (yet) supported by SamyGO. See also the supported models list.
+
 
# Checkout the access route for your TV, again, this is in the supported models list.
+
# A television that is supported by SamyGo Software. See the [[Compatibility|compatibility list]]. If you cannot find your model listed it '''does not necessarily mean''' that your model is not supported. Ask in the appropriate support forum. Developers are from different countries around the world. They don't have access to every television model on the market to personally test their apps. However all these televisions run on Linux which makes this project possible.
 +
# Find out which firmware version your TV is equipped with. Newer firmwares are not (yet) supported by SamyGO.  
 +
# Checkout the access route for your TV. This is in the supported models list. This is the way you  access your television to run SamyGO apps. If you're smart you'll also get an ex-link cable and take the necessary precautions (active debug and turn off watchdog in the service menu) to be ready in case of a serious user mistake.
 +
# A USB drive formatted with FAT or FAT32.  A rule of thumb is ALWAYS extract the files you are going to use directly to the USB drive. Linux executable have some file attributes that are not preserved if you copy them on NTFS (a Windows only) file system.
 
# Get access! Follow the tutorials in the Wiki pages for that.
 
# Get access! Follow the tutorials in the Wiki pages for that.
 
# Install the software you like/need.
 
# Install the software you like/need.
# Enjoy your improved equipment.
+
# Enjoy your improved equipment!!
  
Each of these steps will be explained briefly.
+
Each of these steps will be explained in the wiki.
  
=What is my TV model code and number ?=
+
= What is my TV model code and number ? =
[[File:Ue40b7020_model.png|right]]Model code and number are almost the same thing. The model number is a short form of the model code. This is a sample model code with the model number written bold.
+
[[File:Ue40b7020_model.png|140px|right]]
 +
 
 +
Model code and number are almost the same thing. The model number is a short form of the model code. This is a sample model code with the model number written bold.
 
  '''UE40B7020'''WWXXC
 
  '''UE40B7020'''WWXXC
 
You can read your model code from the sticker at the side or rear of your TV. Once you found the model, you can check whether it is supported by SamyGO [[Compatibility|here for A- and B-series]] and [[Compatibility_Table_for_C_series_TVs| here for C-series models.]]
 
You can read your model code from the sticker at the side or rear of your TV. Once you found the model, you can check whether it is supported by SamyGO [[Compatibility|here for A- and B-series]] and [[Compatibility_Table_for_C_series_TVs| here for C-series models.]]
  
=What is my firmware model and version ?=
+
= What is my firmware model and version ? =
 
You can learn your firmware number by entering the [[Service Menu]]. Read the detailed wiki page before proceeding with '''GREAT''' caution.  
 
You can learn your firmware number by entering the [[Service Menu]]. Read the detailed wiki page before proceeding with '''GREAT''' caution.  
  
Do not change anything in the service menu until you understand what each setting does. The service menu is like entering the BIOS in a computer. It's where changes can be made to the "brain" that controls television functions. Making  the wrong choice in a setting can result in a completely unexpected result and brick your television.  To navigate the Service menu ''ONLY'' use the up and down button. Use enter to select and the previous button to return to the previous screen. '''DO NOT USE the RIGHT and LEFT''' buttons of your remote while navigating the service menu unless you know what you are trying to do.  Using the left and right navigation butttons may change some variables that may easily brick your TV. If you do make a change to a menu, do not panic. Simply navigate in the opposite direction until the original variable is visible. This is by default the selected option.  
+
Do not change anything in the service menu until you understand what each setting does. The service menu is like entering the BIOS in a computer. It's where changes can be made to the "brain" that controls television functions. Making  the wrong choice in a setting can result in a completely unexpected result and brick your television.  To navigate the Service menu ''ONLY'' use the up and down button. Use enter to select and the previous button to return to the previous screen. '''DO NOT USE the RIGHT and LEFT''' buttons of your remote while navigating the service menu unless you know what you are trying to do.  Using the left and right navigation butttons may change some variables that may easily brick your TV. If you do make a change to a menu, do not panic. Simply navigate in the opposite direction until the original variable is visible. The option that is visible is the selected option.  
  
To identify your firmware version you only need to enter the main screen of the service menu. You do not need to navigate to other Service menu pages.  Identification of your firmware version is important to determine whether your television firmware is supported by SamyGO [[Compatibility|here for A- and B-series]] and here for[[Compatibility_Table_for_C_series_TVs| C-series models.]] You exit the Service menu by turning off the television.
+
To identify your firmware version you only need to enter the main screen of the service menu. You do not need to navigate to other Service menu pages.  Identification of your firmware version is important to determine whether your television firmware is supported by SamyGO [[Compatibility|here for A- and B-series]] and here for [[Compatibility_Table_for_C_series_TVs|C-series models]]. You exit the Service menu by turning off the television.
  
=Is my TV a CI or a CI+ device?=
+
<br>
Samsung has implemented increasing encryption with each series of televsions it releases. Earlier models had no firmware encryption, subsequent firmware releases have [http://en.wikipedia.org/wiki/XOR_cipher XOR]cipher encryption and the latest firmware releases utilize both AES and XOR encryption.  This encryption limits how much editing of a firmware can be done despite the fact that the software Samsung uses is opensource and [http://opensource.samsung.com/ publicly available] per GNU and GPL licensing terms. Knowing the type of firmware utilized is important because it determines what kind of access you can obtain in your television's operating system. There are two types of firmwares based on access, CI and CI+ devices.
+
= Is my TV a CI or a CI+ device? =
 +
 
 +
Samsung has implemented increasing encryption with each series of televisions it releases. Earlier models had no firmware encryption, subsequent firmware releases have [http://en.wikipedia.org/wiki/XOR_cipher XOR] cipher encryption and the latest firmware releases utilize both AES and XOR encryption.  This encryption limits how much editing of a firmware can be done despite the fact that the software Samsung uses is opensource and [http://opensource.samsung.com publicly available] per GNU and GPL licensing terms. Knowing the type of firmware utilized is important because it determines what kind of access you can obtain in your television's operating system. There are two types of firmwares based on access, CI and CI+ devices.
 
   
 
   
A television from the C series is always a CI+ device. B series models have two possibilities: If there is a P in the last part of the model code, it is most likely a CI+ device. The firmware version installed on these TV's has the letters CIP in the firmware version code. Otherwise it is probably a CI device. A series devices do not have encryption.
+
A television from the C or ES series is always a CI+ device. The B series models have two possibilities: If there is a P in the last part of the model code, it is most likely a CI+ device. The firmware version installed on these TV's has the letters "CIP" in the firmware version code, otherwise it is probably a CI device. An "A" series device do not have encryption.
 +
 
 +
Also, do not be fooled by your TV's CAM interface. A TV can be CI+, but the CI+ CAM interface is backward compatible with CI CAM mode, so your TV may report that it is using a CI CAM, although the TV hardware (and firmware) is CI+.
  
 
Some examples:
 
Some examples:
Line 63: Line 66:
 
  LE40B652T2'''P'''XXU device uses T-CHLCIPDEUC firmware, which indicates it is a CI+ device.
 
  LE40B652T2'''P'''XXU device uses T-CHLCIPDEUC firmware, which indicates it is a CI+ device.
 
  UE40B7020W'''W'''XXC device uses T-CHU7DEUC firmware, which indicates it is a CI device.
 
  UE40B7020W'''W'''XXC device uses T-CHU7DEUC firmware, which indicates it is a CI device.
 +
UE40ES5700'''S'''XXH device uses T-MST10PDEUC firmware, which indicates it is a CI+ device.
 +
 
  '''TODO: Add some UN,UE and PS model "codes" here.'''
 
  '''TODO: Add some UN,UE and PS model "codes" here.'''
  
Line 68: Line 73:
 
This is important to know because there are different software solutions depending on whether your TV is a CI or a CI+ device. Software developers frequently develop two versions of software to support these two types of firmwares. Knowing what kind of TV you have will allow you to select the appropriate SamyGO app.
 
This is important to know because there are different software solutions depending on whether your TV is a CI or a CI+ device. Software developers frequently develop two versions of software to support these two types of firmwares. Knowing what kind of TV you have will allow you to select the appropriate SamyGO app.
  
=What are Restricted Firmwares?=
+
<br>
 +
 
 +
= What are Restricted Firmwares? =
 +
 
 
Restricted Firmwares are original Samsung firmwares which have been released after 01 February 2010. These firmwares have been restricted in many ways by Samsung and have limited how much access one can gain inside their television's operating system. Here in the SamyGO community, we believe this is a deliberate effort to hinder and  disable our software development efforts. It is probably also required by the copyright holders of certain parts of the encryption/decryption software for CI+.
 
Restricted Firmwares are original Samsung firmwares which have been released after 01 February 2010. These firmwares have been restricted in many ways by Samsung and have limited how much access one can gain inside their television's operating system. Here in the SamyGO community, we believe this is a deliberate effort to hinder and  disable our software development efforts. It is probably also required by the copyright holders of certain parts of the encryption/decryption software for CI+.
  
 
Functions that have been removed by the release of these Restricted Firmwares are:
 
Functions that have been removed by the release of these Restricted Firmwares are:
*ExLink Access , that allows us Serial connection to TV's bash line.
+
* ExLink Access, that allows us Serial connection to TV's bash line.
*Removal of Top Debug Menu that let us allow to configure every property of TV.
+
* Removal of Top Debug Menu that let us allow to configure every property of TV.
*Removal of u-boot code for that we use to run External firmwares and un-bricking TV.
+
* Removal of u-boot code for that we use to run External firmwares and un-bricking TV.
*Removal of program copy and execution ability from USB disks.
+
* Removal of program copy and execution ability from USB disks.
*Removal of Alternative firmware firmware section to avoid reverting older firmwares.
+
* Removal of Alternative firmware firmware section to avoid reverting older firmwares.
*Additional security enhancements to avoid to flash hacked firmwares.
+
* Additional security enhancements to avoid to flash hacked firmwares.
  
(*'''TODO: Anything that I forgot?")
+
<small><font color=red>TODO: Anything that I forgot?</font></small>
  
 
If you are interested in applying any of the SamyGO software enhancements to your television's firmware, it's better not to have received any of  these firmwares. However, do not despair if you have had your television crippled by these "updates". The ingenuity and hard work of the developers  of the SamyGO community have found several work-arounds that will allow you to restore your television to an older firmware that allows SamyGO applications to run. They have also simplified and automated part of this process as much as it is legally possible.   
 
If you are interested in applying any of the SamyGO software enhancements to your television's firmware, it's better not to have received any of  these firmwares. However, do not despair if you have had your television crippled by these "updates". The ingenuity and hard work of the developers  of the SamyGO community have found several work-arounds that will allow you to restore your television to an older firmware that allows SamyGO applications to run. They have also simplified and automated part of this process as much as it is legally possible.   
  
Unfortunately, if you have a restricted firmware, you can't just plug and play. There are several steps that you need to take to gain back "ownership" of your television.  Several steps are involved including, copying programs to your TV memory by using an open vulnerabilities such as the "Children Menu" hack or the Nurisam Trojan. This will allow you to move applications to TV and enjoy additional features currently no possible...
+
Unfortunately, if you have a restricted firmware, you can't just plug and play. There are several steps that you need to take to gain back "ownership" of your television.  Several steps are involved including, copying programs to your TV memory by using an open vulnerabilities such as the ''"Children Menu"'' hack or the Nurisam [[Forced revert back to older firmware#Trojan Horse|Trojan]]. This will allow you to move applications to TV and enjoy additional features currently no possible...
  
=How can I get access to my TV?=
+
<br>
Samsung televisions have an embedded operating system based on linux. When you turn your television on you are essentially operating a computer as a user. You are given limited access to core parts of the operating system by design. If you want more control of what your television you must give it commands to run additional pieces of software with the functionality you desire. To do this you need to obtain access to the television's operating system as a [http://en.wikipedia.org/wiki/Superuser superuser or with root access].
+
= How can I get access to my TV? =
 +
 
 +
Samsung televisions have an embedded operating system based on Linux. When you turn your television on you are essentially operating a computer as a user. You are given limited access to core parts of the operating system by design. If you want more control of what your television you must give it commands to run additional pieces of software with the functionality you desire. To do this you need to obtain access to the television's operating system as a [http://en.wikipedia.org/wiki/Superuser superuser or with root access].
 
To control any Linux-based system, you need root access to it (Administrator privileges in Windows). Depending on the type of TV and version of the firmware, this can be achieved in a number of ways. In the compatibility tables you can find the methods that have been used successfully for each type (The list is not complete yet, work in progress).
 
To control any Linux-based system, you need root access to it (Administrator privileges in Windows). Depending on the type of TV and version of the firmware, this can be achieved in a number of ways. In the compatibility tables you can find the methods that have been used successfully for each type (The list is not complete yet, work in progress).
 
Depending on the firmware and television model  you may be able to do this with a simple software installation from a USB drive or you may need to install modified firmware or may need to revert to an older version of firmware that has not been restricted by Samsung.
 
Depending on the firmware and television model  you may be able to do this with a simple software installation from a USB drive or you may need to install modified firmware or may need to revert to an older version of firmware that has not been restricted by Samsung.
 
You can gain access to your televisions operating in several ways.Consult the compatibility table at the bottom of this page to determine which method you can use:
 
You can gain access to your televisions operating in several ways.Consult the compatibility table at the bottom of this page to determine which method you can use:
 +
 
   
 
   
#'''USB''': Loading software from the USB port by flash drive. Restricted firmware has disallowed access to the built in functionality. This is also how modified firmware is flashed.
+
# '''USB''': Loading software from the USB port by flash drive. Restricted firmware has disallowed access to the built in functionality. This is also how patched firmware is flashed. This is also how content library SamyGO apps can be executed. A variation of this method ia hotel@USB which is required for newer television models like the C series.
#'''Telnet''': For models with ethernet connectivity it is possible to gain telnet access via your computer network. Non ethernet models may also become network accessible by using a usb wi-fi dongle. This required that you have already obtained root acess and your your television has been modified to allow network access (less common way).  
+
<br>
#'''Ex-link Port''' An Ex-link port or service port which allows direct connection from your computer to the television.  
+
# '''Telnet''': Once you have enabled telnet either by patching the firmware or running the telnet enabler app, televisions with ethernet connectivity can be controlled by telnet (or SSH) access via your computer network. Non Ethernet models may also become network accessible by using a usb wi-fi dongle, another SamyGO application. These  are advanced functions and should be executed once you understand these functions better.  
 +
<br>
 +
# '''Ex-link Port''' An Ex-link port or service port which allows direct connection from your computer to the television. Many TV models  (A and B series) are accessible through a serial port, called Ex-link. This is a serial port, with a 3.5mm stereo jack as a connector port that is called "connector for service only" in your television manual. To use this port, you will need a serial cable with the right layout, which is given for non-CI+ devices [[Enable_Serial_Console_on_non_CI%2B_Devices|'''here''']]. On the same page you will find how to enter the service menu of your TV, at least for a number of older types of televisions. Newer models  (like C series televisions) do not have this access mode. It would be wise to make or buy such a cable prior to changing your firmware in the event of a catastrophic event that requires this connection to recover your television functionality (unbrick your TV).
  
== The Ex-Link port ==
+
<br>
Many TV models are accessible through a serial port, called Ex-link. This port is addressed in the manuals as "connector for service only". It is a serial port, with a 3.5mm stereo jack as connector. To use it, you will need a serial cable with the right layout, which is given [[Enable_Serial_Console_on_non_CI%2B_Devices|'''here'''.]] On the same page you will find how to enter the service menu of your TV, at least for a number of older types. It would be wise to make or buy such a cable prior to changing your firmware in the event of a catastrophic event that requires this connection to recover your television functionality(unbrick your TV).
 
  
=SamyGO System Requirements=
+
= Understanding SamyGO app vs. SamyGO firmware modification =
#A television that is supported by SamyGo Software. See the [[Compatibility| compatibility list]] (Absence of your model '''does not mean''' that your model is absolutely not supported.)
 
#Your television must have a firmware software that is [[Is_my_TV_supported%3F|unrestricted]]. (Even if it's restricted, you have things that can help you regain access.)
 
#A computer with internet connection to download the required files.
 
#A little bit of courage and nerve to follow through the entire process.
 
#A USB drive formatted with FAT32. NOTE for windows users: DO NOT extract the files contained in the zip and rar files you download to an NTFS partition and then to your flash drive. Certain file attributes that are necessary for linux executable files and scripts are lost. A rule of thumb is ALWAYS extract the files you are going to use directly to the USB drive.
 
#If you're smart you'll also get a ex-link cable and take the previously stated necessary precautions (active debug and turn off watchdog in the service menu) to be ready in case the television gets bricked.
 
 
 
=Understanding SamyGO app vs. SamyGO firmware modification=
 
  
 
Many developers contribute to the SamyGO community and the goal of each application they develop is to enhance the functionality of your television. Applications can be  typically be used in two ways:
 
Many developers contribute to the SamyGO community and the goal of each application they develop is to enhance the functionality of your television. Applications can be  typically be used in two ways:
  
# Standalone app  
+
# Standalone app aka as a SamyGO app or extension
 
# Incorporation of the application function into the TV firmware
 
# Incorporation of the application function into the TV firmware
  
 
The first method does not require any firmware modifications unless you have restricted firmware.  In that case you must first unrestrict your television's firmware before running a SamyGO app. You gain the functionality you want by running the app. For example if you like big yellow subtitles on your TV you can activate the app then watch your movie with big yellow subtitles.  
 
The first method does not require any firmware modifications unless you have restricted firmware.  In that case you must first unrestrict your television's firmware before running a SamyGO app. You gain the functionality you want by running the app. For example if you like big yellow subtitles on your TV you can activate the app then watch your movie with big yellow subtitles.  
  
The second method involves advanced scripting. Ingenious developers have developed some scripts that makes this process fairly simple and easy. Other scripts require careful editing of files inside your computer and should be done with caution. Bricking your TV is a possibility with the method.
+
The second method involves advanced scripting modifications to your television firmware. Ingenious developers have developed some scripts that makes this process fairly simple and easy. Other scripts require careful editing of files inside your computer and should be performed with caution. Bricking your TV is a possibility with the method. It would be wise to have an exlink cable so you can unbrick your television.
  
So what's the difference between the two methods? You must activate the app each time your turn on your TV if you use a SamyGO app . A firmware modification is permanent and automatic, each time you turn on your TV. It may be harder to do but in the long run it saves you a lot of time.  
+
So what's the difference between the two methods? You must activate the app each time your turn on your TV if you use a SamyGO app. A firmware modification is permanent and automatic, each time you turn on your TV. It may be harder to do but in the long run it saves you a lot of time.
  
=Firmware Modifications=
+
<br>
==Reverting back to unrestricted firmware==
+
= Firmware Modifications =
Loading third party software has been limited with the latest versions of restricted firmware. If you are in the lucky group of television owners with unrestricted firmware then you can skip this section, you are in luck and can stop worrying about firmware restrictions! If your are in the unlucky group of restricted firmware (usually any firmware after dated updated in 2010) then you must revert back to an unrestricted firmware first prior running any SamyGO applications on your TV. Developers at SamyGO have made this a fairly simple process by using a script that automates this process. A list of supported television models and detailed instructions can be [[Forced_revert_back_to_older_firmware| found here]]. Please review all this in detail prior to proceeding with any modifications or running any scripts.
 
  
==Patching Firmware with the SamyGO Firmware Patcher==
+
In this section we will discuss modifications that cause permanent changes in your television. You should disable automatic updates on the software upgrade menu of your television in order to avoid accepting an official Samsung update that will disable your SamyGO apps.
B-series models (Non CI+) with older firmwares (pre february 2010) have firmware update files which are only trivially encrypted by Samsung and can be modified to allow additional functionality.The [[SamyGO_Firmware_Patcher| SamyGO firmware patch script]] is based on python a computer programming language and changes some of the startup scripts inside of the firmware. This allows additional functionality in the firmware.  
+
 
 +
== Reverting back to unrestricted firmware ==
 +
Loading third party software has been limited with the latest versions of restricted firmware. If you are in the lucky group of television owners with unrestricted firmware then you can skip this section, you are in luck and can stop worrying about firmware restrictions! If your are in the unlucky group of restricted firmware (usually any firmware after dated updated in 2010) then you must revert back to an unrestricted firmware first prior running any SamyGO applications on your TV. Developers at SamyGO have made this a fairly simple process by using a script that automates this process. A list of supported television models and detailed instructions can be [[Forced_revert_back_to_older_firmware|found here]]. Please review all this in detail prior to proceeding with any modifications or running any scripts.
 +
 
 +
== Patching Firmware with the SamyGO Firmware Patcher ==
 +
B-series models (Non CI+) with older firmwares (pre february 2010) have firmware update files which are only trivially encrypted by Samsung and can be modified to allow additional functionality. The [[SamyGO_Firmware_Patcher|SamyGO firmware patch script]] is based on python a computer programming language and changes some of the startup scripts inside of the firmware. This allows additional functionality in the firmware.  
 
Such functionality includes
 
Such functionality includes
# Applies the [[Video_AR_Fix|AR v1 Fix]]. This properly resizes the picture proportions n Samsung B series TVs
+
# Applies the [[Video AR Fix|AR v1 Fix]]. This properly resizes the picture proportions n Samsung B series TVs
 
# Allows you to increase the size of srt subtitles shown in movie playback and  
 
# Allows you to increase the size of srt subtitles shown in movie playback and  
 
# Subtitle color can change as well. SamyGO favorite is yellow, (ARGB code for yellow is: 0xFFFFFF00, for original color: 0xFFF0F0F0)
 
# Subtitle color can change as well. SamyGO favorite is yellow, (ARGB code for yellow is: 0xFFFFFF00, for original color: 0xFFF0F0F0)
# Telnet, advanced or patch.
+
# Telnet, can be enabled permanently if you create an advanced startup script.
  
Once the script completes you will have a new modified firmware with the aforementioned modifications. Once you flash this modified software to your television, you will enjoy the above enhancements but will also be able to run additional software which will enhance your television's functionality even further. This modified firmware makes it much easier to gain root access through [http://en.wikipedia.org/wiki/Telnet telnet].
+
Once the [[SamyGO_Firmware_Patcher|SamyGO firmware patch script]] completes you will have a new modified firmware with the above modifications enabled. When you flash this modified software to your television, you will enjoy the above enhancements but will also be able to run all the SamyGO apps which will enhance your television's functionality. This modified firmware makes it much easier to gain root access through [http://en.wikipedia.org/wiki/Telnet telnet].
  
==Flashing your modified firmware==
+
== Flashing your modified firmware ==
 
This is outlined in your service manual.  
 
This is outlined in your service manual.  
#Make sure your firmware is copied to the root of your FAT32 formatted USB drive.
+
# Make sure your firmware is copied to the root of your FAT32 formatted USB drive.
#You can reach the software upgrade menu from your remote control: Menu->Help->Software Upgrade->USB
+
# You can reach the software upgrade menu from your remote control: ''Menu'' -> ''Help'' -> ''Software Upgrade'' -> ''USB''
#You get a pause for 30 secs while your TV searches for a valid firmware.
+
# You get a pause for 30 secs while your TV searches for a valid firmware.
#Install your modified firmware.  
+
# Install your modified firmware.  
#Remember altering your firmware and trying to install it carried risk of permanent damage. Please read the wiki and become acquainted with what you are trying to do.
+
# Remember altering your firmware and trying to install it carried risk of permanent damage. Please read the [[Do the SamyGO tools void my warranty?|wiki]] and become acquainted with what you are trying to do.
 +
 
 +
If you are more adventurous and feel confident enough you can also update the firmware by direct access by using the exlink cable. Read about this: [[Enable Serial Console on non CI+ Devices]].
 +
 
 +
<br>
 +
= Using a SamyGO app =
  
If you are more adventurous and feel confident enough you can also update the firmware by direct access by using the exlink cable. Read about this: [[Enable_Serial_Console_on_non_CI%2B_Devices]].
+
If you have flashed the modified firmware or if you have an unrestricted firmware you can start playing and enjoying the [[Content Library applications list|SamyGO applications]].  
 +
There are wiki pages with lists of apps can be found (for series [[Content Library applications list|'''B''']] and [[Applications list for C seres TVs|'''C''']]). This pages typically has a brief description of the app functionality, a link to download the file as well as a link to the forum where the develop seeks, feedback, can help with troubleshooting  etc. Newer television models have
  
=Using Content Library apps=
+
Depends of you TV model you can run applications using:
 +
* Modified firmware (for A-series)
 +
* [[The B Series Wiki#How can I run a SamyGO app on my B-series TV.3F|Content Library menu]] or [[The B Series Wiki#I like the SamyGO apps. Can I make them run automatically each time I turn on my TV.3F|run direct after TV start]] (for B-series)
 +
* USB pendrive (after [[The C Series Wiki#Hacking.2Frooting|hack]] C-series)
 +
* Samsung Apps widget for [[Rooting_D_series_arm_cpu_models|hack]] installed direct to TV from Internet (D-series only)
  
If you have flashed the modified firmware or if you have an unrestricted firmware you can start playing and enjoying the [[Content_Library_applications_list|SamyGO applications]].  
+
A good app to start with is the SamyGO Extensions Pack. Read about it [[SamyGO Extensions Pack|here]].
There is a [[Content_Library_applications_list|wiki page]] where a list of apps can be found. This page typically has a brief description of the app functionality, a link to download the file as well as a link to the forum where the develop seeks, feedback, can help with troubleshooting  etc.
 
  
To run an app you  should extract it directly to the root of your FAT32 formatted flash drive. Common extraction programs are winzip or winrar. You plug your Flash drive into your TV USB port. If your TV is turned on a popup will appear that will prompt you to select: Media play, content library or software upgrade. Select Content Library.
+
<br>
In the content library menu select USB (left hand side) and move your highlighter to the games and/or children. You should see a list of the apps on your flash drive.
 
  
You have two options here. You can run the app from the flash drive or you can copy the app to the television internal memory. To run an app highlight it, hit enter on your remote and then play. If you don't get an error message then your app should be running.
+
= Using Internet@TV =
Some apps run into problems if your USB flash drive is not fast enough to convey data. Preferably these are the apps you want to install, i.e. copy on your TV internal memory.   
 
  
A good app to start with is the SamyGO Extensions pack. Read about it [[SamyGO_Extensions_Pack|here]].
+
Internet@TV (also Samsung Apps) is the name Samsung has given to their latest television appliances which converge the internet and televisions in once device. They are a collection of internet apps which due to their graphical user interface are called widgets. Samsung, in its short-sightedness decided that some of the newer widgets would not be made available to older television model owners. However these older televisions (B-series) can actually run couple of the new widgets included in the C-series. You can install your own widgets by setting up a webserver on your home computer and directing your television to obtain the updated from your computer.
  
 +
Nice and easy to use step by step [[How to install custom widgets to TV|instruction to install custom widgets to TV]].
  
=Using Internet@TV =
+
Widgets can be downloaded from: [http://samygo.ugu.pl/widget/lista here] (all work for '''B''') & [http://lb.6f.sk/widgets/ here] (from '''C''').
 +
Also check unofficial widgets lists for: '''[[Internet@TV widgets list|B-series]]''', '''[[Samsung Apps widgets list|C-series & D-series]]'''.
  
Internet@TV is the name Samsung has given to their latest television appliances which converge the internet and televisions in once device. They are a collection of Samsung apps which due to their graphical user interface are called widgets.  Samsung, in its short-sightedness decided that some of the newer widgets would not be made available to older television model owners. However these older televisions (B-series) can actually run the new widgets included in the C-series. Examples of these new widgets include: Google Maps, Facebook, USA today News etc. You can install widgets your own widgets by setting up a webserver on your home computer.
+
<br>
  
You may want to try out one of member's website who has pics and [http://translate.google.com/translate?hl=us&sl=pl&tl=en&u=http://moras86.ugu.pl/samsung/faq/%23Internet_widgets step by step instructions].
+
= Using Hotel@USB =
  
=Using Hotel@USB =
+
Hotel mode is a mode for locking down menu access and input selection on the display. It is intended for use in hotels, health clubs, and other environments to restrict guests from changing the displays settings. However entering this mode has been used as a way to work around some of the restrictions that newer firmware releases has caused. This true about the C series televisions. You should refer to the compatibility table to determine if this method applies to your television model.
'''TODO'''
+
 
 +
<small><font color=red>'''TODO'''</font></small>
 
<!--
 
<!--
  
Line 171: Line 189:
 
-->
 
-->
  
=Compatibility table (just for evaluation purposes)=
+
<br>
 +
= Compatibility table (just for evaluation purposes) =
 +
 
 
Below is a first draft of a new version of a comprehensive compatibility table for SamyGO. It is here for evaluation purposes, please feel free to comment on it in the forum. Since this is a still a draft, not all links are there yet, or working. Also probably not all models have been put in yet, and the ones that are there have not yet been completed, I'm still working on it (especially finding the links into the forum pages is a tough job).
 
Below is a first draft of a new version of a comprehensive compatibility table for SamyGO. It is here for evaluation purposes, please feel free to comment on it in the forum. Since this is a still a draft, not all links are there yet, or working. Also probably not all models have been put in yet, and the ones that are there have not yet been completed, I'm still working on it (especially finding the links into the forum pages is a tough job).
 
+
<small>
 
The main changes are:
 
The main changes are:
 
+
* removal of the display type (I think you know what you bought)
removal of the display type (I think you know what you bought)
+
* Indication of access routes with letters.
 
+
* combination of a whole bunch of options into a few columns
Indication of access routes with letters.
 
 
 
combination of a whole bunch of options into a few columns
 
 
 
 
Oh, and never mind the thin blank lines in the table, they're just empty table entries.
 
Oh, and never mind the thin blank lines in the table, they're just empty table entries.
 +
</small>
  
 
+
<font color=gray>Note: The SamyGO project is compatible with most of the other LN, LA, UN, or UA model TV's. We just haven't tested them yet. No need to get worried about that.</font>
Note: The SamyGO project is compatible with most of the other LN, LA, UN, or UA model TV's. We just haven't tested them yet. No need to get worried about that.
 
 
<!--
 
<!--
 
top page comments get chopped off by mediawiki, so be sure there's always at least one printable line above this comment.
 
top page comments get chopped off by mediawiki, so be sure there's always at least one printable line above this comment.
Line 216: Line 232:
 
<!--
 
<!--
  
The actual table,
+
The actual table, header:
 
 
header:
 
  
 
-->
 
-->
Line 233: Line 247:
 
[[How_to_get_root_access_on_a_C_series_TV|I: Internet@TV]] <br>
 
[[How_to_get_root_access_on_a_C_series_TV|I: Internet@TV]] <br>
 
[[Hacking_C5xx(x),_C65x(x)over_Hotel_mode|H: hotel@usb]] <br>
 
[[Hacking_C5xx(x),_C65x(x)over_Hotel_mode|H: hotel@usb]] <br>
 +
S: SMART HUB <br>
 
O: otherwise
 
O: otherwise
 
!width="90" align="left"|Root Access <br>
 
!width="90" align="left"|Root Access <br>
 
[[How_to_enable_Telnet_on_samsung_TV's|T: telnet]] <br> S: ssh
 
[[How_to_enable_Telnet_on_samsung_TV's|T: telnet]] <br> S: ssh
!width="120" align="left"|Share types<br>U: UPnP<br>S: Samba<br>N: NFS
+
!width="120" align="left"|Share types<br>U: UPnP<br>S: Samba<br>N: NFS <br>F: FTP
 
!width="150" align="left"|Options:<br>A: Video AR<br>S: subtitles<br>P: PVR<br>G: guide+<br>O: other
 
!width="150" align="left"|Options:<br>A: Video AR<br>S: subtitles<br>P: PVR<br>G: guide+<br>O: other
 
!width="250"|Notes
 
!width="250"|Notes
 +
<!--
 +
 +
 +
-->
 +
|-
 +
!colspan="9" bgcolor="#cfcfcf"|2012 models (ES-series)
 +
<!--
 +
 +
-->
 +
|-align="center"
 +
| UExxES5700
 +
| ARM
 +
| T-MST10PDEUC
 +
| 1027.1
 +
!bgcolor="#90ff90"| S
 +
!bgcolor="#ffff90"| T
 +
!bgcolor="#ffff90"| F
 +
!bgcolor="#ffff90"|
 +
| << WIP >>
 
<!--
 
<!--
  
Line 413: Line 447:
 
-->
 
-->
 
|-align="center"
 
|-align="center"
| <!-- TV type -->
+
|UExxC8700 <!-- TV type -->
| <!-- CPU -->
+
|ARM <!-- CPU -->
| <!-- FW name -->
+
|T-VALDEUC <!-- FW name -->
| <!-- FW version -->
+
|3003 <!-- FW version -->
| <!-- Rooted via E:exlink, F:FW patcher C:contents lib I:internet@tv H:hotel@usb O:otherwise-->
+
!bgcolor="#90ff90"|I <!-- Rooted via E:exlink, F:FW patcher C:contents lib I:internet@tv H:hotel@usb O:otherwise-->
| <!-- root access: T: telnet S: ssh -->
+
|T, ? <!-- root access: T: telnet S: ssh -->
| <!-- Share types: U: UPnP S: Samba/CIFS N: NFS -->
+
|?, S, ? <!-- Share types: U: UPnP S: Samba/CIFS N: NFS -->
| <!-- Options  A: Video AR fix, S: enhanced subs P:PVR G: guide+ O: other-->
+
|? <!-- Options  A: Video AR fix, S: enhanced subs P:PVR G: guide+ O: other-->
 +
| <!-- Notes (may be moved to separate text below the table -->
 +
<!--
 +
 
 +
-->
 +
|-align="center"
 +
|UExxC8700 <!-- TV type -->
 +
|ARM <!-- CPU -->
 +
|T-VALDEUC <!-- FW name -->
 +
|3009.2 <!-- FW version -->
 +
!bgcolor="#90ff90"|H <!-- Rooted via E:exlink, F:FW patcher C:contents lib I:internet@tv H:hotel@usb O:otherwise-->
 +
|T, ? <!-- root access: T: telnet S: ssh -->
 +
|?, S, ? <!-- Share types: U: UPnP S: Samba/CIFS N: NFS -->
 +
|? <!-- Options  A: Video AR fix, S: enhanced subs P:PVR G: guide+ O: other-->
 
| <!-- Notes (may be moved to separate text below the table -->
 
| <!-- Notes (may be moved to separate text below the table -->
 
<!--
 
<!--

Latest revision as of 15:07, 18 December 2012

This wiki entry is meant to help the beginner TV hacker to get a quick and up-to-date introduction of SamyGO.

As SamyGO is maintained by happy members of the open community, we have a slight problem with a constant shower of support questions. The answers given to those questions range from none, to rude, to extremely technical. This not something we can control, but you can optimize your response by reading and searching thoroughly before posting to our forums. Most info can be found through google with samygo as target site.

The main problem (!) is that fortunately some of our older members are highly skilled in embedded systems and programming. So many things that is obvious and trivial for them, can be very perplexing for a beginner ("newbie"). In addition we understand that the many Wiki pages and huge number of device variations is often overwhelming for most newbies. So you might receive an answer that is way above your head, and perhaps make you feel stupid. But no question is stupid. So to help minimize this, we created this entry.

We strongly suggest that you read this and related Wiki entries before diving into the forums. Things that have been well established end up on our wiki pages, while work in progress are found in the forums. So if you wanna try to get banned and hated, you can always ask for "estimated time of arrival" on some feature on an obscure TV set. If you wanna get loved, you can join us and help others with answering questions, running experiments, compiling and help finding/providing information.


To Page Editors: READ this: Talk:SamyGO_for_DUMMIES

What is SamyGO?

SamyGO started in the summer of 2009 as a thread at avsforum, under the title "Samsung LNXXA650 InfoLink hacking". This thread drew a lot of attention and slowly strayed away from its original topic towards rooting TV's and firmware hacking. It also got quite long, so Erdem U. Altinyurt and a few others decided to start a sourceforge project, specific for enhancement of the firmware of Samsung TV-sets, specifically aimed at models issued from 2008 onwards. Many people stayed on and came along from avsforum to sourceforge.

So that is what SamyGO is: A sourceforge project, aimed at enhancing firmware and functionality, specifically for Samsung TV models from 2008 onwards.

The activities of the SamyGO project comprise, but are not limited to:

  1. Gaining access to all available Samsung TV models from 2008 onwards (rooting).
  2. Active development of software extensions to enhance Samsung TV accessibility.
  3. Active development of applications to run on Samsung TV hardware.
  4. Giving support to project members who want to enhance their TV's functionality.

SamyGO is not a program that you can "just run" on your TV. Enhancing your hardware is not THAT simple. It requires some beginner and intermediate computer skills. The community will support you and is committed to helping you make this work for you. Remember however, that you need to do your part too. Read and try to understand. If you don't understand, ask in the appropriate forum. Proceed only once you understand what it is you are trying to achieve.


I want more functionality from my TV. What do I need?

In order to run SamyGO applications you need the following:

  1. A television that is supported by SamyGo Software. See the compatibility list. If you cannot find your model listed it does not necessarily mean that your model is not supported. Ask in the appropriate support forum. Developers are from different countries around the world. They don't have access to every television model on the market to personally test their apps. However all these televisions run on Linux which makes this project possible.
  2. Find out which firmware version your TV is equipped with. Newer firmwares are not (yet) supported by SamyGO.
  3. Checkout the access route for your TV. This is in the supported models list. This is the way you access your television to run SamyGO apps. If you're smart you'll also get an ex-link cable and take the necessary precautions (active debug and turn off watchdog in the service menu) to be ready in case of a serious user mistake.
  4. A USB drive formatted with FAT or FAT32. A rule of thumb is ALWAYS extract the files you are going to use directly to the USB drive. Linux executable have some file attributes that are not preserved if you copy them on NTFS (a Windows only) file system.
  5. Get access! Follow the tutorials in the Wiki pages for that.
  6. Install the software you like/need.
  7. Enjoy your improved equipment!!

Each of these steps will be explained in the wiki.

What is my TV model code and number ?

Ue40b7020 model.png

Model code and number are almost the same thing. The model number is a short form of the model code. This is a sample model code with the model number written bold.

UE40B7020WWXXC

You can read your model code from the sticker at the side or rear of your TV. Once you found the model, you can check whether it is supported by SamyGO here for A- and B-series and here for C-series models.

What is my firmware model and version ?

You can learn your firmware number by entering the Service Menu. Read the detailed wiki page before proceeding with GREAT caution.

Do not change anything in the service menu until you understand what each setting does. The service menu is like entering the BIOS in a computer. It's where changes can be made to the "brain" that controls television functions. Making the wrong choice in a setting can result in a completely unexpected result and brick your television. To navigate the Service menu ONLY use the up and down button. Use enter to select and the previous button to return to the previous screen. DO NOT USE the RIGHT and LEFT buttons of your remote while navigating the service menu unless you know what you are trying to do. Using the left and right navigation butttons may change some variables that may easily brick your TV. If you do make a change to a menu, do not panic. Simply navigate in the opposite direction until the original variable is visible. The option that is visible is the selected option.

To identify your firmware version you only need to enter the main screen of the service menu. You do not need to navigate to other Service menu pages. Identification of your firmware version is important to determine whether your television firmware is supported by SamyGO here for A- and B-series and here for C-series models. You exit the Service menu by turning off the television.


Is my TV a CI or a CI+ device?

Samsung has implemented increasing encryption with each series of televisions it releases. Earlier models had no firmware encryption, subsequent firmware releases have XOR cipher encryption and the latest firmware releases utilize both AES and XOR encryption. This encryption limits how much editing of a firmware can be done despite the fact that the software Samsung uses is opensource and publicly available per GNU and GPL licensing terms. Knowing the type of firmware utilized is important because it determines what kind of access you can obtain in your television's operating system. There are two types of firmwares based on access, CI and CI+ devices.

A television from the C or ES series is always a CI+ device. The B series models have two possibilities: If there is a P in the last part of the model code, it is most likely a CI+ device. The firmware version installed on these TV's has the letters "CIP" in the firmware version code, otherwise it is probably a CI device. An "A" series device do not have encryption.

Also, do not be fooled by your TV's CAM interface. A TV can be CI+, but the CI+ CAM interface is backward compatible with CI CAM mode, so your TV may report that it is using a CI CAM, although the TV hardware (and firmware) is CI+.

Some examples:

LE40B652T4WXXU device uses T-CHL7DEUC firmware, which indicates it is a CI device.
LE40B652T2PXXU device uses T-CHLCIPDEUC firmware, which indicates it is a CI+ device.
UE40B7020WWXXC device uses T-CHU7DEUC firmware, which indicates it is a CI device.
UE40ES5700SXXH device uses T-MST10PDEUC firmware, which indicates it is a CI+ device.
TODO: Add some UN,UE and PS model "codes" here.

You can also find your firmware name and version number in the Service Menu. This is important to know because there are different software solutions depending on whether your TV is a CI or a CI+ device. Software developers frequently develop two versions of software to support these two types of firmwares. Knowing what kind of TV you have will allow you to select the appropriate SamyGO app.


What are Restricted Firmwares?

Restricted Firmwares are original Samsung firmwares which have been released after 01 February 2010. These firmwares have been restricted in many ways by Samsung and have limited how much access one can gain inside their television's operating system. Here in the SamyGO community, we believe this is a deliberate effort to hinder and disable our software development efforts. It is probably also required by the copyright holders of certain parts of the encryption/decryption software for CI+.

Functions that have been removed by the release of these Restricted Firmwares are:

  • ExLink Access, that allows us Serial connection to TV's bash line.
  • Removal of Top Debug Menu that let us allow to configure every property of TV.
  • Removal of u-boot code for that we use to run External firmwares and un-bricking TV.
  • Removal of program copy and execution ability from USB disks.
  • Removal of Alternative firmware firmware section to avoid reverting older firmwares.
  • Additional security enhancements to avoid to flash hacked firmwares.

TODO: Anything that I forgot?

If you are interested in applying any of the SamyGO software enhancements to your television's firmware, it's better not to have received any of these firmwares. However, do not despair if you have had your television crippled by these "updates". The ingenuity and hard work of the developers of the SamyGO community have found several work-arounds that will allow you to restore your television to an older firmware that allows SamyGO applications to run. They have also simplified and automated part of this process as much as it is legally possible.

Unfortunately, if you have a restricted firmware, you can't just plug and play. There are several steps that you need to take to gain back "ownership" of your television. Several steps are involved including, copying programs to your TV memory by using an open vulnerabilities such as the "Children Menu" hack or the Nurisam Trojan. This will allow you to move applications to TV and enjoy additional features currently no possible...


How can I get access to my TV?

Samsung televisions have an embedded operating system based on Linux. When you turn your television on you are essentially operating a computer as a user. You are given limited access to core parts of the operating system by design. If you want more control of what your television you must give it commands to run additional pieces of software with the functionality you desire. To do this you need to obtain access to the television's operating system as a superuser or with root access. To control any Linux-based system, you need root access to it (Administrator privileges in Windows). Depending on the type of TV and version of the firmware, this can be achieved in a number of ways. In the compatibility tables you can find the methods that have been used successfully for each type (The list is not complete yet, work in progress). Depending on the firmware and television model you may be able to do this with a simple software installation from a USB drive or you may need to install modified firmware or may need to revert to an older version of firmware that has not been restricted by Samsung. You can gain access to your televisions operating in several ways.Consult the compatibility table at the bottom of this page to determine which method you can use:


  1. USB: Loading software from the USB port by flash drive. Restricted firmware has disallowed access to the built in functionality. This is also how patched firmware is flashed. This is also how content library SamyGO apps can be executed. A variation of this method ia hotel@USB which is required for newer television models like the C series.


  1. Telnet: Once you have enabled telnet either by patching the firmware or running the telnet enabler app, televisions with ethernet connectivity can be controlled by telnet (or SSH) access via your computer network. Non Ethernet models may also become network accessible by using a usb wi-fi dongle, another SamyGO application. These are advanced functions and should be executed once you understand these functions better.


  1. Ex-link Port An Ex-link port or service port which allows direct connection from your computer to the television. Many TV models (A and B series) are accessible through a serial port, called Ex-link. This is a serial port, with a 3.5mm stereo jack as a connector port that is called "connector for service only" in your television manual. To use this port, you will need a serial cable with the right layout, which is given for non-CI+ devices here. On the same page you will find how to enter the service menu of your TV, at least for a number of older types of televisions. Newer models (like C series televisions) do not have this access mode. It would be wise to make or buy such a cable prior to changing your firmware in the event of a catastrophic event that requires this connection to recover your television functionality (unbrick your TV).


Understanding SamyGO app vs. SamyGO firmware modification

Many developers contribute to the SamyGO community and the goal of each application they develop is to enhance the functionality of your television. Applications can be typically be used in two ways:

  1. Standalone app aka as a SamyGO app or extension
  2. Incorporation of the application function into the TV firmware

The first method does not require any firmware modifications unless you have restricted firmware. In that case you must first unrestrict your television's firmware before running a SamyGO app. You gain the functionality you want by running the app. For example if you like big yellow subtitles on your TV you can activate the app then watch your movie with big yellow subtitles.

The second method involves advanced scripting modifications to your television firmware. Ingenious developers have developed some scripts that makes this process fairly simple and easy. Other scripts require careful editing of files inside your computer and should be performed with caution. Bricking your TV is a possibility with the method. It would be wise to have an exlink cable so you can unbrick your television.

So what's the difference between the two methods? You must activate the app each time your turn on your TV if you use a SamyGO app. A firmware modification is permanent and automatic, each time you turn on your TV. It may be harder to do but in the long run it saves you a lot of time.


Firmware Modifications

In this section we will discuss modifications that cause permanent changes in your television. You should disable automatic updates on the software upgrade menu of your television in order to avoid accepting an official Samsung update that will disable your SamyGO apps.

Reverting back to unrestricted firmware

Loading third party software has been limited with the latest versions of restricted firmware. If you are in the lucky group of television owners with unrestricted firmware then you can skip this section, you are in luck and can stop worrying about firmware restrictions! If your are in the unlucky group of restricted firmware (usually any firmware after dated updated in 2010) then you must revert back to an unrestricted firmware first prior running any SamyGO applications on your TV. Developers at SamyGO have made this a fairly simple process by using a script that automates this process. A list of supported television models and detailed instructions can be found here. Please review all this in detail prior to proceeding with any modifications or running any scripts.

Patching Firmware with the SamyGO Firmware Patcher

B-series models (Non CI+) with older firmwares (pre february 2010) have firmware update files which are only trivially encrypted by Samsung and can be modified to allow additional functionality. The SamyGO firmware patch script is based on python a computer programming language and changes some of the startup scripts inside of the firmware. This allows additional functionality in the firmware. Such functionality includes

  1. Applies the AR v1 Fix. This properly resizes the picture proportions n Samsung B series TVs
  2. Allows you to increase the size of srt subtitles shown in movie playback and
  3. Subtitle color can change as well. SamyGO favorite is yellow, (ARGB code for yellow is: 0xFFFFFF00, for original color: 0xFFF0F0F0)
  4. Telnet, can be enabled permanently if you create an advanced startup script.

Once the SamyGO firmware patch script completes you will have a new modified firmware with the above modifications enabled. When you flash this modified software to your television, you will enjoy the above enhancements but will also be able to run all the SamyGO apps which will enhance your television's functionality. This modified firmware makes it much easier to gain root access through telnet.

Flashing your modified firmware

This is outlined in your service manual.

  1. Make sure your firmware is copied to the root of your FAT32 formatted USB drive.
  2. You can reach the software upgrade menu from your remote control: Menu -> Help -> Software Upgrade -> USB
  3. You get a pause for 30 secs while your TV searches for a valid firmware.
  4. Install your modified firmware.
  5. Remember altering your firmware and trying to install it carried risk of permanent damage. Please read the wiki and become acquainted with what you are trying to do.

If you are more adventurous and feel confident enough you can also update the firmware by direct access by using the exlink cable. Read about this: Enable Serial Console on non CI+ Devices.


Using a SamyGO app

If you have flashed the modified firmware or if you have an unrestricted firmware you can start playing and enjoying the SamyGO applications. There are wiki pages with lists of apps can be found (for series B and C). This pages typically has a brief description of the app functionality, a link to download the file as well as a link to the forum where the develop seeks, feedback, can help with troubleshooting etc. Newer television models have

Depends of you TV model you can run applications using:

A good app to start with is the SamyGO Extensions Pack. Read about it here.


Using Internet@TV

Internet@TV (also Samsung Apps) is the name Samsung has given to their latest television appliances which converge the internet and televisions in once device. They are a collection of internet apps which due to their graphical user interface are called widgets. Samsung, in its short-sightedness decided that some of the newer widgets would not be made available to older television model owners. However these older televisions (B-series) can actually run couple of the new widgets included in the C-series. You can install your own widgets by setting up a webserver on your home computer and directing your television to obtain the updated from your computer.

Nice and easy to use step by step instruction to install custom widgets to TV.

Widgets can be downloaded from: here (all work for B) & here (from C). Also check unofficial widgets lists for: B-series, C-series & D-series.


Using Hotel@USB

Hotel mode is a mode for locking down menu access and input selection on the display. It is intended for use in hotels, health clubs, and other environments to restrict guests from changing the displays settings. However entering this mode has been used as a way to work around some of the restrictions that newer firmware releases has caused. This true about the C series televisions. You should refer to the compatibility table to determine if this method applies to your television model.

TODO


Compatibility table (just for evaluation purposes)

Below is a first draft of a new version of a comprehensive compatibility table for SamyGO. It is here for evaluation purposes, please feel free to comment on it in the forum. Since this is a still a draft, not all links are there yet, or working. Also probably not all models have been put in yet, and the ones that are there have not yet been completed, I'm still working on it (especially finding the links into the forum pages is a tough job). The main changes are:

  • removal of the display type (I think you know what you bought)
  • Indication of access routes with letters.
  • combination of a whole bunch of options into a few columns

Oh, and never mind the thin blank lines in the table, they're just empty table entries.

Note: The SamyGO project is compatible with most of the other LN, LA, UN, or UA model TV's. We just haven't tested them yet. No need to get worried about that.

Table legend
well tested, production level available, but complicated work in progress unavailable
SamyGO compatibility table
TV type CPU Firmware FW Version Rooted via

E: ExLink.
F: FW patcher.
C: Contents lib
I: Internet@TV
H: hotel@usb
S: SMART HUB
O: otherwise

Root Access

T: telnet
S: ssh

Share types
U: UPnP
S: Samba
N: NFS
F: FTP
Options:
A: Video AR
S: subtitles
P: PVR
G: guide+
O: other
Notes
2012 models (ES-series)
UExxES5700 ARM T-MST10PDEUC 1027.1 S T F << WIP >>
2011 models or D-series
2010 models or C-series
LE26C350D1W MIPS T-MSX5DEUC 2005.4 O Movie player enabled through model change
PSxxC550 MIPS T-TDT5DEUC 1.021
1.023
H T U?,S, N
LExxC550 MIPS T-TDT5DEUC 1.021 H T U?, S, N Internet & games enabled on Trident-based C550s. (Platform has MStar and Tridend based units)
UExxC5100 MIPS T-TDT5DEUC 1004.0 H T U?, S, N
LExxC630 ? T-VAL6DEUC ? ? ? ? ?
LExxC630
LExxC650
LExxC670
LExxC750
ARM T-VALDEUC 1005.0
3003.0
3005.1
I T, S U?, S, N P, G FW version 1005.0 can't enable PVR. Only Italian C630's have VALDEUC firmware.
UExxC6500
UExxC6530
UExxC6700
UExxC6730
UExxC6800
ARM T-VALDEUC 1011.1
2002.0
3003.0
3005.1
I T, S U, S, N P, G C6800 has PVR function by default. FW version 1011.1 can't enable PVR
UNxxC6900 ARM T-VAL6XIBRC ? I T?, S U?, S, N P, G? Brasilian
PSxxC7000
PSxxC7700
ARM T-VALDEUC 3003.0 I T?, S U, S, N P, G?
UExxC7000
UExxC7705
ARM T-VALDEUC 3005.1 I T?, S U, S, N P, G?
PSxxC8000 ARM T-VALDEUC 3003.0 I T, S U, S, N P, G
UExxC8700 ARM T-VALDEUC 3003 I T, ? ?, S, ? ?
UExxC8700 ARM T-VALDEUC 3009.2 H T, ? ?, S, ? ?
2009 models or B-series
CI models
LExxB55x
LExxB57x
PSxxB55x
LExxB62x
UExxB6xxx
ARM T-CHL5DEUC 2008.0 E, F T U, S, N A, S Playing movies from USB supported (WiseLink hack).<br\>telnet, Samba/NFS requires USB WiFi/Eth dongle, custom linux kernel from SamyGO OpenEmbedded and a rewrite of the uboot partition with a correct one. And some more manual changes.
LExxB65x
LExxB75x
PSxxB65x
ARM T-CHL7DEUC 2004.1
2005.0
E, F T U, S, N A, S FW 2004.1 has extensive aspect ratio features
UExxB70x0
UExxB8000
PSxxB85x
ARM T-CHU7DEUC 2004.0
2008.2
2009.0
3000.G
E, F, C T U, S, N A, S, P
LNxxB64x ARM T-CHEAUSC 1013.0
1014.0
E, F T U, N I have successfully modified (by hand) the firmware update currently available on Samsung's site. It still allows exlink console.

Telnet was enabled by manually modifying the firmware image. NFS support is built-in to the firmware, the cifs kernel module causes a panic (I will try compiling my own later) and I don't like UPnP so I didn't even try it out.

LNxxB65x
PNxxB65x
LNxxB75x
ARM T-CHEAUSC 1012.3 E, F T U, S, N A, S
LNxxB63x
UNxxB6xxx
ARM T-CHE6AUSC 1012.0 E, F A, S Play movie from USB supported (WiseLink hack). No telnet access (yet).
LNxxB63x
UNxxB6xxx
ARM T-CHE5IBRC 1009.1 E, F A, S No Wiselink hack by Firmware Patcher.
UNxxB7xxx
UNxxB8xxx
ARM T-CHE7AUSC 1013.0 E, F T U, S, N A, S
LAxxB65x
PSxxB65x
LAxxB75x
ARM T-CHL7DAUC 2001.1 E, F T U, S, N A, S
LAxxB65x
PSxxB65x
LAxxB75x
ARM T-CHEAEAC 2005.0 E, F U, S, N A, S
UAxxB6000 ARM T-CHL5DAUC 2001.1 E, C T U, S, N A, S
UAxxB7xxx
UAxxB8xxx
ARM T-CHU7DAUC 1008.0 E, F T U, S, N A, S
PSxxB85x ARM T-CHU7DAUC 1007.0 E, F T U, S, N A, S
CI+ models
LExxB55xyyP
LExxB57x?
PSxxB55xTxP
PSxxB56xTxP
LExxB62xTxP
UExxB6xxxVP
ARM T-CHL5CIPDEUC 2007.0 E T Serial (ExLink) access possible via Top Debug Menu memory editing.
LExxB65xTxP
LExxB75xUxP
PSxxB65xyyP
ARM T-CHLCIPDEUC 2006.0 E, F T U, S, N A, S
LExxB679T2S ARM T-CHL6CIPDSEUC 1008.0 E, F T U, S, N A, S
UExxB7xxxWP
UExxB8xxxXP
PSxxB85xYxP
ARM T-CHUCIPDEUC 3000.0 E, F T U, S, N A, S
2008 models or A-series
LExxA75x
LExxA85x
LExxA95x
SH4 T-RBYDEUC 1013.1 F T U, S, N A
LNxxA75x
LNxxA75x
SH4 T-RBYAUSC 1012.2 E T! N telnet needs manual firmware patching or telnetd application.
LNxxA85x
LNxxA86x
SH4 T-SPHAUSC 1004.0 E T! telnet needs manual firmware patching or telnetd application. tester needed for shares
LExxA676 T-AMBDFRC 1017.0 E tester needed for telnet and shares