• 対象とする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接続のサウンドデバイスを利用するために必要なこと

以下が必要です。

  1. IEEE1394インターフェイスの導入
  2. IEEE1394インターフェイス用カーネルモジュールのロード
  3. IEEE1394インターフェイスへのアクセス許可設定
  4. ユーザをaudioグループに追加
  5. FFADOパッケージのインストール
  6. 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;

the output sample of ffado-test

7. JACKサウンドサーバの起動

Ubuntuを含むLinux環境において、Firewire接続のサウンドデバイスとの音声情報のやりとりは、JACKサウンドサーバを介して行う必要があります。ここまでの設定で、システム側の準備は終わったので、JACKサウンドサーバを起動します。

JACKサウンドサーバに関しては、JACKサウンドサーバの設定と起動を参照して下さい。

UbuntuJapaneseWiki: UbuntuStudioTips/Hardware/FirewireAudio (last edited 2012-01-10 11:49:22 by anonymous)