対象とするUbuntu Studioのバージョン
- 11.04 Natty Narwhal
- 10.10 Maverick Meercat
- 10.04 Lucid Lynx
- 9.10 karmic Koala
- 9.04 Jaunty jackalope
10.10以前のUbuntu Studioは、標準状態ではFirewire接続のサウンドデバイスを使うことができません。ここでは、使えるようにするための方法を解説します。
なお、11.04以降は様々な点が改善され、標準状態のままFirewire接続のサウンドデバイスが利用可能となりました。そのため、以下の設定を見直すだけで十分となります。
1. Firewire接続のサウンドデバイスを利用するために必要なこと
以下が必要です。
- IEEE1394インターフェイスの導入
- IEEE1394インターフェイス用カーネルモジュールのロード
- IEEE1394インターフェイスへのアクセス許可設定
- ユーザをaudioグループに追加
- FFADOパッケージのインストール
- JACKサウンドサーバの起動
2. IEEE1394の導入
お使いのコンピュータに、IEEE1394インターフェイスを導入し、装置としてのFirewireポートを設けて下さい。
3. Firewire用ドライバ(カーネルモジュール)のロード
LinuxのFirewireドライバ(カーネルモジュール)がロードされていない可能性があります。端末で以下のコマンドを実行し、カーネルモジュールがロードされているかどうか確認して下さい。
新カーネルモジュールの場合
$ lsmod | grep firewire; firewire_ohci 30801 0 firewire_core 54903 1 firewire_ohci crc_itu_t 12331 1 firewire_core
旧カーネルモジュールの場合
$ lsmod | grep 1394; ohci1394 27024 0 ieee1394 81069 1 ohci1394
新カーネルモジュールの場合は、「firewire_ohci」「firewire_core」「crc_itu_t」が、旧カーネルモジュールの場合は、「ohci1394」「ieee1394」がロードされている必要があります。
新旧が入り混じっていると、デバイスにアクセス出来なくなる可能性がありますので、コマンド「rmmod」を利用してアンロードして下さい。もし、有効になっていて欲しいモジュールがロードされていない場合は、端末でコマンド「modprobe」を使ってモジュールをロードして下さい。
なお、どちらが有効になるかの設定はファイル「/etc/modprobe.d/blacklist-firewire.conf」で行われています。標準状態では、10.04以前は旧カーネルモジュールセットが、10.10では新カーネルモジュールセットが有効となり、11.04では新カーネルモジュールセットのみ利用できます。
旧カーネルモジュールセットを利用する場合はさらに、「raw1394」もロードする必要があります。自動的にロードされるようにするには、ファイル「/etc/modules」に以下を追記して下さい。
{{ raw1394 }}
4. IEEE1394インターフェイスへのアクセス許可設定
ここまでの設定で、新カーネルモジュールではファイル「/dev/fr*」(*は0から始まる通し番号)が、旧カーネルモジュールではファイル「/dev/raw1394」が自動的に設けられます。これはLinuxの作法のひとつで、デバイスへの入出力はこれ(特殊ファイル)を通して行われます。
初期設定では、この特殊ファイルにはroot権限がないとアクセスできません。権限のコントロールはUDEVという仕組みで行われています。このUDEVの設定ファイルを作成することで、一般ユーザでも特殊ファイルへ アクセス出来るようにします。
11.04では、パッケージ「libffado2」がUDEVの設定ファイルをインストールするため、ユーザが何かする必要はありません。
10.10以前では、以下のコマンドを実行して、設定ファイルを作成します。
$ sudo gedit /etc/udev/rules.d/65-permission-raw.rules;
カーネルモジュールセットの新か旧のどちらを有効化しているかで、設定ファイルの内容が変わります。
新カーネルモジュールセットの場合
SUBSYSTEM!="firewire", GOTO="ffado_end" ATTR{vendor}=="0x000166", GROUP="audio", ENV{ID_FFADO}="1" # TC GROUP A/S ATTR{vendor}=="0x0001f2", GROUP="audio", ENV{ID_FFADO}="1" # Mark of the Unicorn, Inc. ATTR{vendor}=="0x0003db", GROUP="audio", ENV{ID_FFADO}="1" # Apogee Electronics Corp. ATTR{vendor}=="0x000595", GROUP="audio", ENV{ID_FFADO}="1" # Alesis Corporation ATTR{vendor}=="0x0007f5", GROUP="audio", ENV{ID_FFADO}="1" # Bridgeco Co AG ATTR{vendor}=="0x000a92", GROUP="audio", ENV{ID_FFADO}="1" # Presonus Corporation ATTR{vendor}=="0x000aac", GROUP="audio", ENV{ID_FFADO}="1" # TerraTec Electronic GmbH ATTR{vendor}=="0x000d6c", GROUP="audio", ENV{ID_FFADO}="1" # M-Audio ATTR{vendor}=="0x000f1b", GROUP="audio", ENV{ID_FFADO}="1" # Ego Systems Inc. ATTR{vendor}=="0x000ff2", GROUP="audio", ENV{ID_FFADO}="1" # Loud Technologies Inc. ATTR{vendor}=="0x001260", GROUP="audio", ENV{ID_FFADO}="1" # Stanton Magnetics,inc. ATTR{vendor}=="0x00130e", GROUP="audio", ENV{ID_FFADO}="1" # Focusrite Audio Engineering Limited ATTR{vendor}=="0x001486", GROUP="audio", ENV{ID_FFADO}="1" # Echo Digital Audio Corporation ATTR{vendor}=="0x001564", GROUP="audio", ENV{ID_FFADO}="1" # BEHRINGER Spezielle Studiotechnik GmbH ATTR{vendor}=="0x001c2d", GROUP="audio", ENV{ID_FFADO}="1" # FlexRadio Systems ATTR{vendor}=="0x001c6a", GROUP="audio", ENV{ID_FFADO}="1" # Weiss Engineering Ltd. ATTR{vendor}=="0x0040ab", GROUP="audio", ENV{ID_FFADO}="1" # ROLAND DG CORPORATION # The devices below abuse another Vendor's ID, and therefore we need more advanced rules for those. ATTR{vendor}=="0x00000a", ATTR{model}=="0x030000", ATTR{units}=="*0x00a02d:0x010001*", GROUP="audio", ENV{ID_FFADO}="1" # CME, Matrix K FW ATTR{vendor}=="0x00000f", ATTR{model}=="0x01006?", ATTR{units}=="*0x00a02d:0x010001*", GROUP="audio", ENV{ID_FFADO}="1" # Mackie, Onyx Firewire ATTR{vendor}=="0x000a35", ATTR{units}=="0x000a35:0x00000[12]", GROUP="audio", ENV{ID_FFADO}="1" # RME LABEL="ffado_end"
旧カーネルモジュールセットの場合
KERNEL=="raw1394", OWNER="root", GROUP="audio", MODE="660"
5. ユーザをaudioグループに追加する
UDEVの設定で、audioグループに属するユーザがFirewireデバイスの特殊ファイルにアクセス可能となりましたので、ユーザ自身が「audio」グループに所属するようにします。
システム管理から「ユーザとグループ」を実行し、「ユーザ設定」ウィンドウを開きます。「グループの管理」ボタンをクリックして開く、「グループの設定」ウィンドウで自分をvideoグループに追加します。
この作業は、端末で以下のコマンドを実行することでもできます。
$ sudo adduser あなたのユーザー名 audio;
以上の設定を行ったら、システムを再起動して下さい。
6. FFADOパッケージのインストール
Synapticパッケージマネジャーを起動して、以下のパッケージをインストールします。
- libffado2
- ffado-tools
- ffado-dbus-server
- ffado-mixer-qt4
- jackd2-firewire
6.1. 接続されているデバイスの確認
Firewire接続のサウンドデバイスをシステムと接続し、デバイスの電源を入れて九ださい。ここまでの設定がうまくいっていると、端末でffado-testコマンドを使って、接続されているデバイスを確認できます。
$ ffado-test ListDevices;
7. JACKサウンドサーバの起動
Ubuntuを含むLinux環境において、Firewire接続のサウンドデバイスとの音声情報のやりとりは、JACKサウンドサーバを介して行う必要があります。ここまでの設定で、システム側の準備は終わったので、JACKサウンドサーバを起動します。
JACKサウンドサーバに関しては、JACKサウンドサーバの設定と起動を参照して下さい。