Edit this page Lock this page References to this page History of this page Home Page Recent Changes Upload file attachments Search Site Administration Help Guide

cable box control



Up one level to the MAIN parent page

Based on information originally posted by embeem of the Tivo Underground.
Click here for the original post.


Have 3.0 and a digital cable box? read this...


The tivo is .. or was .. capable of controling certain digital cableboxes, the morotola/gi cable boxes in use by many cable companies. It's a feature that first showed up on the ATT series2 tivos and made it's way into the 3.0 code; unfortunately it was disabled before the final 3.0 release.

The good news is that you can reenable it and you don't need a shiny new series2 to use it .. the bad news is that it was disabled because most cable boxes lack the software/firmware to make use of it -- you'll need to be on atleast firmware version 7.54 to make use of it.

Checking the firmware:

If your cablebox has the 'TV Guide' firmware (and believe me you'd know if it did) you can check the firmware version via the menus

main menu -> setup -> cable box -> see confirmation -> yes

If not, you can check the firmwre via the diagnostic menu, walk up to the cable box, hit the power button on the front and then hit the select button on the front while it's powering off (be reasonably quick about it, you've only got about a second)

channel down to #6 and hit select to see your firmware
(you can use the remote)

when done just hit the power button again (don't worry, there's nothing you can break from the diagnostic menu)

The serial port on the cablebox:

Many of the cable boxes have a standard serial port on the back that you can just plug the tivo into, no adapters or anything needed. Some however only have two small 1/8" jacks like the serial connector on the back of the tivo .. I'm guessing you could just use a stereo patch cable in this case? (mine had a proper db9 serial connector)

Obviously if you're already running something using the tivo's serial port you'll have to disable it before you can get the tivo to control your cable box.

Now for the setting up the tivo:

You'll need to run the following tcl script on your tivo. The standard disclaimers apply, I'm not responsible for anything you break and don't bother customer service about a feature that's supposed to be disabled .. got it? good.. now for the script:



code:

#!/tvbin/tivosh
### EXPERIMENTAL ###
# 2002, embeem

EnableTransactionHoldoff true

set db [dbopen]
transaction {
  set swsysa [db $db open "/SwSystem/ACTIVE"]
  set resgrp [dbobj $swsysa get ResourceGroup]
  set tmpgrp [lindex $resgrp 30]
  set tmpres [lindex [dbobj $tmpgrp get "Item"] 34]
  set val [dbobj $tmpres get "String"]
  if { $val == 0 || $val == 1 } {
    dbobj $tmpres set "String" 1
    dbobj $tmpgrp remove "CompressedFile"
    puts "done, please reboot"
  } else {
    puts "wrong software version?"
  }
}


(no, there's no space between the | 's)

After running the script (and rebooting) go into
Messages & Setup -> Recorder & Phone Setup -> Cable/Satellite Box -> Control Cable/Sat. Setup

You should now be able to select serial for your connector to the cablebox.

There's a few different options for brand, really it's just that some caleboxes are marked motorola and some are marked GI -- select whichever brand makes you happy.

After selecting your brand it'll want to do a serial test, the serial test is somewhat quirky .. best advice is if it doesn't work the first time hit cycle the cablebox (just use the power button) and try again.

If all works well your channel changes will now be via serial cable and you can get rid of those dorky ir blasters.

notes:
It is possible for the tivo to become unresonsive while trying to control the cablebox, typically it after the tivo has been unplugged. While this is a bug it is normal and doesn't indicate any serious problem .. just restart the cablebox and the tivo should respond again.

To avoid this problem you can add this to your startup

code:

stty raw < /dev/ttyS3
echo -ne " \x10\x70\x00\x02\x03\x40\xc8\x27\x10\x03\x10\x78\x
00\x03\x03\x40\x00\x
 68\x96\x10\x03\x10\x78\x00\x04\x10\x10\x40\x22\x0a
\x98\xbe\x10\x03" > /dev/ttyS3
sleep 2
echo -ne " \x10\x70\x00\x02\x03\x40\xc8\x27\x10\x03\x10\x78\x
00\x03\x03\x40\x00\x
 68\x96\x10\x03\x10\x78\x00\x04\x10\x10\x40\x22\x0a
\x98\xbe\x10\x03" > /dev/ttyS3


(ignore the forum, all the \x__ stuff all goes on the same line)

It's abit messy but really all it does is turns the cable box off and on.