[mythtv-users] Has FireWire behavior changed in 0.20? (Or, 24 hours of agony)

Yeechang Lee ylee at pobox.com
Wed Sep 13 08:02:12 UTC 2006


I've posted several messages on my experiences with FireWire recording
over the past nine months. After several months of usually good
results punctuated by minutes or hours of sheer frustration, for the
past several months I'd eventually gotten my daisy-chained dual
Motorola 6200 cable-box setup down to a science (or as close as
Linux's FireWire libraries and 0.19-fixes would allow):

* Tell mythtv-setup to look for my two cable boxes at port 0, node 1
  and port 0, node 3, respectively, using point-to-point and 200mbps

* Run the following script in /etc/rc.d/rc.local.

    #!/bin/sh
    plugctl -n 1 oPCR[0].n_p2p_connections=0
    plugctl -n 1 oPCR[0].bcast_connection=0
    plugctl -n 1 oPCR[0].data_rate=2
    plugctl -n 1 oPCR[0].channel=0
    plugctl -n 1 oPCR[0].n_p2p_connections=1

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

(Substituting, of course, the correct nodes as revealed by plugreport
after -n.)

* Quite often, mythbackend would, after rebooting the backend
  computer. straightaway be able to record simultaneously from both
  boxes. If it didn't. "priming the pump" by running the above script
  manually a few times (perhaps once or twice without any recordings
  going on and, if necessary, once or twice right after entering Live
  TV) would *always* do the trick. My setup was so stable that I would
  almost always only have to reboot the backend PC voluntarily,
  anyway.

0.20 appears to have changed the rules of the game. Since upgrading,
over the past 24 hours I have tried every possible combination of
FireWire configurations in mythtv-setup and variants of the above
script, with no luck whatsoever. And believe me, I know them all, from
back in the bad old days. (However, note that even back then it would
*never* take me this long to get things running again!) Here's what
happens:

* When I enter Live TV, it may or may not start. If it doesn't, I get
  the infamous "No Input in 15 seconds" message. More precisely, I see
  the following:

2006-09-13 00:30:38.045 FireRec: Buffered packets 8000 (32000 KB)
2006-09-13 00:30:45.065 TVRec(1): Changing from WatchingLiveTV to None
2006-09-13 00:30:53.151 FireRec: No Input in 15 seconds [P:0 N:1] (select)

(The first two log lines are new in 0.20. Yes, it does seem like the
system gives up a full eight seconds before it's supposed to. That may
or may not be relevant.)

* If LiveTV works, switching to the other cable box may or may not
  produce the same dreaded "No Input" error.
* If switching to the other cable box works, jumping back to the first
  cable box may or may not produce the same "No Input" error.
* If I can consistently and properly swtich between both cable boxes,
  trying to record from both at the same time (whether it be by
  actually recording from one and running Live TV on the other, or
  actually recording from both) always fails. End of story.

Here are some other clues:

* I can pretty consistently get just one box to work by removing the
  other one's entry from mythtv-setup. Not ideal, but that's what I've
  resorted to for now.
* Remember how I said that priming the pump with the above script
  would always get things rolling in short order? Well, one of the
  ways I can tell things were working fine was by plugreport telling
  me that n_p2p_connections=1 for both nodes and these results staying
  as such no matter what. With 0.20, even when LiveTV or recording is
  working on one or both boxes, I see while the recording is occuring
  that n_p2p_connections=1 more than whatever number I've assigned it
  with my script. That is, if in the script I assign n_p2p_connections
  on node 1 the value of 3, it will start out at 3, go up to 4 while a
  recording is occurring, then come back down to 4 once the recording
  ends. (The only exception is if I assign with the scrip the value of
  0; this does not change. The boxes still don't work, though.) Again,
  I'm positive 0.19-fixes did not do this.

I've read the 0.20 releae notes but don't anything that seems
espeially relevant to my situation. Can a developer verify whether the
FireWire code in 0.20 has been changed in some subtler, undocumented
way that might be resulting in this new behavior?

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


More information about the mythtv-users mailing list