I was interested in what my ethernet port was doing on my virgin media TIVO box, so I ran some tests and found I could control my TIVO box from my laptop, here are my findings.
First, I went into the Tivo boxes settings on screen and enabled network access.
Next, I logged into my home hub/router to find out what IP address it had been allocated
http://192.168.100.1/ and clicked devices.
Once I had its IP address, (192.168.0.7) I scanned its ports and found the following services:
adrian@adrian-laptop:~$ nmap 192.168.0.7
Starting Nmap 5.00 ( http://nmap.org ) at 2012-10-21 10:37 BST
Interesting ports on 192.168.0.7:
Not shown: 997 filtered ports
PORT STATE SERVICE
443/tcp open https
2190/tcp open unknown
2191/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 5.50 seconds
The obvious one that stands out is port 443, so visiting https://192.168.0.7/ shows a web server requesting login, I found that the username is tivo and the password is your media key found in settings > mediakey.
Once logged in, a list of recorded programmes will be displayed but however streaming and downloading are disabled :(.
I tried for sometime to circumvent the streaming restriction using various techniques the closest I came was with VLC and special plugins http://tivo-vlc.sourceforge.net/notes.php#install, but so far I haven’t been able to achieve this.
I looked into what the box is, and it turns out its fundamentally Linux box with a glossy coat, with some features disabled (like streaming something to do with UK copyright laws).
Along the way I found I could telnet to port 31339 on the box
telnet 192.168.0.7 31339
which responded with
CH_STATUS 0213 RECORDING
This is the status of the two tuners, and what they are doing, you can now use commands like:
KEYBOARD (Dunno what this does)
TELEPORT
SETCH
FORCECH
Also a complete set of IRCODE’s exist IRCODE
a quick google and I found the following IRCODE commands that seem to work.
UP
DOWN
LEFT
RIGHT
SELECT
TIVO
LIVETV
THUMBSUP
THUMBSDOWN
CHANNELUP
CHANNELDOWN
RECORD
DISPLAY
DIRECTV
NUM0
NUM1
NUM2
NUM3
NUM4
NUM5
NUM6
NUM7
NUM8
NUM9
ENTER
CLEAR
PLAY
PAUSE
SLOW
FORWARD
REVERSE
STANDBY
NOWSHOWING
REPLAY
ADVANCE
DELIMITER
GUIDE
Typing these commands into the telnet session, made the tivo box change channel etc…. cool!
To exit the telnet session press CTRL + ]
thats right, control and right square bracket!!, then type quit at the prompt
I was able to source a nice GUI that can automate these commands https://github.com/wmcbrine/tivoremote
So, as long as you have Python installed (Mac & linux users by default), just running the script produces a nice GUI that can manage your Tivo box from your laptop.
I also found, if your interested in developing apps for it, its SDK is written for AS3 and can be found here http://developer.tivo.com/
4 responses to “Remote controlling Tivo”