When I bought my Samsung TV (F6470) around five years ago, I was pretty happy about all the smart features. But as a developer I of course want to customize every little detail - and this was when I found SamyGO.

Among other things, I used it to be able to record to my Synology NAS. This way I’m able to watch the recorded movies on any other device. As I already use SamyGO since two years now, I want to tell you about this great project.

SamyGO

SamyGO is a partially open sourced project for extending the features of Samsung Smart TVs. It’s allowing you to root your TV and run customized software extensions and applications. You can find an extensive introduction in the wiki.

There is also a forum for getting support from other members as well as some more instructions.

Gaining root access

I’m going to explain the rough steps for my specific TV model to give you an idea of how this works. Consider reading the wiki pages for your TV series.

I started with getting my current firmware version through the service menu by pressing INFO, MENU, MUTE, POWER in order while the TV is turned off. In this menu I found out that I have a quite new MST firmware version and therefore need to follow the currently newest rooting guide for F-series MST versions. Also make sure to disable firmware updates in the service menu to keep your TV rooted. Most of the firmware updates don’t bring new features to your TV anyway.

For rooting you just need an USB stick with the files on it to install the root via an application which is available as soon as you insert the USB into your TV. After running the application, the TV is rooted and you can connect via Telnet after a reboot of the TV.

Enabling features

Apart from Telnet, rooting already brings a lot of activatable features like:

  • Virtual USB devices
  • SSH
  • Mounting NFS or SMB/CIFS shares
  • Apache Webserver with page to run init scripts
  • FTP
  • Samba Server
  • ..

Apart from these embedded features, there also exist injectable patches. You can find a brief overview with a short description of them here. The most interesting patches for me were the NoDRM and the PVRAnyDev patch to allow recording TV without encryption to any device to be able to play the recordings on other devices as well.

To inject the patches you should start by getting the latest samyGOso from this thread. For copying the files to the TV you can use FTP which is activated by default (user root, empty password).

Most of the injectable patches (e.g. the NoDRM patch) consist of the *.so file as well as an init script for automatically starting the patch at boot time. Like the posts mention, the *.so file belongs to /mnt/opt/privateer/usr/libso/ and the init scripts to /mnt/etc/init.d/. Don’t forget to make the init scripts executable with chmod.

In the /mnt/etc/init.d/ directory you can also enable the above mentioned default features by renaming the *.init.dis files to *.init. You also need to edit most of the init scripts to set your custom settings. After that you can start/stop the scripts via telnet or the web interface at http://tv-ip:1080/cgi-bin/test.cgi.

Conclusion

SamyGO makes it very easy to extend the features of many Samsung TVs. The community already provides a lot of patches and all the instructions are very well documented. With a bit of programming you can also develop your own custom features to get even more smart functions.

In a future post I’m going to describe how I set up SamyGO to be able to record to a network share.