Installazione e configurazione dei driver ffado con jack e ubuntu
Introduzione
Per poter sfuttare al meglio su linux molte schede audio firewire è necessario installare i driver Ffado (evoluzione dei driver freebob, ormai non più sviluppati), che però non sono inclusi di default in Ubuntu. Per poterli utilizzare sarà poi necessario aggiornare Jack (il server audio utilizzato per l'audio professionale su linux) in quanto la versione installabile dai repository di Ubuntu (l'ultima release stabile) non supporta questi driver.
Si ricorda che sia i driver che la versione di jack che andremo ad installare sono software beta, anche se in stato avanzato di sviluppo, quindi potenzialmente instabili.
Per sviluppare la seguente guida sono partito da un'installazione pulita di Ubuntustudio 8.04.1 (in quanto ha preinstallati molti pacchetti utili in ambito di audiorecording come il kernel realtime), ho installaato gli ultimi driver ffado disponibili (2.0beta6) e l'ultima versione svn di jack(0.112.1), per poter utilizzare una scheda audio Focusrite Saffire Pro 10 i/o. Sul sito dei driver Ffado è possibile consultare un elenco delle periferiche firewire ( www.ffado.org/?q=devicesupport/list) ed il loro livello di supporto da parte dei driver stessi.
Preparativi
Dipendenze
Per installare gli strumenti per la compilazione ed alcuni pacchetti necessari per soddisfare le dipendenze, aprire un terminale e digitare:
sudo aptitude install gettext build-essential scons libiec61883-0 libiec61883-dev libavc1394-0 libavc1394-dev libxml++2.6c2a libxml++2.6-dev liblo0 liblo0-dev docbook-utils libexpat-dev libdbus-1-dev pyqt-tools python-dbus python-qt3 gcc-4.2-locales gcc-4.2-doc gcc-4.2-multilib subversion libtool automake libfaad0 libfaad2-0 libcap-dev libjack-dev
Installazione dei driver FFado
Scaricare dal sito i sorgenti dei driver ffado e metterli nella propria home
Successivamente aprire un terminale, decomprimere il pacchetto appena scaricato ed entrare nella directory appena creata.
cd ~ tar xzvf libffado-2.0-beta6.tar.gz cd libffado-2.0-beta6/
compilare i sorgenti tramite scons ed installare i driver.
scons -h ENABLE_OPTIMIZATIONS=yes ENABLE_ALL=yes scons sudo scons install
il primo comando permette di settare le opzioni di compilazione e di visualizzarne lo stato (quali sono abilitate e quali no). In questo caso è stata abilitata l'ottimizzazione per l'architettura del processore ed il supporto a tutte le schede audio utilizzabili con questi driver.
permessi
Settare i permessi per utilizzare il device firewire tramite l'utente normale, senza disporre dei permessi di root.
modo temporaneo
aprire un terminale e digitare questi comandi per caricare il modulo raw1394, che permette di gestire le periferiche firewire, e dargli permessi corretti
sudo modprobe raw1394 sudo chmod a+rw /dev/raw1394
modo permanente
1. editare il file /etc/udev/rules.d/40-permission.rules e modificare le seguenti righe
KERNEL=="raw1394", GROUP="disk" KERNEL=="dv1394*", GROUP="video" KERNEL=="video1394*", GROUP="video"
con queste
KERNEL=="raw1394", MODE="0666" GROUP="disk" KERNEL=="dv1394*", MODE="0666" GROUP="video" KERNEL=="video1394*", MODE="0666" GROUP="video"
2. aggiungere l'utente al gruppo disk (ricordarsi di sostituire NOMEUTENTE con il proprio username)
sudo adduser NOMEUTENTE
3. aggiungere il modulo raw1394 al file /etc/modules in modo che venga caricato automaticamente all'avvio
echo "raw1394" >> /etc/modules
4. Riavviare per attivare le opzioni appena abilitate
verifica
ora verifichiamo che la scheda sia stata riconosciuta e che i driver siano funzionanti. apriamo un terminale, spostiamoci nella cartella dove abbiamo compilato i driver ed utilizziamo il tool di test disponibile
cd ~/libffado-2.0-beta6 tests/test-ffado Discover
se tutto è andato correttamente l'output dovrebbe contenere queste righe:
03039050483: Debug (devicemanager.cpp)[ 491] discover: driver found for device 0 ... 03039290686: Debug (devicemanager.cpp)[1001] showDeviceInfo: --- Device 0 --- 03039290699: Debug (focusrite_generic.cpp)[ 44] showDevice: This is a BeBoB::Focusrite::FocusriteDevice 03039290711: Debug (bebob_avdevice.cpp)[ 370] showDevice: Device is a BeBoB device 03039290734: Debug (ffadodevice.cpp)[ 205] showDevice: Attached to port.......: 0 (ohci1394) 03039290747: Debug (ffadodevice.cpp)[ 206] showDevice: Node...................: 0 03039290759: Debug (ffadodevice.cpp)[ 208] showDevice: Vendor name............: Focusrite 03039290777: Debug (ffadodevice.cpp)[ 210] showDevice: Model name.............: Pro10IO 03039290793: Debug (ffadodevice.cpp)[ 212] showDevice: GUID...................: 00130e0100060114 03039290803: Debug (ffadodevice.cpp)[ 217] showDevice: Assigned ID....: dev0 ... no message buffer overruns
dove possiamo vedere che la scheda è stata riconosciuta correttamente, sono stati caricati i driver e non vi sono stati errori.
Tramite lo stesso tool è possibile ottenere altre informazioni e settare alcuni parametri della scheda (per ulteriori informazioni leggere il manuale del comando digitando man tests/test-ffado)
Nel menù delle applicazioni Audio è anche presente il mixer della scheda audio (molto simile a quello disponibile per Windows), tramite cui è teoricamente possibile settare alcune impostazioni della scheda. Questo tool al momento soffre di alcuni bug, in quanto non è in grado di rilevare le reali impostazioni della scheda. Molti comandi, come i volumi, funzionano solamente se jack è in esecuzione.
Installazione di Jack da svn
ora apriamo un terminale, riportiamoci nella home, scarichiamo l'ultima release svn di jack ed entriamo nella directory appena creata
cd ~