= Developing for snd-firewire-lib, snd-bebob and snd-fireworks = 2013/11/24 坂本 貴史 Takashi Sakamoto <o-takashi@sakamocchi.jp> == General == This repository is a test for my patch candidates for ALSA firewire stack. You can install my snd-firewire-lib, snd-bebob and snd-fireworks by DKMS. == snd-firewire-lib, snd-bebob and snd-fireworks == These are device drivers utilize Advanced Linux Sound Architecture (ALSA) and Linux Firewire Subsystem (so called "juju"). - snd-bebob: for devices based on BridgeCo's BeBoB chipset - snd-fireworks: for devices based on Echo Audio's Fireworks chipset - snd-firewire-lib: for helper functions of AMDTP/CMP/FCP and AV/C commands There is a project in user land, "FFADO". http://www.ffado.org/ 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: Echo AudioFire12, AudioFirePre8, AudioFire4 My testers test these drivers with: - snd-bebob: Edirol FA-66 (great thanks to Fryderyk Dziarmagowski) == 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 == Easy instraction 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/snd-firewire-3.11 (superuser) 3. $ dkms install snd-firewire/3.11 (superuser) Uninstall 1. $ modprobe -r snd-bebob snd-fireworks snd-firewire-lib (superuser) 2. $ dkms remove ans-firewire/3.11 --all (superuser) 3. $ rm /usr/src/snd-firewire-3.11 (superuser) 4. $ rm snd-firewire-improve == Bug repots == I add proc interface to help debug. Please send the output to me with your experience. snd-bebob: - /proc/asound/cardX/#hardware - /proc/asound/cardX/#formation - /proc/asound/cardX/#meter (if the device has) snd-fireworks: - /proc/asound/cardX/#hardware - /proc/asound/cardX/#clock - /proc/asound/cardX/#meters