natural born minority
Linux屈指のDAWである”Ardour”も本格的に動かし始めたので、今度はUSB-AUDIOを動かしていこうと思います。
USBつないだだけでも一応認識はされますが、「Roland Corp. Unknown(0x0000)」など表示される上、Ardour上にInputの選択肢として表示されません。
「ドライバが足りない?」とあたりをつけ、ググール先生。
何だかんだで、MMUSBAUDIOというものに当たりまして…。
http://michaelminn.com/linux/mmusbaudio/
ここで、 mmusbaudio.tgzをダウンロードしておき、
# 一般ユーザにて
tar -zxvf mmusbaudio.tgz
cd mmusbaudio
make
と意気揚々コンパイルしたのだが、エラー。
make: *** /lib/modules/2.6.24.4-64.fc8/build: そのようなファイルやディレクトリはありません. 中止.
これは、ただカーネルソースをインストールしていなかっただけだったので、インストールします。
# rootにて
yum install kernel-devel
しかし、エラーは続く…
mmusbaudio.c:1665: error: ‘struct urb’ has no member named ‘lock’
ん?構造体にlockメンバがない?どういう使われ方してるのか。
1665行目: spin_lock_init(&device->read_urb->lock);
調べてみると、spin_lock_init()も、deviceのメンバとなっているurb型構造体も、カーネルソース側に定義されているものよう。
spin_lock_init()を調べてみると「スピンロックを初期化(ロック解放状態)する」らしい。 スピンロックを調べてみると「マルチプロセッサ環境での排他制御の仕組み」らしい。
俺の環境はばっちりマルチCPUなので、やっちまうとどんな影響がでるかは分かりませんが、とりあえずエラー箇所をコメントアウトしてコンパイルしてみる。(1710,1665)
成功。ほんでインスコ。
make install
Done
cp mmusbaudio.ko /lib/modules/`uname -r`/kernel/drivers/usb
cp mmusbplay mmusbrecord /usr/local/bin
cp *.xpm /usr/share/icons
/sbin/depmod
sync
/sbin/modprobe mmusbaudio
確認。
lsmod | grep mmusb
mmusbaudio 40896 0
soundcore 15073 4 mmusbaudio,snd
…としたのだが、結局、状況は変わりませんでした。
なので、設定ファイルも、depmod も元へ戻すことを余儀なくされました。
環境をいじったので、自身の備忘録として置いておきます。
読んでる人、参考にならなくてごめんなさいね。
blog comments powered by Disqus