Skip to content
Currently this repository is maintained for new ALSA firewire stack.
C Makefile
Find file
Latest commit ff891e6 @takaswie ALSA: dice: ensure phase lock before starting streaming
In former commits, probing process has no need to set sampling transfer
frequency. Although it's OK to drop a function to change the frequency
from this module, some models require it before streaming. This seems to
be due to phase lock of clock source.

This commit moves the function from transaction layer to stream layer, and
rename it according to the purpose.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

README

= Developing for ALSA firewire stack =

2015/12/21 坂本 貴史
Takashi Sakamoto <o-takashi@sakamocchi.jp>

== General ==

ALSA, Linux sound subsystem, includes packet streaming engine and device
drivers for audio and music units on IEEE 1394 bus. This software stack
is called as ALSA firewire stack.

This repository is a test of my patch candidates for ALSA firewire stack.
Currently, several modules are available by DKMS:

Released and merged:
 - snd-fireworks: for devices based on Echo Audio's Fireworks module
 - snd-bebob: for devices based on BridgeCo's chipset and BeBoB firmware
 - snd-oxfw: for devices based on Oxford Semiconductor OXFW970/971 chipset
 - snd-dice: for devices based on TC Applied Technologies DICE chipset family
 - snd-firewire-digi00x: for devices of Digidesign 002/003 family
 - snd-firewire-tascam: for devices of TASCAM FireWire series
 - snd-firewire-lib: for helper functions of AMDTP/CMP/FCP and AV/C commands

Under developing:
 - snd-firewire-transceiver: enable packet streaming between Linux systems
 - snd-fireface: for devices of RME Fireface series
 - snd-firewire-motu: for devices of Mark of the Unicorn FireWire series

My aim is implementing streaming functionality in ALSA, in kernel land. The
other functionalities are out of the aim and should be implemented in
userspace applications.


== Requirement ==

- Linux kernel 3.11 or later


== Current status ==

 - Capture/playback of PCM/MIDI is supported at any sampling rate, any clock source
 - HWDEP interface is supported for mixer control application
 - Model dependent functionalities which requires help of kernel space


== Bug repots  ==

Linux 3.16 or later already includes snd-bebob and snd-fireworks.
Linux 3.19 or later includes snd-oxfw and updates of snd-dice.
Linux 4.4 includes snd-firewire-digi00x and snd-firewire-tascam.

Any bug reports should be sent to alsa-devel to share with users and developers.
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


== Resources ==
You can see my report about this developing:
https://github.com/takaswie/alsa-firewire-report


== Easy instruction with DKMS ==

DKMS - Dynamic Kernel Module Support is easy for installing or updating external modules.
http://linux.dell.com/dkms/

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

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

Uninstall
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


End
Something went wrong with that request. Please try again.