In questo post faccio un uso comune delle Q, perchè magari questo post può essere utile a qualcuno.
UPDATE: in questi giorni (13/12/2007) possiamo prendere l’ultima versione SVN; Inoltre, aggiunte alcune impostazioni per far girare il tutto non da utente root.
Siccome la MOTU è stronza e non vuole collaborare con il mondo open, per gli utenti linux è un casino cercare di utilizzare questa scheda.
Fortunatamente esiste un progetto, ffado (ex freebob), che a forza di reverse engineering cerca di far funzionare qualcosina.
Nota: questi driver sono instabilissimi, mi crashano il 60% delle volte inspiegabilmente non supportano per ora la UltraLite, tuttavia per altre interfacce quali la MkII, MkI, Traveler sembra funzionare.
Orbene: muniamoci di tanta pazienza e attenzione, visto che è un processo un po’ complesso.
L’installazione è testata su Ubuntu Gutsy 7.10, sulle altre potrebbe benissimo non andare una ceppa.
Inoltre è tutto software completamente instabile, provenendo dai vari repository SVN (di sviluppo).
Potrebbero benissimo non compilare da un giorno all’altro.
Innanzitutto installiamo i seguenti pacchetti:
sudo apt-get install scons libiec61883-dev libavc1394-dev liblo0-dev libxml++2.6-dev libasound2-dev
Poi posizioniamoci in una cartella, tipo ~/drivermotu/ e diamo:
svn co svn://svn.linux1394.org/libraw1394/trunk/ libraw1394
cd libraw1394
./autogen
./configure --prefix=/usr
make
sudo make install
Poi installiamo i drivers veri e propri, la libreria libffado:
cd ..
svn co http://subversion.ffado.org/ffado/trunk ./
Nel repository al momento c’è la versione 716, che però non si compila correttamente. Quindi preleviamo la versione 685, che sembra compilarsi hanno corretto i problemi di compilazione, siamo alla 758 e si compila correttamente.
cd libffado
scons ENABLE_MOTU=yes PREFIX=/usr
sudo scons install
Può darsi che dia un errorino, che al momento non ricordo, ma ignoriamolo bellamente.
Ora impostiamo i permessi per utilizzare il modulo raw1394, in modo da non essere root per farla funzionare:
sudo gedit /etc/udev/rules.d/40-permissions.rules
cerchiamo la riga contenente raw1394, e modifichiamola in:
KERNEL=="raw1394", GROUP="video"
Carichiamo i moduli per la firewire:
sudo modprobe ieee1394 raw1394
Verifichiamo che funzioni dando:
tests/test-ffado Discover --verbose=6
Dovrebbe citare, nell’output, la nostra Motu Ultralite!
Ora preleviamo la versione SVN di Jack, in modo da poter utilizzare i driver ffado.
cd..
svn co http://subversion.jackaudio.org/jack/trunk/jack jack
cd jack
./autogen.sh
./configure --prefix=/usr
make
sudo make install
Già che ci siamo, installiamo anche qjackctl, un’interfaccia grafica per jack, che è abbastanza comoda. Anche qui dobbiamo prendere la versione da SVN, perchè altrimenti non possiamo utilizzare il driver firewire.
sudo apt-get install libqt4-dev
cd ..
cvs -d:pserver:anonymous@qjackctl.cvs.sourceforge.net:/cvsroot/qjackctl login
cvs -z3 -d:pserver:anonymous@qjackctl.cvs.sourceforge.net:/cvsroot/qjackctl co -P qjackctl
cd qjackctl
make -f Makefile.cvs
./configure --prefix=/usr
make
sudo make install
Fatto questo, apriamo qjackctl:
qjackctl
Andiamo in Setup, e impostiamo:
- Driver: firewire
- Non abilitiamo Realtime (a meno che non abbiate un kernel realtime installato, in tal caso la configurazione sarebbe più complessa)
- Frames/period: 128 (bassa latenza)
- Periods/buffer: 2 (come mai non è possibile impostare a 1? sotto windows ci riesco…)
- Sample rate: 44100 (o 48, come preferite, io mi accontento per ora 🙂 )
Otterremo comunque una latenza buonina di 5.8 msec.
Salviamo, e clickiamo prima su Messages, in modo che si apra la finestrella con il lungo (issimo!) scroll, per monitorare i vari blocchi, e poi su Start.
Dopo qualche secondo, se tutto è andato bene, dovrebbe comparire la scritta connected.
Diamogli un altro paio di secondi (altrimenti si arrabbia e crasha!) e clickiamo su Connect.
Lì se tutto è andato per il verso giusto, dovremo vedere le varie porte, per i canali in ingresso e quelli in uscita.
Troubleshooting:
– Crasha/Non si connette al server Jack!
Bene, sai che novità! Prova ad eseguire questo comando:
sudo killall jack qjackctl -9
Controlla che jack non sia più in esecuzione con:
ps aux | grep jack
Se compare ancora nella lista, prova a scollegare il cavo firewire ed a ripetere il comando precedente (più volte, non si sa mai, e non fa del male).
Ricontrolla che sia effettivamente morto, e una volta fatto questo fai:
sudo rmmod raw1394 && sudo modprobe raw1394
Poi prova a riavviare qjackctl e vediamo se funziona un po’ meglio!
A volte (casualmente) va meglio di altre, a volte non si avvia, a volte boh.
Appena ho tempo porterò degli aggiornamenti “operativi”! 🙂