Smart TV Surveillance
Samsung Smart TV with on-board camera used as a surveillance device

Transform your Samsung Smart TV into a Discreet Surveillance Device

This tutorial is for awareness and educational purposes only! The steps below are done on a test smart TV which I have physical access to. Remember – “hack to learn” – not the other way around.

Hardware Used:

  1. Samsung Smart TV HU9000
  2. 2x Sandisk USB Flash Drive (at least 8GB)

Procedure:

  1. Root the Smart TV
  2. Install Ubuntu
  3. Install and Configure Motion

 

Step 1: Root the Smart TV

This is just an overview of the rooting process. The detailed step-by-step guide would be available in a dedicated forums that focus on developing the latest rooting scripts and techniques based on the firmware of your TV. The latest techniques are only available to the forum donors. If you are planning to buy a root-able smart TV, be sure to check out the SamyGO forums to confirm if the TV model you are eyeing can be rooted.

  • Download files in the SamyGO Forum and put it in the FAT32 formatted USB Flash Drive (rooting USB)
  • Follow the initial TV setup as described in the forums
  • Run the rooting script from the rooting USB
  • Verify root access

Once the device is successfully rooted, there is no need to re-run the script again but there are a few requirements to have the a persistent root during boot-up.

  • NEVER remove the rooting USB while the TV is powered on.
  • NEVER delete/overwrite the files in the TV’s filesystem. Doing so may brick the TV and it cannot be repaired.
  • NEVER update the TV. Latest updates would patch the security hole that made it possible to execute the root script. There is no known procedure in gaining root access in the latest TV firmware.

 

Step 2: Install Ubuntu

The system in the TV and SamyGO image has very limited command in it. It is also very dangerous to install third-party software directly to the TV’s filesystem. To get around this problem, an Ubuntu can be installed in an external flash drive and have it running on the TV – just as how it ran the SamyGO image. With this, you can try to install any third-party software available for Ubuntu and ran it without risking the system files in the TV.

Login to your rooted TV using SSH. Connect the external flash drive to one of the TV’s USB slot and check the mount point by running:

 

Un-mount the disk (make you DO NOT accidentally un-mount the rooting USB)

 

Format the external flash drive

 

Mount the external flash drive

 

Download the Ubuntu Image and upload it to /mnt/core using FTP:

 

Extract the Ubuntu Image

 

Copy the necessary files from the TV’s system to the Ubuntu USB

 

Chroot to the Ubuntu USB to have a secluded workspace and to avoid accidental modification of the TV’s filesystem

 

The prompt will change to root@(none):/#

 

Set the environment variables

 

Create the video node

 

Edit the /etc/apt/sources.list and append the following

 

Install the necessary software

 

We now have an Ubuntu image running from the external USB. Once chrooted, all the software that you want to install would be saved in the external USB instead of the TV’s filesystem.

 

Step 3: Install and Configure Motion

What is Motion?

Motion is a program that monitors the video signal from cameras. It is able to detect if a significant part of the picture has changed; in other words, it can detect motion.

We would use this software to stream the images from the TV’s camera. If you would like to read the detailed documentation, you may do so at the developer’s website.

Let’s proceed and configure our Ubuntu USB for Motion.

Set the correct permission for the video node

 

Create the motion directories and copy the default configuration file

 

Open the ~/.motion/motion.conf file and edit the following lines:

set your username and password

 

All is ready and set to run Motion

 

If the motion daemon ran without any issue, the TV camera stream can now be viewed through the Motion’s web interface by going to the following URL:

where TVIPADDRESS is your TV’s local IP address.

Leave a Reply