[mythtv-users] Firewire channel change for SA4200?

steve networks1 at cox.net
Thu Jan 21 00:11:27 UTC 2010


>> . . .
>>
>>>Meanwhile, I have found evidence in the 0.20 release notes and here
>>>http://www.gossamer-threads.com/lists/mythtv/users/209687 that someone
>>>modified the sa3250 changer code to work with the sa4200 too.
>>>
>>>Now if I only knew about the compile arguments.  I suppose the README for
>>>that changer would answer all these questions, but it's empty.
>>
>> OK I found the missing readme in the trunk.  It says to compile the
changer,
>> issue:
>>
>> cc -o sa3250ch sa3250ch.c -lrom1394 -lavc1394 -lraw1394
>>
>> When I do that, the compiler exits and says -lrom1394 not found.  I tried
>> changing this to -librom1394, no help.  I've verified with locate that
>> libraw1394, librom1394 and libavc1394 are installed in /usr/lib64
>>
>> What to do?
>
>-lrom1394 is correct.
>
># yum install libavc1394-devel
>
>That provides the necessary rom1394 and avc1394 headers and libs. Also
>install libraw1394-devel if its not automatically pulled in by
>libavc1394-devel, you'll need that for (surprise) raw1394.

That did it, thanks...BUT

The other problem was that sa3250ch.c was empty (in fact all the files in
./contrib/channel_changer/sa3250 were empty).  So I got the file from the
trunk and compiled it.  On testing it said "sorry device not supported yet."
Harrumph.  

So I found this post http://ubuntuforums.org/showthread.php?t=712789 which
gives a modified channel changer  that's supposed to work for my box, the
complete name of which is SA Explorer 4200HDC.  

I modified it according to instructions to include my box's vendor_id and
model_id.  I compiled and test-ran it, and got output:

[root at mythtv sa3250ch]# ./sa3250ch -v 20
node 0: vendor_id = 0x00d00d1e model_id = 0x00000001
node 1: vendor_id = 0x0000252e model_id = 0x000010cc
Device acquired on node 1
Changing channel 20
AV/C Command: cmd0=0x00487ce7 cmd1=0x04001400 cmd2=0xff000000

Which would seem to indicate that it worked.  However the channel indicator
on the box did not change.  

Enacting Einstein's definition of insanity, I set it up as the external
channel changer on mythtvsetup and attempted a record.  Everything appeared
to run normally, but it didn't actually change the channel (it recorded the
channel it was originally set to).

On looking at the C code, it appears that the "Device acquired" message
doesn't result from any actual feedback from the box; it just gets printed
if it finds a valid id combo from the defined variables.

I'm also not sure what's on node 0.  I don't have any other firewire devices
connected. Maybe this is the channel for data?

Anyway the question is: Is there some way to get this working?




More information about the mythtv-users mailing list