[mythtv-users] Multiple D10s

Rich West Rich.West at wesmo.com
Tue Mar 13 18:36:10 UTC 2007


Josh wrote:
> Kevin Plew wrote:
>   
>> Hello all- I searched the archives and didn't find anything pertaining 
>> to controlling multiple Directv D10-100s. I have a PVR-500 with one D10 
>> connected to each input and am trying to figure out how to get Myth to 
>> control them.
>>
>> Thanks
>> _______________________________________________
>> mythtv-users mailing list
>> mythtv-users at mythtv.org
>> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
>>
>>
>>
>>   
>>     
> I have 2 serial cables plugged into the LSDP on the back of both my 
> D10's using a couple of directv.pl scripts to change the channels and 
> it's been working great for over a year now. If you have a IR blaster 
> there is documentation for doing it that way also.

The D10 has a "Low Speed Data Port" (a good thing).  I had to figure out
what the heck was meant by LSDP and I have (and use) 3 set top boxes
with these ports.. Some times, abbreviations only serve to confuse
rather than to clarify.The Low Speed Data Port is really a 4-pin
phone-style port, just a heck of a lot smaller.  If you look, you will
see it has the same connector as the coil handset cord on your
non-cordless phone (still have one of those?).  This makes it a bit of a
pain to deal with, but you can get it to work. :)

Anyhow, you can either buy a cable to convert from the low speed data
port to a serial port or you can make one.

Check out this site: http://www.dtvcontrol.com/index.aspx?content=cable
You can either buy the adapter from them, or, using the pin-out listed
on the site, you can make your own.  I took an old headset cable, two
serial to RJ-45 adapters, and a short RJ-45 ethernet cable and:
o Cut the headset cable in half, giving me two pieces of the same
approx. length
o Cut the RJ-45 cable in half giving me two pieces of the same approx.
length.
o Cut back the outer sheathing on the RJ-45 cables at the point where I
cut it in half.
o Cut back the outer sheathing on the headset cables at the point where
I cut it half (this was a pain)
o Cut back the sheathing on the individual exposed wires on the RJ-45
cables and the headset cables.
o Plugged the RJ-45 cables in to the Serial-RJ45 adapters.
o Using a 9-volt battery and a cheap DC tester, I mapped out what pins
on the serial side of the adapter mapped to which exposed wires on the
cut end of the RJ45 cable.
o Then, following the pinout on the dtvcontrol.com site, I hand twisted
the appropriate wires together and electrical-taped it to hold.

The result wasn't real pretty and dealing with the tiny wires in the
headset cable can be frustrating, but it worked and only cost me my time
and the price of the headset cable (my wife got mad that I took the
headset cable from the phone by the computer. :) ).  I got the
serial->RJ45 adapters from work (we have a gazillion of them) as well as
the short (2-ft) RJ-45 cable.  I repeated the entire procedure to make
one more cable (so I have half of a headset cable lying around at home).

Whichever way you go about it, you will end up with the low speed data
port converted to a serial port.  With that, you can either connect it
directly to an available serial port on your machine, or you can connect
it to a USB-to-Serial port adapter.  More than likely, you don't have
more than one or two serial ports on your machine, and if you want to
drive multiple D10's, you'll need to get your hands on the USB-to-Serial
port adapters.

I bought three of these USB to Serial port adapters, for $9.99 each with
free shipping and they worked like a charm:
http://www.emtcompany.com/products/adapters/dxubdb9-usb-to-serial-db9-adapter-cable.htm

Now, I am not saying you can't get them elsewhere.. just that they
worked for me (and they were at the right price point!). :)

Then, I wrote a small wrapper script around the directv.pl script called
"change_channel":
-----
#!/bin/sh

if [ "X$1" = "X" ] || [ "X$2" = "X" ]; then
        echo "Usage: $0 <port> <channel number>"
        echo
        exit;
fi

/usr/local/bin/directv.pl port $1 setup_channel $2 hide
-----

And, finally, from within mythtv, I set up the change channel command to
be "/usr/local/bin/change_channel /dev/ttyUSB0" for the first one,
"/usr/local/bin/change_channel /dev/ttyUSB1" and so on.

Now, you might ask "Why not just call directv.pl directly?  Why use the
wrapper script?"  Good question.. and I have a good answer. :)  With my
set top box (I don't know if this is the case with any others), I want
to hide the set top box's on-screen-display when a channel is changed. 
If I don't, that on-screen-display hangs around for an obscenely long
amount of time.  "setup_channel" is supposed to take care of this, but
it doesn't seem to work for me.  Additionally, the script can take the
options out of order (eg: port /dev/ttyUSB0 hide setup_channel 29), but
I couldn't get it to hide the on-screen-display no matter how I
organized the options.  The only one that worked is the one in the
wrapper script.

Now, because mythtv wants to append the channel number at the end of the
channel change command, the wrapper script was needed.. :)

I hope this helps.
-Rich


More information about the mythtv-users mailing list