[mythtv-users] My experience with dual HDTV cable boxes and FireWire

Yeechang Lee ylee at pobox.com
Fri May 12 17:29:11 EDT 2006


Capturing video from HDTV cable boxes with FireWire has, once again,
become a popular topic. I have not one, but two, Motorola/General
Instruments DCT6200 cable boxes connected via FireWire to my 3.0GHz
Pentium 4 frontend/backend. I have for most of that time achieved
thousands of perfectly-reliable captures, given some caveats. Here's
my experiences over almost five months--and much initial anguish--with
this setup:

* FireWire captures are easy for a PC, because it does not have to do
  anything other than just write the data (never faster than
  19.2 megabits/second or 2.4 megabytes/second) to disk; no muss, no
  fuss. A backend-only system could be much, much slower than my
  current setup and still work well.
* With two boxes connected to two separate FireWire ports (see below),
  nodes 0 and 3 will almost certainly be used, as opposed to node 2
  when I only had one box. Use 'plugreports' to find out for sure.
* With one box, both Broadcast and Point-to-Point seem to work fine as
  connection methods within mythtv-setup; that is, I never noticed a
  difference in the capture process (or reliability, as I'll get
  to). With two boxes on two separate FireWire ports, *each box must
  use a different method*. That is, one box must be set to Broadcast
  and the other to Point-to-Point.
* Bandwidth does not seem to matter; if set to other than 200mbps,
  mythbackend automatically changes it to 200mbps (as you can see from
  mythbackend.log). I set both boxes to 200mbps.
* In my experience using contrib/channel-changers/6200ch as the
  channel-changing script in mythtv-setup does not, contrary to Steve
  Adeff (who does not have two HDTV cable boxes)'s messages, help in
  the reliability of the FireWire capture process per se. It *does*
  seem to help a bit with the accuracy of the channel-changing process
  itself, but I still get a missed change every 30 captures
  +-10. Also, contrary to Steve's claims, in my experience the '-s'
  switch for 6200ch does not help accuracy either; it significantly
  worsened it. (See
  <URL:http://www.gossamer-threads.com/lists/mythtv/users/196082?search_string=yeechang%206200ch;#196082>)
  for more information.
* I have the following script as /usr/local/bin/firewireset:

    #!/bin/sh

    # This script assumes that two FireWire connections are on
    # Nodes 0 and 3, both are set to 200Mbps, Node 0 is set to
    # Broadcast, and Node 3 is set to Point-to-Point.

    plugctl -n 0 oPCR[0].data_rate=2
    plugctl -n 0 oPCR[0].n_p2p_connections=0
    plugctl -n 0 oPCR[0].bcast_channel=63
    plugctl -n 0 oPCR[0].bcast_connection=1

    plugctl -n 3 oPCR[0].data_rate=2
    plugctl -n 3 oPCR[0].n_p2p_connections=1
    plugctl -n 3 oPCR[0].bcast_channel=0
    plugctl -n 3 oPCR[0].bcast_connection=0

After my frontend/backend PC reboots, if the dreaded 'Firewire: No
Input in 15 seconds' message appears in mythbackend.log, I run the
script (again contrary to Steve's advice). The odd thing is that
sometimes it takes two or even three executions before the FireWire
pump is primed, so to speak. But once a connection happens, subsequent
connections are 100% reliable (at least until the next reboot).

Caveat: I added the script and much of the above advice to the
FireWire entry at wiki.mythtv.org several months ago, but most of the
text has been removed since in favor of a daisy-chain method for
connecting multiple cable boxes to a single FireWire PC port. I have
not used this method, but doing so might very well indeed obviate the
need for the above script, and obviously would also work for those
with more than two cable boxes or only one FireWire PC port. That
said, I can say that the above steps definitely, positively, 100% work
for me, and that's what counts, right?

-- 
Yeechang Lee <ylee at pobox.com> | +1 650 776 7763 | San Francisco CA US


More information about the mythtv-users mailing list