|
次のページ
前のページ
目次へ
4. インストールLinux でサウンド機能を使うためには、次の手順が必要となります。
RedHat Linux を使っている場合には、
4.1 サウンドカードのインストールマニュアルに従ってインストールするか、業者に依頼してインストールしても らってください。 古いサウンドカードにはたいてい IRQ や DMA チャネルなどを設定するスイッチ やジャンパがあります。この設定はメモしておきましょう。よく わからない場合には、工場出荷時の設定をそのまま使うのがいいでしょう。で きる限り他のデバイス(イーサネットカード、SCSI ホストアダプタ、シリアル ポート、パラレルポートなど)との競合を避けるようにしてください。 通常は DOS で使っているのと同じ I/O ポート、IRQ, DMA の設定を使うべき です。ですが、(特に PnP カードを使っている場合には)Linux でサウンドカー ドを動作させるために DOS と異なる設定が必要なことがあります。 実験を何度か行う必要があるかもしれません。 4.2 プラグ&プレイの設定現在ではほとんどのサウンドカードは、プラグ&プレイプロトコルを用い て I/O アドレス、割り込み番号、DMA チャネルを設定します。 設定が固定、またはジャンパで設定するような古いサウンドカードを使ってい る場合には、この章は読み飛ばしても構いません。 バージョン 2.2 のカーネルでも、まだプラグ&プレイのサポートは完全で はありません。望ましい解決方法は、ほとんどの Linux ディストリビューショ ンに付属している(RedHat の WWW サイトである http://www.redhat.com/ からダウンロードすることもできます) isapnp ツールを使うことです。 まずはお使いの Linux ディストリビューション付属の文書を調べてください。 プラグ&プレイのサポートは既に設定されているかもしれませんし、設定 方法がここに書かれているものとは少し異なるかもしれません。読者の皆さん 自身が設定を行う必要がある場合には、詳しい手順が isapnp ツールに付属の オンラインマニュアルに書かれています。通常行なう手順を手短かに説明します:
何らかの理由で isapnp ツールが使えない、あるいはこのツールを使いたくな くても、他に方法は 2 つあります。Microsoft Windows 95/98 でそのカード を使っている場合には、デバイスマネージャを使ってそのカードを設定し、そ れから LOADLIN プログラムを使って Linux をソフトブートする方法がありま す。Windows と Linux でカードの設定パラメータは必ず同じにしてください。 そのカードを DOS で使っているならば、SoundBlaster16 PnP カード付属の
サウンドによっては、カードのプラグ&プレイの初期化を行うために必要 なソフトウェアが付属しています。詳しくは、カードのドライバ付属の文書で 確認してください。 4.3 カーネルの設定Linux をインストールした直後であれば、おそらくコンパイル済みのカーネル を使っていることでしょう。このようなカーネルでは普通、サウンド機能は使 えません。自分で必要なドライバを組み込んでカーネルを再コンパイルしましょ う。またカーネルの再コンパイルは、カーネルのバージョンアップのためや、 カーネルのサイズを小さくしてメモリを節約するために行ってもよいでしょう。 サウンドカードが動作したら、後からカーネルのサウンドドライバをモジュー ルとして作り直してもよいでしょう。 カーネルを再構築する方法は Linux Kernel HOWTO に詳しく書かれています(訳注: 日本語訳は http://www.linux.or.jp/JF/JFdocs/Kernel-HOWTO.html です)。 ここでは、サウンドカード固有の点についてだけ説明します。 今までに一度もカーネルにサウンド機能を組み込んだことがない人は、まず最 初にカーネルのサウンドドライバに付属する関連文書を読むと良いでしょう。 特に、お使いのカード固有の情報は確認してください。このようなファイルは カーネルの文書ディレクトリにあります。このディレクトリは通常、 /usr/src/linux/Documentation/sound です。このファイルがな い場合は、カーネルのバージョンが非常に古いか、カーネルのソースコードが インストールされていないかのどちらかでしょう。 カーネルの構築については、普通と違う点は特にありません。 現状ではカーネル設定を行なうには 3 種類の方法があります。 X11 上で動作する GUI 設定は「make xconfig」によって起動できます。 テキスト画面しか必要としないメニューベースのシステムは、 「make menuconfig」で利用できます。 最初からあった方法である「make config」では、簡単なテキストベースのイ ンターフェースが使えます。 カーネルの設定を行う際には、使用するサウンドカードの種類の選択や、使用 するドライバのオプションに関する選択肢がたくさん出てきます。それぞれの オプションの意味は、設定ツール内のオンラインヘルプを見ればわかるはずで す。わかる範囲で適切なオプションを選んでください。 オプション設定を行った後は、Kernel-HOWTO に書かれている手順に従ってカー ネルのコンパイルとインストールを行わなければなりません。 4.4 デバイスファイルの作成サウンドデバイスを正しく操作するためには、そのデバイス用のデバイスファ イルエントリを作成しなければなりません。このエントリは普通、Linux シス テムのインストール時に作成されます。以下に示すコマンドで、簡単なチェッ クを行うことができます。例に示したような出力が得られれば(日付は異なり ます)、デバイスファイルはほぼ確実に OK です。
ここに正しいデバイスファイルがあっても、それだけでは何にもなりません。 デバイスを動作させるには、カーネルドライバをロードするか、組み込まなけ ればなりません(詳しくは後述します)。 滅多にないと思いますが、デバイスファイルがおかしいとしか思えない場合に
は、デバイスファイルを作り直すこともできます。大抵の Linux ディストリ
ビューションには、これを行うための 4.5 Linux のブートとインストールのテストさて、これで新しいカーネルでブートしてサウンドドライバをテストする準備 が整っていたはずです。いつも通りの方法で新しいカーネルをインストールし、 システムを再起動してください(もちろん、問題が起こった時のために古いカー ネルも残しておきましょう)。 ブート中に、次のようなメッセージが表示されることを確認してください (スクロールが速過ぎて読めない場合には、「dmesg」コマンドを使って後から 確認することもできます)。 (訳注: Shift+PageUp で、画面を逆スクロールすることもできます。)
このメッセージは、サウンドカードのタイプとジャンパ設定(もしあれば)を正 しく示しているはずです。 ローダブルモジュールのサウンドドライバを使っている時には、上記メッセー
ジは表示されません(ただし「 サウンドドライバがカーネルにリンクされると、
「 「 ブート中には、ドライバからエラーメッセージや警告メッセージが表示される こともあります。サウンドドライバの設定後に初めてブートする時は、このよ うなメッセージが出ないかどうかを注意して見てください。 次に
上記のコマンドがエラーメッセージを出力することもあります。 "No such file or directory" というエラーは、デバイスファイルを作成する 必要があることを示します(4.3 節を参照)。"No such device" というエラー は、サウンドドライバがロードされていないか、カーネルに組み込まれていな いことを示します。これを直すには、4.2 節を見てください。
以上で、簡単なサウンドファイルを再生する準備が整いました。 サンプル用のサウンドファイルをサウンドデバイスに送って、サウンド出力機 能の基本的なチェックをしてみましょう。
(上のコマンド中の「>」を忘れないように気をつけてください)。 ただし、一般的には このコマンドが動作するのは、 上記のコマンドが "I/O error" を返す場合には、"dmesg" コマンドを使うと 表示されるカーネルメッセージの末尾の部分を見てください。多分、エラーメッ セージが表示されると思います。非常によく現れるメッセージは "Sound: DMA (output) timed out - IRQ/DRQ config error?" です。このメッ セージの意味は、デバイスドライバが、期待している割り込みをサウンドカー ドから受け取らなかったということです。ほとんどの場合、これはドライバに 設定した IRQ または DMA チャネルが動作していないということです。これ を動作させるための最も良い方法は、デバイスがサポートしている DMA チャ ンネルと IRQ を全て試すことです。 他に考えられる原因としては、あるデバイス用のドライバを使っているけれど、 実際のデバイスがそのデバイスと互換でないことがあります。 "SoundBlaster (Pro/16) 互換" のサウンドカードが SoundBlaster 用ドライ バで動作しない時は、ほぼ確実にこれが原因でしょう。 この場合には、お使いのサウンドカードが互換であるデバイスを何とか調べて ください(例: ニュースグループ comp.os.linux.hardware に投稿する)。 サンプル用のサウンドファイルは、 ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z から入手可能です。 次にサウンドの録音を試してみましょう。カードがサウンド入力機能を持って いる場合、次のようにして簡易なテストを行うことができます。
もちろん、このテストをするためにはサウンドカードにマイクロフォンをつなぎ、 それに向かって喋る必要があります。また、マイクロフォンを入力デバイスとして 設定し、ゲインレベルを設定するために、ミキサープログラムが必要になるか もしれません。 これらのテストがうまくいったら、サウンド用の D/A と A/D のハードウェア とソフトウェアは正しく動作していると思っていいでしょう。 問題が生じた場合には、次のセクションを参照してください。 4.6 トラブルシューティング本文書に書いてある通りにしたのにうまく行かなかった場合には、以下の項目 をチェックしてみてください。以下の項目は、簡単なものから複雑なものへと 順番に並べてあります。ある項目のチェックに失敗したら、その問題を解決し てから次に進んでください。 ステップ 1: コンパイルしたカーネルが本当に使われているかどうか確認する。サウンド機能を組み込んだカーネルを使っているかどうかは、
カーネルのタイムスタンプをチェックすることによって確認できます。
このためには
あるいは
タイムスタンプがカーネルをコンパイルした時間と異なっている場合には、
古いカーネルを使っていることになります。本当にリブートしましたか?
LILO を使っている場合には、LILO を再インストールしましたか(通常は
ステップ 2: カーネルサウンドドライバが組み込まれていることを確認する。最も手軽にこれを確認する方法は、前に説明した ステップ 3: ブート時にカーネルはサウンドカードを認識しましたか?カーネルの起動時にサウンドカードが認識されていることを確認してください。 起動時にメッセージが表示されているはずです。メッセージが画面から スクロールして見えなくなってしまった場合には
あるいは
とすればもう一度メッセージを見ることができます。 サウンドカードが認識されていない場合、何か不具合があることになります。 まず、本当にカードがインストールされているかどうか確認してください。サ ウンドカードが DOS で動作する場合、ハードウェアは動作していると思って 間違いないでしょうから、カーネルの設定に問題がありそうです。サウンドカー ドの種類やパラメータの設定が間違っているか、そのサウンドカードが Linux のカーネルサウンドカードドライバでサポートされていないかのどちらかでしょ う。 一つの可能性としては、お使いのサウンドカードが、DOS のドライバで初期化
しないと互換サウンドカードにならないものであることが考えられ
ます。DOS を起動し、メーカーが用意しているサウンドカードのドライバをロー
ドしてください。それから サウンドカードがこの文書に載っていない場合、Linux ドライバでサポートさ れていない可能性があります。この文書の最後に示している参考情報のリスト をチェックすれば、何か情報が得られるかもしれません。 ステップ 4: dsp デバイスからデータを読めますか?/dev/audio デバイスから 訳注: 具体的には次のようにします。
しばらく待ってエラーにならなかったら、Ctrl-C で止めます。
これでうまくいかなかった場合には、IRQ や DMA の競合や、ハードウェアの 非互換性(そのデバイスが Linux でサポートされていないか、ドライバが間違っ たデバイスに対して設定されている)の類が問題である可能性があります。 可能性としては低いのですが、ハードウェアの故障かもしれません。 できれば DOS でテストを行って、この可能性を潰してください。 どうしてもうまく行かない場合それでもまだ問題が解決しない場合には、最後に以下を試してみてください。
訳注: もちろん最後のものは冗談です。 次のページ 前のページ 目次へ |
[ |