Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
FWCONTROL(8)		FreeBSD	System Manager's Manual		  FWCONTROL(8)

     fwcontrol -- FireWire control utility

     fwcontrol [-u bus_num] [-prt] [-c node] [-d node] [-o node] [-s node]
	       [-l file] [-f node] [-g gap_count] [-b pri_req] [-M mode]
	       [-R filename] [-S filename] [-m EUI64 | hostname]

     The fwcontrol utility is designed to provide a way	for users to access
     and control the FreeBSD FireWire subsystem.  Without options, fwcontrol
     will output a list	of devices that	are/were connected to the bus.

     The following options are available:

     -u	bus_num
	     Specify the FireWire bus number to	be operated on.	 The default
	     is	bus 0.

     -r	     Initiate bus reset.

     -t	     Show the topology map.

     -p	     Dump PHY registers.

     -c	node
	     Show the configuration ROM	on the node.

     -d	node
	     Hex dump of the configuration ROM.

     -o	node
	     Send a link-on PHY	packet to the node.

     -s	node
	     Write to the RESET_START register on the node.

     -l	file
	     Load hex dump file	of the configuration ROM and parse it.

     -f	node
	     Force specified node to be	the root node on the next bus reset by
	     sending a PHY config packet.  Valid values	are 0 -	63.

     -g	gap_count
	     Broadcast new gap_count by	sending	a PHY_config packet.  By de-
	     fault this	value is 63 on all nodes.  Valid values	are 0 -	63.

     -i	pri_req
	     Set the PRIORITY_BUDGET register on all supported nodes.

     -M	mode
	     Explicitly	specify	either dv or mpeg mode for the incoming
	     stream.  Only meaningful in case of and must precede the -R op-
	     tion.  If not specified, the program will try to guess.  In case
	     of	"format	0x20" error, try to force the "mpeg" mode.

     -R	filename
	     Receive DV	or MPEG	TS stream and dump it to a file.  Use ^C to
	     stop the receiving.  Some DV cameras seem not to send the stream
	     if	a bus manager exists.  If it is	impossible to get the stream,
	     try the following commands:

		   sysctl hw.firewire.try_bmr=0
		   fwcontrol -r

	     The resulting file	contains raw DV	data excluding isochronous
	     header and	CIP header.  It	can be handled by libdv	in the FreeBSD
	     Ports Collection.	Resulting MPEG TS stream can be	played and
	     sent over a network using the VideoLAN vlc	tool in	the FreeBSD
	     Ports Collection.	The stream can be piped	directly to vlc, see

     -S	filename
	     Send a DV file as isochronous stream.

     -m	EUI64 |	hostname
	     Set default fwmem target.	Hostname will be converted to EUI64
	     using eui64(5).


     Each DV frame has a fixed size and	it is easy to edit the frame order.

	   fwcontrol -R	original.dv

     Receive a DV stream with DV camera	attached.

	   dd if=original.dv of=first.dv bs=120000 count=30

     Get first 30 frames(NTSC).

	   dd if=original.dv of=second.dv bs=120000 skip=30 count=30

     Get second	30 frames(NTSC).

	   cat second.dv first.dv | fwcontrol -S /dev/stdin

     Swap first	and second 30 frames and send them to DV recorder.

     For PAL, replace "bs=120000" with "bs=144000".

	   fwcontrol -R	file.m2t

     Receive an	MPEG TS	stream from a camera producing MPEG transport stream.
     This has been tested with SONY HDR-FX1E camera that produces HD MPEG-2
     stream at 25 Mbps bandwidth.

     To	send the stream	from the camera	over the network using TCP (which sur-
     prisingly works better with vlc), you can use
	   fwcontrol -R	- | nc 9000
     with netcat from ports and	to receive the stream, use
	   nc -l -p 9000 | vlc -

     To	netcast	via UDP, you need to use buffer	program	from ports, since vlc
     is	not fast enough	to read	UDP packets from buffers and thus it experi-
     ences dropouts when run directly.	The sending side can use
	   fwcontrol -R	- | nc 9000
     and to receive the	stream,	use
	   nc -l -u -p 9000 | buffer -s	10k -b 1000 -m 20m -p 5	| vlc -

     For more information on how to work with vlc see its docs.

     mplayer(1), vlc(1), firewire(4), fwe(4), fwip(4), fwohci(4), sbp(4)

     The fwcontrol utility first appeared in FreeBSD 5.0.

     Hidetoshi Shimokawa <>
     Petr Holub	<> (MPEG TS mode)

     This utility is still under development and provided for debugging	pur-
     poses.  Especially	MPEG TS	reception support is very rudimental and sup-
     ports only	high-bandwidth MPEG-2 streams (fn field	in CIP header equals

FreeBSD	13.0		      September	12, 2008		  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help