SamyGO Extensions Pack


From SamyGO
Jump to: navigation, search

What are "SamyGO Extensions"

"SamyGO Extensions" enhance your tv's functionality without patching or modify the firmware (for sure it's true for devices with "content library", on models without you need to make modifications to start the script rcSGO)!
  • Access your network shares and network-storage devices (windows shares, nfs, upnp...) as pseudo usb-devices (it is possible to seek and ff in this files + more media container are supported and you don't need to write your own mount/start scripts)
  • It can start automated other applications
  • Enables ssh access to your tv (not telnet! as client you can use putty)
  • Additional tools for advanced users like gdb, ssh, mksquashfs and checksum-calculator (for sure change from version to version)

Where can you find "SamyGO Extensions"

the released version:
precompiled packages
latest beta:
http://linux.zsolttech.com/Samsung/
in samygo openembedded svn (just a and b series are implemented, for c series you have to do the work)
you can get it:
svn co https://samygo.svn.sourceforge.net/svnroot/samygo/oe/branches/branch-0-0-1 SamyGO-Extensions
cd SamyGO-Extensions
edit the makefile to fit the target machine, and start the build.
make -f Makefile-SELP-SamyGO gallery
if the build is ready you can find compiled binaries/kernel modules etc. under
build/tmp/rootfs/
and a "ready to use" zipfile in
build/tmp/deploy/images/

Can you brick your tv with this extensions

answer is simple:
no, but it can kill your cat, burn your house and make horny things with your girlfriend! in worst case your tv shut down and power on again.
except you make changes in the scripts and you didn't know what you done
if you change any of the scripts you also loose the "arris warranty" ;-)
if you need assistance for your own scripts you can ask in:
http://forum.samygo.tv/viewforum.php?f=4
but ask before you bricked your tv!

Is this stuff compatible with your tv

generaly binaries and kernel modules are for ARM architecture (for most B-series devices you can use T-CHU7DEUC based package)
look at the samsung site, download and extract the firmware for your tv and
check the resulting directory name:
  • T-PRLAUS -> binaries may work, kernel modules rather not
  • T-AMBAUSC -> binaries may work, kernel modules may also
  • T-SPHAUSC, T-RBYAUSC -> binaries yes, kernel modules rather not (you can find some precompiled modules in the download section: pickup right one)
  • T-CHE7AUSC, T-CHE6AUSC, T-CHE7AUSC, T-CHU7DEUC, T-CHL7DEUC -> binaries yes, kernel modules yes (pls. search in forum, i made all tests on UExxB7020 => T-CHU7DEUC)
  • T-CHUCIPDEUC -> binaries may work, kernel modules may also
  • T-CHLCIPDEUC -> binaries yes, kernel modules yes (posted by user sondeu)
  • T-CHL5DAUC -> binaries may work, kernel modules may also, but first enable network for your device
  • T-AMBDFR -> binaries not, kernel modules also not (Renesas SH not ARM)
  • T-RBYDEU -> binaries yes, kernel modules yes (Renesas SH4 not ARM, see discussion)
  • T-TDT5DEUC -> binaries not, kernel modules also not (binaries MIPS-II but kernel modules MIPS-32,you have to implement the toolchain and kernel-build for your self)
  • T-MSX5DEUC -> binaries not, kernel modules also not (MIPS-32, you have to implement the toolchain and kernel-build for your self)
  • T-VAL* -> binaries may work, kernel modules rather not (ARMv7) (defined as T-CSERIES.. in OE barnch, you have to implement the toolchain and kernel-build for your self)
  • T-GAP* -> binaries may works from precompiled T-VAL* packages, kernel modules not (wait for samsung release of kernel sources) (custom build not planed for svn branch)
  • T-MST* -> binaries may works from precompiled T-MSX* packages, kernel modules not (you have to implement the toolchain and kernel-build for your self, custom build not planned for svn branch)
  • T-ECP* -> deploy just over SamyGO OTN-System planned (custom build not planned for svn branch)
  • T-MST10P* -> deploy just over SamyGO OTN-System planned (custom build not planned for svn branch)
your tv have to support games in "content library", "usb movie" and for c-series Internet@TV, pls. consult the manual (or use the commandline start method)
for d-series you need to find a way to start a script at tv boot time, then you can use the commandline start method
  • if you use the samygo openembedded svn, this limitations to tv types are never true. you can recompile the whole stuff for your tv. feel free to test it and don't fear the penguin.
  • precompiled packages

General usage

on C-Series from Widget

=> See also: How to get root access on a C series TV

extract the zip file to usb-pen
mv SamyGO directory into the root-directory of the usb-pen
enable run.sh script method for your tv
add the line
/dtv/usb/sda1/SamyGO/rcSGO >/dev/null 2>&1 &
to the run.sh script
or
change usb_hotplug.sh script to call
$MOUNTBASEDIR/$PARTITION/SamyGO/rcSGO $MOUNTBASEDIR/$PARTITION/SamyGO >/dev/null 2>&1 &
instead of
sh -x $MOUNTBASEDIR/$PARTITION/run.sh $MOUNTBASEDIR/$PARTITION

on B-Series from Content Library

extract the zip file to usb-pen
mv SamyGO directory into the root-directory of the usb-pen
on some models (like T-SPHAUSC based) you have to create a directory SEC_GAME on your usb-pen and move the SamyGO directory into this dir, not into the root-directory
you have also rename the SamyGOE.so to libSamyGO.so an you also need an extra configuration file SamyGO.dat
more instructions at
connect usb-pen to tv
wait few seconds for automatic usb connection menu on tv
select "content library"
go to usb -> games, and select "SamyGO Extensions" (with "ok" button on remote-control)
after the colored screen goes away, up to ~27 sec. (this is true up to SamyGO All Extensions v0.04, later versions will have some kind of control-panel)
exit from "content library" and go to "media play" ("media.p" button on remote-control)
select source (red button on remote-control)
depends on your network services you can see new usb-sources (this are "faked" devices)

  • "UPNP Server"
  • "Samba Server"
  • "NFS Server"
  • "SamyGO Virt. USB"
select one of them, pick what you want to see (pictures, music or video) than you should see your server(s), enjoy your media(s)

on any model where you can start a script

Start extensions from patched firmware / from other script

If you have patched your firmware with SamyGO Firmware Patcher than you can start the extensions at boot time, simply add the line
<somedir>/SamyGO/rcSGO &
to the script
/mtd_rwarea/SamyGO.sh
before the
exit
command.
<somedir> differs how you are using the extensions (usb, tv's internal flash memory, nested into a children/game content)
some possible locations:
/dtv/usb/sda1/SamyGO/rcSGO
/dtv/usb/sda1/SEC_GAME/MagicCube/SamyGO/rcSGO
/dtv/usb/sda1/SEC_GAME/SamyGO/rcSGO
/dtv/usb/sda4/SamyGO-All-Extensions/mtd_tlib/SamyGO/rcSGO
/dtv/usb/sda/SEC_GAME/DBowling/SamyGO/rcSGO
/dtv/usb/sda/SEC_GAME/WiseStar/SamyGO/rcSGO
/mtd_tlib/GGame/SamyGO/rcSGO
don't copy the extensions (SamyGO directory) to /mtd_rwarea!!!

Copy extensions to tv's flash memory

on some models it is possible to copy contents to tv's memory in the
same way you can copy "SamyGO All Extensions" pack to flash
yellow button ..., pls. look into the manual or search in forum
If you can't copy "SamyGO All Extensions" via TV you can do it with a telnet or ssh connection
cp -a /dtv/usb/sda1/SamyGO /mtd_tlib/GGame/
or you can try to enable the write function to content library
instructions in forum
then you can start the extensions via the "content library" -> "Games" (if your tv supports this function)

Components, Design and Structure

  1. StarterLib
    libSamyGO.so -> starts the extensions from "content library"
  2. CoreScript
    rcSGO -> 1. of main start scripts, it try to "find" the extension and creates a working enviroment (this is the only one script you have to call/execute!!! you don't need to start telnetd and you don't need mega bytes big busybox copy to /mtd_rwarea)
    etc/rc.sysinit -> 2. of main scripts, it handles the start of the services (init scripts)
  3. InitScripts
    see files under etc/init.d/ directory (files with extension .init don't need any manual configuration, files with extension .dis needs some configuration like password or wlan network name -> see "chang me" section in the scripts. for activation you need also to remove the .dis part of the file suffix)
  • 01_05_framebuffer.init
activates experimental framebuffer access, nothing to configure. (for future usage)
  • 01_05_hiddev.init
activates usb keyboard and mouse support, nothing to configure. (for some content library applications and maybe for some unwritten/unpublished native applications)
  • 02_04_replace_wifi_mod.init.dis
if you like to use non samsung usb wifi dongle, needs configuration and rename it to 02_04_replace_wifi_mod.init
  • 02_04_vusb.init
usb gadget. in some cases we need to fake an usb sorage device so media files are accessible from media player, nothing to configure.
  • 02_10_wakelan.init.dis
sends a wake on lan message to your computer
  • 03_01_fuse.init
loads fuse module. required by some other scripts for access to network-shares, nothing to configure, don't mess around with it!
  • 03_03_djmount.init
"fakes" upnp resources as local storage media, nothing to configure.
  • 03_03_nfsmount.init
"fakes" nfs resources as local storage media, nothing to configure.
  • 03_03_sshd.init
enables ssh access to your tv, nothing to configure.
  • 04_04_bluetooth.init
activates bluetooth framework, nothing to configure. (not implemented for all tv's) http://www.bluez.org/
  • 04_04_fusesmb.init.dis
"fakes" windows/samba resources as local storage media, needs configuration and rename it to 04_04_fusesmb.init
  • 04_04_samba.init.dis (on d-series enabled per default, but you need to set your login data. edit the script or look into where it searches for the login information)
"fakes" windows/samba resources as local storage media, needs configuration and rename it to 04_04_samba.init
  • 06_05_apache.init
starts apache webserver and generates some sample pages (not implemented for all tv's)
  • sample cgi script at: http://<tvip>/cgi-bin/test.cgi (/cgi-bin: accessible from local network only)
  • sample php: http://<tvip>/
  • sysinfo: http://<tvip>/phpsysinfo
  • 06_05_bb_httpd.init
starts shipped busybox as webserver (on port 81)
  • sample cgi script at: http://<tvip:81>/cgi-bin/test.cgi (/cgi-bin: accessible from local network only)
  • sample php: http://<tvip:81>/
  • sysinfo: http://<tvip:81>/phpsysinfo
  • 06_05_vsftp.init.dis
enables ftp acces to your tv, disabled per default. if you like to activate it -> rename to 06_05_vsftp.init (no configuration required)
  • 06_06_obexpush.init.dis
let you transfere files to tv over BT, nothing to configure. (default disabled -> not implemented for all tv's, just works with some older usb-bt dongles. heavy beta/unstable stuff)
  • 90_90_injectso.init.dis
loads other samygo stuff http://forum.samygo.tv/viewtopic.php?f=5&t=594&start=0 read the whole thread!
  • 90_90_loadGameMains.init.dis
loads other samygo stuff http://forum.samygo.tv/viewtopic.php?f=5&t=594&start=0 read the whole thread!
  • 99_99_start_exeDSP.init.disabled_by_default_to_protect_the_innocent
you can play around with it, but i don't know why you should.
  • 99_99_z_sendinfo.init
http://forum.samygo.tv/search.php?st=0&sk=t&sd=d&keywords=99+99+z+sendinfo+init
you can also update this scripts to more recent version from svn
http://samygo.svn.sourceforge.net/viewvc/samygo/SamyGO-Extensions/CoreScript/trunk/
and
http://samygo.svn.sourceforge.net/viewvc/samygo/SamyGO-Extensions/InitScripts/trunk/init.d/
  1. Shipped tools
    • busybox
    not really required, also not used by extensions pack. makes just sense as passwd utility to change password for ssh login.
    • squashfs-tools
    TODO
    • crypt-xor
    TODO
    • cksfv
    TODO
    • gdb
    TODO
    • wget
    TODO
    • gzip
    TODO
    • fbset
    TODO
    • mc (don't try to call it direct, make ssh connection to tv and call mc.sh)

Where to download precompiled packages

  1. A Series
  2. B Series
  3. C Series
  4. D Series
  5. (unsupported) BD-Player
SamyGO-All-Extensions-<version>-<release>-for-<firmwareclass>-<builddate>.zip

What you have to do before ask 1000 times answered questions

  1. Read here
    http://forum.samygo.tv/viewtopic.php?f=5&t=96#p540
    so you now know how to disable unneeded services and where to set the username and password for windows shares (for editing the init-scripts under windows -> use Notepad++ or an other editor that can handle unix files!!)
  2. File attributes
    don't copy/extract the extensions on ntfs formated usb-hd just vfat (fat32)
    keep the execute attributes correct!
    the init-scripts have the execute bit to set, this is already done
    but if you extracted the archive to a NTFS formated usb-hd this setting
    is lost! (tv mounts ntfs with special options)
    so you have to use an usb-pen or reformat your usb-hd with
    vfat before use it.
  3. Media file sizes
    upnp (djmount svn version), cifs and nfs, i tested video files up to 8813360067 bytes (h264/720p mkv)
    server software:
    • upnp: ushare 1.1a (DLNA disabled!)
    • cifs: samba-server 3.2.3
    • nfs: kernel level nfs server (nfsd4)
    ff and seek is (over wifi network) tedious, you can play around with mount parameters in:
    SamyGO/etc/init.d/04_04_samba.init
    SamyGO/etc/init.d/03_03_nfsmount.init
    if you can't access/play your big fat files try to split them, problem is at server side not in "SamyGO Extensions" or TV
  4. Subtitles
    tested *.srt files -> no problem over upnp (djmount), cifs and nfs
    naming sheme:
    MyMovie.srt
    MyMovie.wmv

Advanced usage (obsolete, with v0.03.6 you have a working enviroment after ssh login)

If you have started the extensions, General usage

you can ssh to your tv (ssh root@<tvs ip>)
after the login you can execute the command
source /dtv/SGO.env
or
. /dtv/SGO.env
so you get an usable enviroment (sets PATH and LD_LIBRARY_PATH for the binaries)
to get more extensions working, you can copy them into the SamyGO directory structure (like SamyGO-WiFi-Extension-Addon)

Debug

if some parts of the "Extensions" won't work on your tv, you can try to telnet/ssh to tv and execute the "Extensions" in a verbose shell
sh -x <where_extensions_are_installed>/rcSGO &
and than try to start the specific script also in the same way, like:
sh -x <where_extensions_are_installed>/etc/init.d/04_04_samba.init start
may you can see whats wrong, if not attach relevant parts of output to your support question

File Share under Windows7

  • may helpful (Screenshoots from german Windows, but i hope you will find the settings)
  • uninstall windows live essentials 2011
  • windows update installs live essentials again

Easter eggs and customize

PLACEHOLDER
--Arris69 21:12, 30 November 2009 (UTC)