FireWire (also known as i.Link or IEEE 1394) is a personal computer and digital video serial bus interface standard offering high-speed communications and isochronous real-time data services. FireWire can be considered a successor technology to the obsolescent SCSI Parallel Interface. Up to 63 devices can be daisy-chained to one FireWire port.
FireWire works very well in connecting a MythTV backend to certain cable boxes (including the Motorola DCT-6200). MythTV 0.18 and up contains built-in support for changing channels on the DCT-6200 (generally reliable, although occasionally digits get dropped). How to get started:
- Figure out what node the FireWire is connected to. 'plugreport' will typically show a single FireWire connection on Node 2. Two FireWire connections typically appear on Nodes 0 and 3. However, these will often vary randomly after the cable box and/or the backend restarts.
- Either Point-to-Point or Broadcast works well with a single FireWire connection. Do not set two simultaneous connections to Broadcast; at least one should be set to Point-to-Point.
- 200Mbps is the recommended connection speed.
- NOTE: If you want to clean this up you can I suck at this kind of thing
- If you are doing a Daisy Chain use the following. It does not seem that the below is required to put them on bcast as I am unable to set mine to bcast. These settings work great for me and I have a 100% launch of livetv as well.
plugctl -n 1 oPCR.n_p2p_connections=1 plugctl -n 2 oPCR.n_p2p_connections=1 plugctl -n 1 oPCR.channel=1 plugctl -n 2 oPCR.channel=0 In the above the channel difference creates it so the audio and video channels do not merge. If you do not do this while daisy chain it will cause the channels to merge. If you check plugreport and it displays them being on a differnet node than 1 and 2 then, change the -n accordingly. This can be done through a single firewire port and makes it easy. Like I said I suck at writing this stuff.
- If 'Firewire: No Input in 15 seconds' appears in mythbackend.log, try the following shell script:
#!/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.data_rate=2 plugctl -n 0 oPCR.n_p2p_connections=0 plugctl -n 0 oPCR.bcast_channel=63 plugctl -n 0 oPCR.bcast_connection=1 plugctl -n 3 oPCR.data_rate=2 plugctl -n 3 oPCR.n_p2p_connections=1 plugctl -n 3 oPCR.bcast_channel=0 plugctl -n 3 oPCR.bcast_connection=0