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”! 🙂
6 risposte su “Motu Ultralite e Linux”
[…] Qui potete trovare le sue fatiche per far funzionare la suddetta scheda, spiegato in passi ben dettagliati. […]
Ciao, ho seguito la tua guida ma ho qualche domanda da farti, se puoi aiutarmi.
Riesco a compilare ed installare correttamente libraw1394 e libffado, ma eseguendo “tests/test-ffado Discover” non vedo nessun dispositivo.
Inoltre non riesco a compilare jack perché mi dà i seguenti errori:
1) ffado_driver.c:94: error: ‘ffado_audio_datatype_float’ undeclared
2) ffado_driver.c:308: error: ‘ffado_wait_response’ undeclared
In ogni caso, grazie per la tua preziosa guida.
Paolo
Ok, ho risolto. L’errore era nelle librerie ffado, hanno corretto i sorgenti lì.
Comunque resto in attesa di novità “operative”.
Ciao
@paolo Ciao 🙂
Dunque, ho notato che nel frattempo hanno modificato il test Discover, ora devi aggiungere il parametro –verbose=6 per vedere la tua UltraLite. Comunque ho aggiornato la guida in proposito.
Per ora sembra non andare comunque niente, a quanto pare dovrebbe di default riprodurre un segnale di un’onda a 1kHz sul canale sinistro dell’output 1, ma dai meters non vedo nulla.
Visto che ho SOLO ORA scoperto l’esistenza della mailing list degli utenti, (era ora!) provero’ a porre i quesiti agli sviluppatori, eventualmente proponendomi come beta tester 🙂
A presto! 🙂
Ciao, anche io ho contattato la mailing list di ffado (ho letto anche i tuoi messaggi). Per il momento possiamo solo aspettare perché altri dispositivi hanno la priorità.
Tu però puoi contattare sia il tech support di MOTU sia il customer service, come ho fatto io.
Anche se sappiamo già che Linux non è supportato, magari se siamo in tanti ad insistere qualcosa cambierà.
ciao
Ciao, anche io ho letto i tuoi sulla ML 🙂
Seguo costantemente sia quella degli utenti che quella dei developers, Jonathan si occupa di tutto il backend per le MOTU, ma purtroppo non possiede una Ultralite.
Il problema è che per sniffare i pacchetti sul bus firewire si dovrebbe avere un altro pc con una scheda firewire con più connettori, e con un determinato tipo di chipset (piu’ costoso dei modelli consumer)..
Vedremo quando Jonathan avrà tempo, in caso acquisterei molto volentieri una scheda di questo tipo, sperando di riuscire a cavare un ragno dal buco 🙂
A presto!