modprobe
プログラムは、デバイスメジャー番号(device major number)を
基にして、どのモジュールを使用すべきか判別するようになっています。
ALSA 自身が制御するデバイスのデバイスメジャー番号は、デフォルトで 116 番
になります。
したがって、/etc/modules.conf
ファイルには、
"alias char-major-116 snd
" という一行を付け加えなければなりません。
OSS/Free エミュレーションを有効にして ALSA ドライバをコンパイルした場合
(これがデフォルトです)、次に説明する行も付け加える必要があります。
ALSA ドライバは、2.2 以降のカーネルと OSS 互換のデバイスのために、soundcore
のマルチプレクサ(multiplexer
) を使用します。
それゆえ、"alias char-major-14 soundcore
" という行も付け加え
なければなりません。
(訳注:multiplexer については、
こちらに関連する記述があります)
従って、カーネル 2.2 用の設定例としては、まず次の記述が必要になります。 ( OSS/Free エミュレーションが有効の場合です。)
#/etc/modules.conf ファイル # ALSA portion alias char-major-116 snd # OSS/Free portion alias char-major-14 soundcore
メインとなるマルチプレクサがロードされた後、そのプログラムはトップレベルのサ
ウンドカードモジュールをリクエストします。その際、ネイティブデバイスとしてリ
クエストされる文字列は "snd-card-%i
" です。(ここで、%i
に
は、0-7 のサウンドカードの番号が入ります。)
また、ネイティブデバイスとして "sound-slot-%i
" という文字列もリクエ
ストされます。(ここでは、%i
にはカードのスロット番号が入ります。
ALSA の設定では、上記サウンドカード番号と同じです。)
従って、そのために必要な設定は、次のようになります。
# /etc/modules.conf ファイル # ALSA portion alias snd-card-0 snd-card-interwave alias snd-card-1 snd-card-ens1371 # OSS/Free portion alias sound-slot-0 snd-card-0 alias sound-slot-1 snd-card-1
ALSA のネイティブデバイスの設定は、これで終了です。しかし、ALSA の追加機能
(add-on)で
ある OSS/Free のエミュレーションモジュールも自動的にロードする必要があるかも
しれません。今の時点で、他のモジュールとの依存関係がない唯一のドライバが
snd-pcm-oss.o
なので、このモジュールは個別にロードする必要があります。
OSS/Free のサービスを利用するには、文字列 "sound-service-%i-%i
"
が必要です。この文字列で最初の %i
はスロット番号(例えば、カード番号)、
ふたつ目の %i
はサービス番号を入力します。従って、必要な設定は次のよ
うになります。
# /etc/modules.conf ファイル # OSS/Free portion - card #1 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss # OSS/Free portion - card #2 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-12 snd-pcm-oss
以下では、Gravis UltraSound PnP サウンドカードの完全な具体例を示します。
# /etc/modules.conf ファイル # ISA PnP support options isapnp isapnp_reserve_irq=9,10,11,12,13 # ALSA native device support alias char-major-116 snd options snd snd_major=116 snd_cards_limit=1 alias snd-card-0 snd-card-interwave options snd-card-interwave snd_index=0 snd_id="GusPnP" # OSS/Free setup alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss
一台のマシンで複数のサウンドカードを使用したい場合の完全な設定例を 次に示します。
# /etc/modules.conf # ISA PnP support options isapnp isapnp_reserve_irq=9,10,11,12,13 # ALSA native device support alias char-major-116 snd options snd snd_major=116 snd_cards_limit=2 alias snd-card-0 snd-card-gusclassic alias snd-card-1 snd-card-sb16 options snd-card-gusclassic snd_index=0 snd_id="Gus" \ snd_port=0x220 snd_irq=5 snd_dma1=6 snd_dma2=7 options snd-card-sb16 snd_index=1 snd_id="SB16" # OSS/Free setup alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss alias sound-slot-1 snd-card-1 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-12 snd-pcm-oss
次に、二枚の Gravis UltraSound Classic サウンドカードをシステムにインストール する場合の完全な設定例を示します。
# /etc/modules.conf ファイル # ALSA native device support alias char-major-116 snd options snd snd_major=116 snd_cards_limit=2 alias snd-card-0 snd-card-gusclassic alias snd-card-1 snd-card-gusclassic options snd-card-gusclassic snd_index=0,1 snd_id="Gus1","Gus2" \ snd_port=0x220,0x240 snd_irq=5,7 snd_dma1=1,5 snd_dma2=3,6 # OSS/Free setup alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss alias sound-slot-1 snd-card-1 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-12 snd-pcm-oss