Working Digidesign 002/003R/003R+ ALSA driver
Switch branches/tags
Clone or download
Pull request Compare This branch is 43 commits ahead, 387 commits behind takaswie:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


= Developing for snd-firewire-lib, snd-fireworks, snd-bebob, snd-dice, snd-oxfw and snd-digi00x =

2015/03/16 坂本 貴史
Takashi Sakamoto <>

== General ==

This repository is a test for my patch candidates for ALSA firewire stack.
You can install my snd-firewire-lib, snd-fireworks, snd-bebob, snd-dice, snd-oxfw, snd-digi00x by DKMS.

== snd-firewire-lib, snd-bebob, snd-fireworks, snd-dice, snd-oxfw and snd-digi00x ==

They are device drivers utilize Advanced Linux Sound Architecture (ALSA) and Linux
Firewire Subsystem (so called "juju").
 - snd-bebob: for devices based on BridgeCo's chipset and BeBoB firmware
 - snd-fireworks: for devices based on Echo Audio's Fireworks module
 - snd-dice: for devices based on TC Applied Technologies DICE chipset family
 - snd-oxfw: for devices based on Oxford Semiconductor OXFW970/971 chipset
 - snd-digi00x: for Digidesign 002/003 family
 - snd-firewire-lib: for helper functions of AMDTP/CMP/FCP and AV/C commands

My aim is implementing streaming functionality in ALSA, in kernel land.

I test these drivers with:
 - snd-bebob: Yamaha GO44, GO46
 - snd-bebob: M-Audio Ozonic, Firewire Solo, Firewire Audiophile, Firewire 410,
 - snd-bebob: Firewire 1814
 - snd-fireworks: AudioFirePre8, AudioFire4
 - snd-dice: TC Electronic Impact Twin
 - snd-oxfw: Behringer F-Control 202
 - snd-oxfw: Griffin FireWave
 - snd-digi00x: Digi 002 Rack

Some dedicated testers test these drivers with:
 - snd-bebob: Edirol FA-66 (great thanks to Fryderyk Dziarmagowski)
 - snd-bebob: Edirol FA_66 (great thanks to Daniel Wagner)
 - snd-bebob: BridgeCo Audio A5 (great thanks to Daniel Wagner)
 - snd-bebob: PreSonus FP10 (great thanks to David Henningsson)
 - snd-bebob: M-Audio ProjectMix I/O (great thanks to Darren Anderson)
 - snd-bebob: Terratec PHASE X24 FW (great thanks to Maximilian Engelhardt)

== Requirement ==

- Linux kernel 3.11 or later

== Current status ==

 - Linux 3.16 includes snd-fireworks/snd-bebob.
 - Linux 3.19 includes snd-dice/snd-oxfw.
 - snd-digi00x is under development.

== Easy instraction with DKMS ==

DKMS - Dynamic Kernel Module Support is easy for installing or updating external modules.

This instruction is for Debian/Ubuntu. You need to make your arrangement for the
other Linux distribution if you use.

Then you need to install 'dkms' package.
 $ sudo apt-get install dkms

Then you need to install 'linux-headers' package to make drivers for your kernel.
 $ sudo apt-get install linux-headers-generic

1. $ git clone
2. $ ln -s $(pwd)/snd-firewire-improve/ /usr/src/alsa-firewire-3.11
3. $ dkms install alsa-firewire/3.11 (superuser)

1. $ modprobe -r snd-bebob snd-fireworks snd-dice snd-oxfw snd-firewire-lib (superuser)
2. $ dkms remove alsa-firewire/3.11 --all (superuser)
3. $ rm /usr/src/alsa-firewire-3.11 (superuser)
4. $ rm snd-firewire-improve

== Bug repots  ==

Linux 3.16 or later already includes snd-bebob and snd-fireworks. And 3.19 or later
also includes snd-dice and snd-oxfw. Thus any bug reports should be sent to alsa-devel.

I add proc interface to help debug. Please report your experiences with the output.

 - /proc/asound/cardX/firewire/firmware
 - /proc/asound/cardX/firewire/formation
 - /proc/asound/cardX/firewire/clock
 - /proc/asound/cardX/firewire/meter (if the device has)

 - /proc/asound/cardX/firewire/firmware
 - /proc/asound/cardX/firewire/clock
 - /proc/asound/cardX/firewire/meters

 - /proc/asound/cardX/dice

 - /proc/asound/cardX/firewire/formation

 - /proc/asound/cardX/firewire/clock