kern/113785: [firewire] dropouts when playing DV on firewire (Re: Can I force "non CYCLEMASTER mode" ?)

Hidetoshi Shimokawa simokawa at ieee.org
Wed Mar 5 02:20:03 UTC 2008


The following reply was made to PR kern/113785; it has been noted by GNATS.

From: Hidetoshi Shimokawa <simokawa at ieee.org>
To: Dieter <freebsd at sopwith.solgatos.com>
Cc: freebsd-firewire at freebsd.org, bug-followup at FreeBSD.org
Subject: Re: kern/113785: [firewire] dropouts when playing DV on firewire (Re: Can I force "non CYCLEMASTER mode" ?)
Date: Wed, 05 Mar 2008 10:51:37 +0900

 Sorry for the late response.
 
 Yes, it is possible in some way.
 Usually, the root node becomes the cycle master and
 the root node is the node which has the maximum node id.
 
 Try the patch I have just committed to -current.
 ------
 simokawa    2008-03-05 01:30:49 UTC
 
  FreeBSD src repository
 
  Modified files:
    usr.sbin/fwcontrol   fwcontrol.8 fwcontrol.c
  Log:
  - add '-f' option to force root node.
  - fix byte order in read_write_quad()
  - show hostnames in the list
  - fix typo in manpage
 
  MFC after: 1 week
 
  Revision  Changes    Path
  1.22      +6 -1      src/usr.sbin/fwcontrol/fwcontrol.8
 http://cvsweb.FreeBSD.org/src/usr.sbin/fwcontrol/fwcontrol.8.diff?r1=1.21&r2=1.22&f=h
  1.24      +17 -7     src/usr.sbin/fwcontrol/fwcontrol.c
 http://cvsweb.FreeBSD.org/src/usr.sbin/fwcontrol/fwcontrol.c.diff?r1=1.23&r2=1.24&f=h
 -------
 
 Suppose your camcorder has node id 0 and your FreeBSD box has node id 1,
 run the followins commands.
 # fwcontrol -f 0
 # fwcontrol -r
 Then, your camcorder should turn to be the cycle master.
 
 At Thu, 10 Jan 2008 11:39:00 +0000,
 Dieter wrote:
 > 
 > Re: kern/113785
 > 
 > Could "CYCLEMASTER mode" vs. "non CYCLEMASTER mode" be
 > the source of my firewire problems?
 > 
 > Is it possible to force FreeBSD to be in "non CYCLEMASTER mode" ?
 > 
 > Thanks.
 > 
 > ------- Forwarded Message
 > 
 > > > There is no initialization packet to send streams;
 > > 
 > > By initialization, I meant whatever conversation FreeBSD and the
 > > camcorder have once they are both up.
 > > 
 > > > however,
 > > > it might be a problem who is the cycle/bus/IR manager.
 > > > Can you see some difference of the output of the fwcontrol(8) and demsg(8)
 > > > in node-id, cycle master and etc. between success and failed cases?
 > > 
 > > Yes, we have a couple of new clues:
 > > 
 > > 	When FreeBSD says "CYCLEMASTER mode" it does not work.
 > > 	When FreeBSD says "non CYCLEMASTER mode" it works.
 > > 
 > > Also:
 > > 
 > >   The controller that works (if booted in correct order):
 > > 
 > > 	just bsd:
 > > 	# fwcontrol -u 1 -t
 > > 	crc_len: 3 generation:2 node_count:1 sid_count:1
 > > 	id link gap_cnt speed delay cIRM power port0 port1 port2 ini more
 > > 	00    1       5  S400     0    1   -9W     -     -         1    0
 > > 
 > > 	now power up camcorder (does not work):
 > > 
 > > 	# fwcontrol -u 1 -t
 > > 	crc_len: 4 generation:3 node_count:2 sid_count:2
 > > 	id link gap_cnt speed delay cIRM power port0 port1 port2 ini more
 > > 	00    1      63  S100     0    1    0W     -     P         1    0
 > > 	01    1       5  S400     0    1   -9W     -     C         0    0
 > > 
 > > 	Looks like the S400 & non-zero power device (BSD box) changed id from 00 to 01?
 > > 
 > > 	after booting camcorder and FreeBSD in correct order (works):
 > > 
 > > 	# fwcontrol -u 1 -t
 > > 	crc_len: 4 generation:1 node_count:2 sid_count:2
 > > 	id link gap_cnt speed delay cIRM power port0 port1 port2 ini more
 > > 	00    1      63  S400     0    1   -9W     -     P         1    0
 > > 	01    1      63  S100     0    1    0W     -     C         0    0
 > > 
 > > 	Note that the BSD box is id 00.
 > > 
 > >   The controller that never works:
 > > 
 > > 	# fwcontrol -u 0 -t
 > > 	crc_len: 4 generation:2 node_count:2 sid_count:2
 > > 	id link gap_cnt speed delay cIRM power port0 port1 port2 ini more
 > > 	00    1       5  S100     0    1    0W     -     P         0    0
 > > 	01    1       5  S400     0    1   15W     C     -         1    0
 > > 
 > > 	The BSD box is id 01.
 > > 	Perhaps the "C" showing up under port0 instead of port1 is significant?
 > > 
 > >   So: if the BSD box is id 00, camcorder is id 01 -> works
 > >       if the BSD box is id 01, camcorder is id 00 -> does not work
 > > 
 > > > Thanks for a fix for the compiler warning.
 > > 
 > > You're welcome.
 > 
 > ------- End of Forwarded Message
 > 
 > _______________________________________________
 > freebsd-firewire at freebsd.org mailing list
 > http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
 > To unsubscribe, send any mail to "freebsd-firewire-unsubscribe at freebsd.org"
 > 
 
 /\ Hidetoshi Shimokawa
 \/  simokawa at ieee.org


More information about the freebsd-firewire mailing list