SamyGo Remote - Control your Samsung TV with Android

qrcode

Thanks to the SamyGo Project my TV Samsung LE37B650 became a high-tech device. Because it has an ethernet port and runs Linux, it enables you to do many cool things with it. For example one can run a server application which receives remote signals through your LAN. Therefore you have to install "Remote Lan Control" which can be done using the content library (only necessary on B-Series). For a how-to see below!

Because there only was a Windows-client for B-Series TVs and the android client from Samsung only runs on Samsung devices, I wrote an Android-Client to be able to control the TV using my android phone. The result can be downloaded from the Android Play Store.

MyMensaMyMensaMyMensa

The app only works for B-Series TVs from Samsung, because "Remote Lan Control" only runs on these devices. C-Series, D-Series and E-Series TVs are now also supported without needing to modify the TV. Samsung created a remote-app for C-Series TVs but it only runs on the iPhone or on Android devices produces by Samsung. C-Series devices are able to receive remote signals over the network from scratch (using UPnP) but I've no idea how to access the interface and I'm not able to analyse it, because I don't have such a device.

How-To for B-Series:

Because sometimes it is hard to find the desired information on the SamyGo Project pages, I describe how to run "Remote Lan Control" on your TV. Even if the described approach is not very dangerous because the TV resets to its initial state after a restart, I am not responsible for any damages on your TV. Do it on your own risk!

  1. Download "Remote Lan Control": here
  2. Extract the zip-file and copy the content to a USB-stick (USB-stick should be formatted in FAT32)
  3. Plug the USB-stick into your TV
    • If your TV is already turned on, a window should pop up after a little while. Select "Content Library"
    • If your TV was off or no window popped up, press the button "CONTENT" on your remote and select the most right symbol
  4. Now select "USB" and highlight the "Games" entry: Press the ENTER-Button
    • Some people reported that there was no Games section. In this case you could try to create one. This requires telnet enabled and is explained here
  5. Now you should see a list of applications which are installed on your USB-stick. Highlight "SamyGO Remote" and press the ENTER-Button. Now a menu appears where you can run the application. You can also copy the application to the TVs internal storage so that you don't have to plug in your USB-stick every time you want to run the application.
    • If you see a message "Not available" you have to downgrade your firmware. The latest firmware update from samsung removed the possibility to load extensions like this. How to downgrade the firmware is explained here
  6. If you run the application there is NO feedback. Anyway - the server should be running now
  7. Don't forget to change the IP address in the android app to point to your TV. You can try to let SamyGo Remote automatically search for your TV. If it doesn't find it, you are either not connected to wifi, your wifi is not configured properly or your TV is not supported

Minor flaw: The server on your TV has to be restarted every time you turn on/off your TV. There is no simple solution yet. The only way to automatically start the server is to modify your firmware and create a start-script which runs the server using gdb (gdbtrick.sh) or injectso. But this should only be done by advanced users. Maybe I will explain it in another post. For the meantime you can look here for more information.

How-To for C/D/E-Series:

  1. Turn on your TV
  2. To enable your TV to receive remote control signals over the network, go to the System-Settings in the TVs menu. If there is no such menu entry, your TV is not supported.
  3. Connect your phone via wifi with the same network your TV is connected with
  4. Start SamyGo Remote
  5. Go to Menu -> Settings -> Hostname -> Find automatically (Attention: this only works if your TV is within the same broadcast domain as your phone. Some routers don't forward broadcast packages by default, e.g. the Fritz!Box. Make sure to enable communication between wifi devices.)
  6. If your device could be found, your phone should vibrate. In this case, the TV-type is changed accordingly. If you own a C-Series, D-Series or E-Series TV but the type changed to B-Series, your TV is not supported.
  7. If no device could be found, try to determine the ip-address of your TV manually (e.g. look into the webinterface of your router) and type it into the hostname input field.
  8. Now the remote control should work

SamyGo Remote - Android als Samsung Fernbedienung

qrcode

Dank des SamyGo Projektes wurde mein gewöhnlicher Fernseher Samsung LE37B650 zum High-Tech Gerät. Da er einen Netzwerkanschluss besitzt und von Werk aus Linux darauf läuft, kann man damit einige Dinge anstellen. So kann man sich zum Beispiel einen Server installieren der Fernbedienungs-Signale auch per LAN annimmt. Dafür installiert man sich beispielsweise über die Content-Library die Anwendung "Remote Lan Control". Wie das geht, wird unten erklärt. Für C-Serie und D-Serie Geräte ist das nicht einmal notwendig, diese haben einen entsprechenden Server von Haus aus installiert.

Da es für die B-Serie momentan nur einen Client für Windows gibt und der Android Client für die C-Serie und D-Serie nur auf Samsung Geräten läuft, habe ich einen Android-Client geschrieben. Das Ergebnis sieht folgendermaßen aus und kann ab sofort im Android Play Store heruntergeladen werden.

MyMensaMyMensaMyMensa

Die App funktioniert nur zusammen mit B-Series Fernsehern (Edit: Jetzt auch für C-Serie und D-Serie Fernseher, ohne "Remote Lan Control") von Samsung, da "Remote Lan Control" momentan nur auf diesen Geräten läuft. Für C-Series Geräte gibt es zwar schon eine Ferbedienungs-App von Samsung, die läuft aber auch nur auf Samsung-Geräten. C-Series Geräte unterstützen deshalb schon von Haus aus das Empfangen von Fernbedienungs-Signalen über das Netzwerk (mittels UPnP), aber ich hab keine Ahnung wie ich das genau ansteuere. Falls jemand ein C-Series Gerät besitzt und interesse daran hat, dass die App auch mit diesen Fernsehern läuft, könnte z.B. mit dem UPnP Inspector versuchen mehr herauszufinden.

C-Serie Geräte werden jetzt auch unterstützt, und zwar ohne jegliche Modifikation des Fernsehers. Falls du trotzdem eine Anleitung brauchst, dann siehe unten!

Anleitung für B-Serie:

Da die SamyGo Seiten momentan etwas unübersichtlich sind, erkläre ich hier noch mal wie man "Remote Lan Control" auf seinem TV laufen lässt. Das Verfahren ist normalerweise relativ sicher, da nach einem Neustart alles wieder beim Alten sein sollte, aber ich übernehme keine Haftung für irgendwelche Schäden die dadurch entstehen.

  1. "Remote Lan Control" herunterladen: hier
  2. Zip-Datei entpacken und auf einen USB-Stick kopieren (USB-Stick sollte in FAT32 formatiert sein)
  3. USB-Stick in den Fernseher einstecken
    • Wenn der Fernseher an ist, sollte jetzt nach einiger Zeit ein Fenster auftauchen, dort "Content Library" auswählen
    • Wenn der Fernseher nicht an war oder kein Fenster auftaucht, kann man auch manuell in die Content Library gehen (Knopf "CONTENT" auf der Fernbedienung und dann das Symbol ganz rechts auswählen)
  4. Jetzt links "USB" auswählen und dann auf Spiele (bzw. Games) gehen: ENTER
    • Falls es keinen Eintrag für "Spiele" gibt, kann man versuchen den Eintrag zu erstellen (Telnet muss dafür laufen). Wie das geht steht hier.
  5. Jetzt sollte eine Liste der auf dem USB-Stick verfügbaren Programme auftauchen. Dort "SamyGO Remote" auswählen und ENTER drücken. Dann kann man das Programm laufen lassen. Wenn man will, kann man es auch auf den internen Speicher des Fernsehers kopieren und von dort aus Starten, dann braucht man zukünftig keinen USB-Stick mehr eingesteckt zu haben
    • Falls jetzt eine Meldung "Nicht Verfügbar" kommt, dann bedeutet dass, dass du eine zu neue Firmware installiert hast. Das letzte Firmware-Update von Samsung hat solche Modifikationen unmöglich gemacht. Damit diese wieder möglich werden, musst du die Firmware downgraden. Wie das geht, steht hier.
  6. Es kommt KEINE Rückmeldung, dass das Programm gestartet wurde, aber es sollte nun gestartet sein
  7. Jetzt noch in der App die IP-Adresse konfigurieren. Die kann man über den Button "Automatisch finden" herausfinden. Falls der Fernseher nicht gefunden wird, ist man entweder nicht mit dem WLAN verbunden, das WLAN ist falsch konfiguriert oder der Fernseher wird nicht unterstützt.

Kleiner Wermutstropfen: Das Programm muss bei jedem Neustart des Fernsehers erneut ausgeführt werden. Momentan gibt es noch keine ganz einfache Lösung für das Problem. Die einzige Lösung ist, die Firmware zu modifizieren, die Modifikation auf den Fernseher aufzuspielen und dann mittels gdb (gdbtrick.sh) oder injectso die Applikation im Start-Script starten. Das ist aber nur für fortgeschrittene Benutzer etwas. Vielleicht erkläre ich das irgendwann mal in einem separaten Post. Mehr Informationen gibt's auch hier.

Anleitung für C-Serie und D-Serie:

  1. Fernseher anschalten
  2. Damit die Fernbedienung funktioniert, muss vorher im Menü erst das Empfangen von Remote-Control Signalen über das Netzwerk aktiviert werden. Der entsprechende Menüpunkt befindet sich in den Systemeinstellungen. Falls es so einen Menüpunkt nicht gibt, wird der Fernseher leider nicht unterstützt.
  3. Handy per WLAN mit dem selben Netzwerk wie den Fernseher verbinden
  4. SamyGo Remote starten
  5. Menü -> Einstellungen -> Hostname -> Automatisch finden (Achtung, damit das automatische Finden funktioniert, muss der Fernseher in der selben Broadcast-Domäne wie das Handy sein. Manche Router wie die Fritz!Box haben eine Einstellung, die verhindert, dass Broadcast Pakete weitergeleitet werden. Bei der Fritz!Box muss man im Menüpunkt "Funkeinstellungen" das Häkchen bei "WLAN-Netzwerkgeräte dürfen untereinander kommunizieren" setzen)
  6. Falls ein Gerät gefunden wurde, ist dies an eine Vibration zu spüren. Der entsprechende TV-Typ wird automatisch eingestellt. Falls ihr ein C- oder D-Serie Gerät besitzt, es wurde jedoch B-Serie als Typ eingestellt, dann wird euer Fernseher nicht unterstützt.
  7. Falls kein Gerät gefunden wurde, könnt ihr noch versuchen die IP-Adresse des Fernsehers manuell herauszubekommen und in das Feld einzutragen.
  8. Jetzt müsste die Fernbedienung funktionieren