NBM2

natural born minority

UA-100を認識させる(失敗)

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