[mythtv-users] Partly OT: Firewire changing Node ID

Michael Chmilar michael_chmilar at yahoo.com
Thu Feb 23 22:15:52 UTC 2006


The firewire node numbering is tricky. According to the firewire
spec, nodes can be arbitrarily renumbered whenever a bus reset
happens. A bus reset always happens if a device is physically
connected or removed from the chain. It may also happen for other
reasons.

There is no guarantee that a node will get the same number it had
before the bus reset.

I recall that the iec61883 library has a call for "cmp_reconnect" if
you have a connection through "cmp_connect" active when a bus reset
occurs. Your application can set up to get a callback or signal when
a bus reset happens, and you can try to rediscover the new number of
the node you are connected to, and then reconnect.

If you remember the GUID (globally unique identifier) of the target
node on the first connection, then you can just search for the same
GUID to reconnect.

The librom1394 library is useful for reading the GUIDs for all nodes
in the chain.

It might be an improvement in the firewire setup to have the user
give the GUID of the cable box, rather than a node number. (The GUID
is printed by plugreport.) Then the firewire recorder and channel
classes can discover the cable box by GUID (which never changes)
rather than node id (which does change).

--- Steven Adeff <adeffs.mythtv at gmail.com> wrote:

> On 2/23/06, N Dugas <normdugas at yahoo.ca> wrote:
> > Steven Adeff wrote:
> > [...]
> > >
> > > mental note: don't move to a territory Shaw provides cable...
> > >
> > > as for your issue, you shouldn't have to unload the firewire
> modules,
> > > unplugging the cable box from the firewire cable should be
> enough to
> > > reset it. As for the node change, from what I understand its
> something
> > > the 6412 determines, so it may not be possible to do anything
> about.
> > > Your best bet may be to minimize the possibility of the 6412
> from
> > > turning off so you don't have this problem under normal
> conditions.
> > >
> > > --
> > > Steve
> > Here's what normally gets me going but I may not thave the order
> right:
> > - stop mythbackend
> > - unplug the firewire cable from BOTH the pc and 6412
> > - plug the 6412 end
> > - plug the pc end
> > - plugreport to ensure it's on NodeID (this is the only one that
> will work)
> > - run the fix_node script (plugctl commands that were suggested
> by you
> > Steve some time ago which helped a great deal)
> > - test-mpeg2 - if stuff on screen, it's a go.  If not, do the
> dance again
> > - once all things are ok, restart mythbackend.
> >
> > The only time I'll unload modules is when I'm away from home and
> trying
> > to fix things remotely but this rarely works.  It's the cable
> reseat
> > that tends to make things right.
> 
> Next time you have to do this, try setting the box up in
> mythtv-setup
> to broadcast (even if your script is using p2p currently). Then
> unplug
> everything restart both the cable box and the mythtv computer. I've
> been running like this for about a month now without a missed
> recording where as before I had mythtv using p2p, requiring the
> script
> to "improve" things. If your channel changes aren't working well
> try
> using 6200ch in the contrib folder with the "new" method, this new
> method has worked perfectly for me as well.
> 
> --
> Steve
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
> 



More information about the mythtv-users mailing list