Mailing List Archive

Controlling a cable box
Hi, yesterday i found out a few things about my digital cable box:
1. It has a serial port
2. It has an R blaster port

so i have 3 questions:
1. Can i use a serial cable instead of an I.R. transmitter
2. What does the I.R. blaster port do
3. Would these transmitters work
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743486907&category=44961
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743025215&category=44961

_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re: Controlling a cable box [ In reply to ]
> Hi, yesterday i found out a few things about my digital cable box:
> 1. It has a serial port
> 2. It has an R blaster port
>
> so i have 3 questions:
> 1. Can i use a serial cable instead of an I.R. transmitter
> 2. What does the I.R. blaster port do
> 3. Would these transmitters work
> http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743486907&category=44961
> http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743025215&category=44961

Just to add to this, can someone explain better what an IR blaster
actually is? ... I understand the concept of plugging in an IR
reciever and changing channels etc, but why would you use an IR
Blaster rather then the remote that comes with your cable box?

So far every descritption I find only tells me the obvious "Adds an IR
reciever to your cable box" ... I know there has to be more to it
otherwise like I said, why wouldn't you just use the remote that comes
with your box?

Information is totally appreciated (or if you have links to better
resources then I could find so far)
Thanks!
Lonny

_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re: Controlling a cable box [ In reply to ]
> Hi, yesterday i found out a few things about my digital cable box:
> 1. It has a serial port
> 2. It has an R blaster port
>
> so i have 3 questions:
> 1. Can i use a serial cable instead of an I.R. transmitter
> 2. What does the I.R. blaster port do
> 3. Would these transmitters work
>
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743486907&category=44961
>
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743025215&category=44961
>

People will probably be more able to help if you tell them what make your
cable box is.
AFAIK the redeye device uses a different protocol to most devices?
Theres some info about redeye devices here, tho I don't even know which
country you live in, so the uk stuff may be irrelevant to you:
http://www.redremote.co.uk/serial/resfaq.html

_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re: Controlling a cable box [ In reply to ]
At 08:23 AM 7/21/2003 -0700, Ignacio wrote:
>Hi, yesterday i found out a few things about my digital cable box:
>1. It has a serial port
>2. It has an R blaster port
>
>so i have 3 questions:
>1. Can i use a serial cable instead of an I.R. transmitter

Depends on what "digital cable box" you have and, usually, how your cable
provider has configured it. The general answer to this question *seems* to
be NO, but there are reports of exceptions in the list archive.

>2. What does the I.R. blaster port do

Who knows? Surely this too depends on what "digital cable box" you have and
what actual hardware you are (or someone is) describing as an "I.R. blaster
port". Do you mean an IR receiver (the same thing that would receive
remote-control messages) or a port that enables IR transmissions in some
way (though what a cable box would want to control this way is not apparent
to me)?

>3. Would these transmitters work
>http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743486907&category=44961
>http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743025215&category=44961


There is no way to tell from the descriptions provided at eBay. My best
**guess* is that the second (the USB one) would NOT work with LIRC, but
that the first **might** work with LIRC. The only way for you to be sure
either would work is to get a report from someone who has one working with
Myth (or at least with LIRC). To facilitate that, the first link refer to
this device: "JetEye PC IrDA Infrared data transfer! ESI-96". The second
only identifies the device as an "USB IrDA Wireless Infrared Adapter
External", supplying no manufacturer or model number.



_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re:Controlling a cable box [ In reply to ]
I have a motorola dct
Re: Controlling a cable box [ In reply to ]
On Mon, 21 Jul 2003 08:23:30 -0700, Ignacio wrote:

>Hi, yesterday i found out a few things about my digital cable box:
>1. It has a serial port
>2. It has an R blaster port

The use of the serial port and the IR blaster port depend heavily on the software that's actually been loaded on the DCT (2000?) box. This is customized by the cable company before the boxes are
rolled out to customers, so different cable companies have different features.

On the DCT 2000, the IR Blaster port is designed to control a VCR unit, so that the DCT 2000 can start and stop recording on the correct channel. This means that the cable box can change it's own
channel, then tell the VCR to record. It's called an "IR Blaster" as it's designed to "flood" a room with lots of IR, so that devices will operate even if they're not in direct line of sight.


>3. Would these transmitters work
>http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743486907&category=44961

This transceiver looks like it just connects an IR transmitter and IR Receiver to the TX and RX lines of the serial port. Unless your recieving device happens to support IrDA or other protocol that uses a
standard serial port, then this won't work.

>http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=2743025215&category=44961

This looks like a similiar idea. Probably a small microcontroller connected to the USB bus, with a UART onboard to handle the serial IR stream. I suspect this wouldn't work either, but that would depend
on the firmware on the microcontroller. The problem with most of the IrDA devices is that they have too much intelligence, so it's not possible to actually get at the IR stream itself! Unfortunately this
makes them rather unsuitable for use as an a consumer style IR device. This is why there are relatively few devices that can do this sort of task well!

Graham


_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re: Controlling a cable box [ In reply to ]
Others have answer the IR part - I can give more info on the serial port
part... see comments inline...

On Mon, 2003-07-21 at 08:23, Ignacio wrote:
> Hi, yesterday i found out a few things about my digital cable box:
> 1. It has a serial port

What kind of cable box? We'd need to know the make and model number of
your cable box. Also, the name of your cable provider. (For example,
Comcast/AT&T, while evil, provide boxes that can be controlled via the
serial port.) We'd also need to know your general geography. (If you
have Comcast/AT&T, some parts of the country are apparently more
amenable to enabling serial ports on cable boxes...)

> so i have 3 questions:
> 1. Can i use a serial cable instead of an I.R. transmitter

Depends on the box, firmware version, cable provider, and some luck...

-I

--
__________________________________
Ian Forde, RHCE, CCSE, SCNA, SCDME
CYTBeN, Inc.
ian@duckland.org / ian@cytben.com

_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re: Re:Controlling a cable box [ In reply to ]
Okay - If you've got firmware version 7.54 or higher, and the serial
port is enabled, you might be able to use the serial control scripts...
see attached scripts...

-I

On Mon, 2003-07-21 at 09:27, ignacio@shaw.ca wrote:
> I have a motorola dct
>
>
>
> ______________________________________________________________________
> _______________________________________________
> mythtv-users mailing list
> mythtv-users@snowman.net
> http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
--
__________________________________
Ian Forde, RHCE, CCSE, SCNA, SCDME
CYTBeN, Inc.
ian@duckland.org / ian@cytben.com
Re: Re:Controlling a cable box [ In reply to ]
awesome i love you, i want to have your children (-:

How do you check the firmware on these wacky cable
boxes?
Guy

--- Ian Forde <ian@duckland.org> wrote:
> Okay - If you've got firmware version 7.54 or
> higher, and the serial
> port is enabled, you might be able to use the serial
> control scripts...
> see attached scripts...
>
> -I
>
> On Mon, 2003-07-21 at 09:27, ignacio@shaw.ca wrote:
> > I have a motorola dct
> >
> >
> >
> >
>
______________________________________________________________________
> > _______________________________________________
> > mythtv-users mailing list
> > mythtv-users@snowman.net
> >
>
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
> --
>
> __________________________________
> Ian Forde, RHCE, CCSE, SCNA,
> SCDME
> CYTBeN, Inc.
> ian@duckland.org /
> ian@cytben.com
>
> # Change Channel Script Wrapper for DCT-2000
> # written by Ian Forde
> # License: GPL. If you don't know what that is, you
> can look it up!
>
> PARM=$1
> PARMLEN=`echo $PARM | wc -c`
> if [ ${PARMLEN} -gt 4 ]; then
> echo "too high."
> exit
> elif [ ${PARMLEN} -eq 4 ]; then
> newparm=${PARM}
> elif [ ${PARMLEN} -eq 3 ]; then
> newparm="0"${PARM}
> elif [ ${PARMLEN} -eq 2 ]; then
> newparm="00"${PARM}
> fi
>
> /usr/local/bin/remote.py ${newparm}
>
> # Chris Griffiths, June 8th 2003
> (dct2000@y-fronts.com)
> #
> # CRC calculator preset for CRC-CCIT suitable for a
> Motorola DCT2000
>
> # Please see
> http://rcswww.urz.tu-dresden.de/~sr21/crctester.c
> # and http://rcswww.urz.tu-dresden.de/~sr21/crc.html
> for the
> # original c code to this, a web based crc
> generator, and
> # a description of what these settings do
>
> order = 16;
> polynom = 0x1021;
> direct = 1;
> crcinit = 0x0000;
> crcxor = 0x0000;
> refin = 1;
> refout = 1;
>
>
> def reflect (crc, bitnum):
> i = 1 << (bitnum-1)
> j = 1
> crcout=0
> while i:
> if (crc & i):
> crcout = crcout | j
> j = j << 1
> i = i >> 1
>
> return (crcout)
>
> def calcrc(data_bytes):
>
> crcmask = (((1<<(order-1))-1)<<1)|1;
> crchighbit = 1<<(order-1);
>
> # compute missing initial CRC value
> if direct:
> crcinit_direct = crcinit;
> crc = crcinit;
> for i in range (order):
> bit = crc & 1;
> if bit:
> crc = crc ^ polynom;
> crc >>= 1;
> if bit:
> crc = crc | crchighbit;
> crcinit_nondirect = crc;
> else:
> crcinit_nondirect = crcinit
> crc = crcinit
> for i in range (order):
> bit = crc & crchighbit
> crc = crc << 1;
> if bit:
> crc= crc ^ polynom;
> crc = crc & crcmask;
> crcinit_direct = crc;
>
> # now compute the crc
> crc = crcinit_direct
>
> for i in range( len(data_bytes) ):
>
> c = ord(data_bytes[i])
> if refin:
> c = reflect(c, 8)
>
> j=0x80;
> while j:
> bit = crc & crchighbit
> crc = crc << 1
> if (c & j):
> bit = bit ^ crchighbit
> if bit:
> crc = crc ^ polynom
> j = j >> 1
>
>
> if refout:
> crc=reflect(crc, order)
> crc = crc ^ crcxor
> crc = crc & crcmask
>
> return(crc)
> #
> # Chris Griffiths, June 8th 2003
> (dct2000@y-fronts.com)
> #
> # Simple program to send remote control sequences
> via serial port to a motorola dct2000
> # It does not respect sequence numbers, nor check
> the returned codes for success or failure
> #
> # Modified by Ian Forde (ian@duckland.org) (Sometime
> in early 2003 - I don't remember when...)
> #
> # Now it accepts 3-digit codes to make the channel
> changes...
>
> import serial # pyserial
> (http://pyserial.sourceforge.net/)
> import crcgen # CRC generator - preset to generate
> CCITT polynomial crc's
> import time # std python lib
> import sys
>
> # define button codes:
> ZERO='\x00'
> ONE='\x01'
> TWO='\x02'
> THREE='\x03'
> FOUR='\x04'
> FIVE='\x05'
> SIX='\x06'
> SEVEN='\x07'
> EIGHT='\x08'
> NINE='\x09'
> ONOFF='\x0A'
> CHAN_UP='\x0B'
> CHAN_DOWN='\x0C'
> VOLUME_UP='\x0D'
> VOLUME_DOWN='\x0E'
> MUTE='\x0F'
> MUSIC='\x10'
> SELECT_OK='\x11'
> ENTER='\x11'
> EXIT_KEY='\x12'
> LAST_CHANNEL='\x13'
> SWITCH_AB='\x14'
> FAVORITE='\x15'
> PPV_KEY='\x16'
> A_KEY='\x17'
> P_F='\x18'
> MENU='\x19'
> OUTPUT_CHAN='\x1C'
> FAST_FORWARD='\x1D'
> REVERSE='\x1E'
> PAUSE='\x1F'
> BROWSE='\x22'
> CANCEL='\x23'
> LOCK='\x24'
> LIST='\x25'
> THEME='\x26'
> GUIDE='\x30'
> RECORD='\x31'
> HELP='\x32'
> INFO='\x33'
> UP='\x34'
> DOWN='\x35'
> LEFT='\x36'
> RIGHT='\x37'
> DAY_PLUS='\x38'
> DAY_MINUS='\x39'
> PAGE_PLUS='\x3A'
> PAGE_MINUS='\x3B'
> B_KEY='\x27'
> C_KEY='\x28'
>
> def debug(ctrl_str):
> for hexChar in ctrl_str:
> print "%#x" % ord(hexChar),
> print '\n'
>
> def word2str(val):
> return chr((val & 0xFF00) / 256) + chr(val &
> 0x00FF)
>
> def get_response(ser):
> response = ''
> byte = ser.read()
> while byte:
> response = response + byte
> byte = ser.read()
> return response
>
> def calc_code(payload=""):
> #
> # code is 10 78 ll ll ss 40 pp pp cc 10 03
> # where ss = seq num, pp pp = payload (for a remote
> keypress first byte is 22), cc = crc
> # It seems the sequence number can be ignored - so
> long as we send this double sequence before it -
> # this is what embleem was using with the last
> sequence being the on/off keypress
> #
> # It also looks like we can only send one keypress
> at a time - although correct use of sequence number
> # be get that working
> #
> code = '\x78' + word2str(len(payload)+2) +
> '\x10\x40' + payload
> crc = crcgen.calcrc(code)
> code =
>
"\x10\x70\x00\x02\x03\x40\xc8\x27\x10\x03\x10\x78\x00\x03\x03\x40\x00\x68\x96\x10\x03"
> + '\x10' + code + word2str(crc) + '\x10\x03'
> return code
>
> def send_to_unit(ser, key_presses):
> #
> # Send each keypress, then get the returned status
> from the box (and subsequently ignore it)
> # You have to read the return code, otherwise the
> next send with fail
> #
> for key in key_presses:
> ser.write(calc_code('\x22' + key))
> print "Recvd: ",
> debug(get_response(ser))
>
> serCon = serial.Serial('/dev/ttyS1',baudrate=9600,
> bytesize=serial.EIGHTBITS,
> parity=serial.PARITY_NONE,
> stopbits=serial.STOPBITS_ONE, timeout=1,
> xonxoff=1,rtscts=0,)
>
> newchan = sys.argv[1]
> print "changing channel to ",newchan
>
> CHANCODE=''
> for num in [1, 2, 3]:
> if (newchan[num-1:num] == "1" ):
> CHANKEY=ONE
> if (newchan[num-1:num] == "2" ):
> CHANKEY=TWO
> if (newchan[num-1:num] == "3" ):
> CHANKEY=THREE
> if (newchan[num-1:num] == "4" ):
> CHANKEY=FOUR
> if (newchan[num-1:num] == "5" ):
> CHANKEY=FIVE
> if (newchan[num-1:num] == "6" ):
> CHANKEY=SIX
> if (newchan[num-1:num] == "7" ):
> CHANKEY=SEVEN
> if (newchan[num-1:num] == "8" ):
> CHANKEY=EIGHT
> if (newchan[num-1:num] == "9" ):
> CHANKEY=NINE
> if (newchan[num-1:num] == "0" ):
> CHANKEY=ZERO
> CHANCODE=CHANCODE+CHANKEY
>
> print "chancode is ",CHANCODE
>
> send_to_unit(serCon, CHANCODE)
>
> > _______________________________________________
> mythtv-users mailing list
> mythtv-users@snowman.net
>
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
>


__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com
_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re: Re:Controlling a cable box [ In reply to ]
On Mon, 2003-07-21 at 12:26, Guy Bayes wrote:
> awesome i love you, i want to have your children (-:

Heh... ummm... thanks, I think. ;)

> How do you check the firmware on these wacky cable
> boxes?

If you're using the supplied remote, it should be somewhere off of the
main menu in some sort of "about" or "setup" window... My Tivo is
recording right now, so I can't check it.

As a side note, I have 2 cable boxes in the living room - one
serial-connected to the Tivo, and one serial-connected to the MythTV.
So any use of the cable box remote (to do things like, say... change
channels) will crap up both boxes! Thus, serial is a necessity...

-I
--
__________________________________
Ian Forde, RHCE, CCSE, SCNA, SCDME
CYTBeN, Inc.
ian@duckland.org / ian@cytben.com

_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re:Controlling a cable box [ In reply to ]
Ok, i found out that i am using v 7.54 firmware, hoe can i found out wether
the serial port is enabled, and will a serial modem cable work.

_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users
Re: Re:Controlling a cable box [ In reply to ]
On Mon, 2003-07-21 at 22:02, Ignacio wrote:
> Ok, i found out that i am using v 7.54 firmware, hoe can i found out wether
> the serial port is enabled, and will a serial modem cable work.

Just run the changechannel.sh script from the command line with a
parameter of a channel that you know you can receive. If it works,
you're golden. If not...

Also - you may want to try cycling the power on the cable box before
testing...

-I
--
__________________________________
Ian Forde, RHCE, CCSE, SCNA, SCDME
CYTBeN, Inc.
ian@duckland.org / ian@cytben.com

_______________________________________________
mythtv-users mailing list
mythtv-users@snowman.net
http://lists.snowman.net/cgi-bin/mailman/listinfo/mythtv-users