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

FreeBSD Manual Pages


home | help
FWCONTROL(8)		  BSD 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.

     -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.

     -g	gap_count
	     Broadcast gap_count by phy_config packet.

     -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. If you get
	     an	error complaining about	"format	0x20", try to force the	"mpeg"

     -R	filename
	     Receive DV	or MPEG	TS stream and dump it to a file.  Use Ctrl-C
	     to	stop the receiving.  Some DV cameras seem not to send the
	     stream if a bus manager exists.  If you cannot 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 EXAM-

     -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 sup-
     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.

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

     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

BSD			       October 30, 2007				   BSD


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

home | help