ALSA-AMDTP: the Linux ALSA driver for connecting
audio applications to devices connected via the IEEE1394 (Firewire) bus
using the 61883-6 Audio and Music Transfer Protocol.
Download
The most recent stable version is 0.2.5. This should work with 2.4 kernels. An update for 2.6 kernels is in progress.
The most recent source is available via CVS from:
sourceforge. The module
name is alsa-amdtp.
Installation
Requirements
This driver has been tested with the following software/hardware configurations:
-
Alsa:
http://www.alsa-project.org/)
- version 0.9.0rc7
- version 0.9.8
-
Kernel:
- version 2.4.20 (with/without low latency patch applied).
(The low latency patches can be found at
here.
- version 2.4.21
-
Linux distribution:
- Redhat 8.0 (but not with the original kernel version).
- Linux distribution: Redhat 9.0
-
Hardware configurations:
- PC, Intel Pentium 4 1.7GHz processor, Texas Instruments TSB12LV26 IEEE-1394 Controller
- PC, Dual Pentium 3 800MHz processors, Texas Instruments TSB12LV26 IEEE-1394 Controller
- Laptop PC, Mobile Intel Pentium 4 1.8GHz processor, Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller
The driver may work with other versions of these packages.
Installation
-
Download, compile and install the alsa-driver and alsa-libs packages.
-
Ensure that libraw1394 is installed. Also make sure that the permissions
on /dev/raw1394 are set appropriately. I use:
chmod 777 /dev/raw1394
Also ensure that the raw1394 device driver is loaded.
insmod raw1394
-
Download, and extract the alsa-amdtp archive:
tar xvfz alsa-amdtp-x.x.x.tar.gz
-
From within the alsa-amdtp directory:
- edit the Makefile to set the location of the kernel source files,
alsa-driver files and Qt libraries.
-
Build the driver, and associated utilities using:
make
-
As administrator (super user / root), install the driver modules:
insmod amtransfer.o
insmod am61883.o
-
(If it complains about missing functions, you may need to install
some other sound modules. The following provide the required modules
on my configuration:
modprobe -a snd-pcm
modprobe -a snd-hwdep
modprobe -a snd-rawmidi
)
Operation
Run the control panel.
./controlpanel
If there is any problem here, check that the raw1394 module is installed, as described above.
Select the appropriate values for isochronous send and receive channels, rate, and number
of channels (sequences). Click the check boxes to enable sending/receiving. Once all
parameters have been configured, click Set to update the driver configuration.
ALSA compatible audio applications should see the driver as another audio device.
General Usage
If you want to transmit audio over your Firewire network, and have no specialised
61883-6 devices, you can use this driver to transmit audio/midi between two Linux
machines that are running this driver. Audio/midi can be patched from the alsa-amdtp
driver to the ALSA driver for an existing sound card in the machine.
Two (prototype) applications exist to perform this patching at present. Both are
currently fairly rudimentary, created only for testing purposes during driver
development.
To build these applications:
-
Edit the source code to put in the appropriate references to the various
devices:
-
alsa_patch.c currently uses snd-card-0 (hw:0,0) for playback, and snd-card-1
(hw:1,0) for the alsa-amdtp driver capturing audio off the 1394 bus.
-
alsa_patch_midi.c currently uses port 65:0 for playback, and port 72:0 for
the alsa-amdtp driver capturing midi off the 1394 bus.
(Yes, the variable names
seem backward and confuse me too :-)
-
Compile the applications:
make alsa_patch
make alsa_patch_midi
-
Run the required application on the destination station:
./alsa_patch
or
./alsa_patch_midi
-
Run an audio application on the source station, configured to produce audio/midi
to the alsa-amdtp driver.
-
If you have problems, ensure that the control panel configuration is set to allow
transmission from the source machine, via one isochronous channel to the
destination machine. Make sure the send indicator on the source machine and the
receive indicator on the destination machine are both green. Monitor the control
panel on the destination machine and ensure that data of the appropriate format
is being received.
Bug Reports
Please supply as much information as possible.
If possible, describe the hardware used, the version of the driver software,
steps followed, any message reported (also check the system log, /var/log/messages),
and the nature of the problem.
Common problems (and hopefully solutions) will be added to the FAQ document (included in the distribution).
Acknowledgements
We gratefully acknowledge support from the following sources:
Sponsorship of initial driver development
|
Hosting of site and software
|
Contact
Shaun Bangay
cssb@users.sourceforge.net
|