Links to related software: Utilities
Manfred Weihs and Christian Gemeiner have created a tool called amdtpplay that plays an audio stream received from the a 1394 IEC 61883-6 audio device through the sound card. An example of a 61883-6 audio device is the Sony LISSA.
Channel changers (6200ch, sa3250ch, sa4200ch)
Tools to switch channels on cable TV set-top boxes: Motorola DCT-6200, Scientific Atlanta SA3250HD, SA4200HD
Configuration ROM pretty-printer (crpp)
Crpp creates an annotated human-readable representation of Configuration ROM data. The input can be original binary data, or from /sys/bus/firewire/devices/fw*/config_rom, or can be obtained with firecontrol or with firewire-ohci's AT/AR events debug option. (Announcement and description.)
This project provides access to DV devices for all V4l compatible applications. It offers two alternative utilities for this purpose:
- dv4lstart intercepts and interprets V4L related open()s, read()s, ioctl()s, etc. from applications.
- dv4l provides a backend for vloopback.
DV4Linux uses libraw1394, iec61883, and libdv.
A command-line utility to backup any kind of data to a DV camcorder, written by Peter Schlaile who has worked on DV transmission over 1394 and the encoder in libdv.
Utility to grab DV from camcorder into AVI files.
DVTS is Digital Video Transport System, a collection of utilities for Linux, FreeBSDM and MacOSX, to send DV data over an IP network. You can use this, for example, with ethernet to overcome the current limitations with 1394 cable length.
From Oracle, Endpoint provides FireWire disk emulation. Endpoint turns a Linux machine with one or more FireWire cards into an SBP-2 device.
Firecont and Firepad
The goal of this project is to support AV/C Camera subunits and in the future AV/C Camera Storage subunits on Linux. At the time of this writing (November 2009), zoom and focus commands of the AV/C Camera Subunit Specification v1.0 are implemented and are known to work with Canon XH A1s and Panasonic NV GS-70.
firecontrol (was ieee1394commander)
Manfred Weihs developed a simple console oriented tool based on libraw1394 to issue asynchronous read, write and lock commands to some nodes on the bus as well as to force bus resets. The main advantage of this tool over other available tools (like gscanbus) is (besides not requiring a graphical interface), that it reports the exact acknowledge and response codes and therefore is very useful for debugging purposes.
A Firewire version of the xmon kernel monitoring/debugging tool for PPC. In the words of Benjamin Herrenschmidt, the author:
- So basically, my rsync kernel has the necessary support in it as of today (look at the bits in CONFIG_XMON_FW in arch/ppc/xmon/start.c), and the client tool can be downloaded from http://gate.crashing.org/~benh/firescope.tar.gz. The protocol is a bit basic (pmu like ? :) and currently, xmon don't like "losing" the link with firescope. That is, any xmon output should properly reach firescope at any time, but if xmon didn't have firescope attached when trying to _read_ (when entered), then it will continue to either ADB or serial code and will miss firewire completely. I will try to fix that one of these days so that xmon can take input from all possible sources at the same time.
Meanwhile, firescope has been extended by Andi Kleen.
Bernhard Kaindl's fireproxy forwards the gdb remote protocol to FireWire. It allows reading and writing remote memory by gdb.
An interactive command line tool to test the <linux/firewire-cdev.h> interface to the firewire drivers. (Announcement)
Utility to display connected devices and do transactions.
Note, there are two highly useful patches in gscanbus' patch tracker which you should apply if you are going to build gscanbus from its original sources. One of the patches adds the command line option "-p n" which lets you chose between multiple FireWire controllers (select controller n instead of controller 0) if you have more than one FireWire controller in your machine.
IEEE1394Diag is a GUI application that presents a graphical view of an IEEE1394 network and provides the ability to perform common low-level 1394 operations.
This program for Linux receives MPEG-2 transport streams from an IEEE 1394 (FireWire) bus according to IEC 61883-4. It can decode one audio and video stream and present them on the local sound card and on the local display.
mpg1394grab is a Sony MicroMV capture utility. It works great with VideoLAN client.
mpg1394grab uses the first-generation isochronous interface of libraw1394. This interface is deprecated and has been removed from the raw1394 driver from Linux 2.6.23 onwards. Try test-mpeg2 as a newer replacement for mpg1394grab.
test-amdtp, test-dv, test-mpeg2, test-plugs
These utilities are part of the libiec61883 source distribution. test-amdtp, test-dv, and test-mpeg2 can transmit or receive audio, DV, or MPEG-2 transport streams. They can for example be used to pipe a video stream from a ste top box or camcorder to stdin of xine, or to stream from a video file to the FireWire bus. test-plugs is a test for AV/C connection management protocol.
test_cycle_time (Isochronous Cycle Timer register test)
This is a tool to test the reliability of one particular hardware feature of OHCI-1394 (FireWire) controllers: The isochronous cycle timer register. Some controllers do not access this register atomically, resulting in the cycle time seemingly jumping backwards occasionally.
The firewire-ohci driver contains a workaround for unreliable isochronous cycle timer hardware, but this workaround is only activated for known bad hardware. You can use this tool to check whether you have an affected controller and firewire-ohci misses the necessary quirks entry.
(Posting at linux1394-devel)
Videography is the command-line cousin of the project Coriander for cases where a GUI is not desired. It controls an IIDC-compliant (industrial/ machine vision) camera via the IEEE 1394 bus. Its primary function is to capture images to disk.
This small utility is able to show and optionally change the EEPROM contents of VIA VT6307 based controllers. Most notably this can switch OHCI 1.0 versions of such cards to OHCI 1.1 support.
In order to compile vt6307ohciver, you have to install libpci and its headers first. The necessary package is called something like pciutils-devel (Mandrake 10.1) or pciutils (Gentoo). To compile, use the command
$ gcc vt6307ohciver.c -o vt6307ohciver -lpci
(this works on Mandrake 10.1), or
$ gcc vt6307ohciver.c -o vt6307ohciver -lpci -lz
(this works on Gentoo).
Note, vt6307ohciver is also able to show EEPROM contents of VIA VT6306 (which it displays as type 6307). It is not yet clear whether it can also reprogram VT6306.