|
次のページ
前のページ
目次へ
3. SB AWE サウンドサポートのインストール方法3.1 あなたがするべきこと以下は、Linux の下で SB AWE をサポートするための条件です:
PnP カードの場合は下記のものも必要です。
これらのプログラムをどこから入手するかは ソース の項をご覧下さい。 Debian GNU/Linux システムの場合、これは
3.2 ことはじめあなたはカードをマザーボードに正しく取り付け、たぶんすでに DOS あるいは Windows 環境下でテスト済みであるものと見做します。 PnP カードの場合、次のステップはブート時にカードを初期化することです。 isapnptools をソースパッケージのドキュメントに従って、コンパイルしイン ストールします。 (または Debian バイナリパッケージを使うだけです) 【訳注】 Slackware 3.4.0 の場合、ディスクセット diska5 の中に pnp という
パッケージ名で isapnptools-1.10 というバイナリパッケージが入って
います。なお、最新バージョンは1998年5月末現在、1.15 です。 そして root 権限で次のようにします。
これはうまくいけば適切な PnP カード用の設定ファイルを作ってくれますが、 全てのデバイスはコメントアウトされます。このファイルを注意深く編集して 可能であれば DOS あるいは Windows 環境下でのカードの DMA チャネル、I/O ベースアドレス、割り込み(IRQ)の設定値と比べてみて下さい。(Win95 の場合 デバイスマネージャのリソースの所でカードが使っているリソースをご覧下さい) 問題がある場合は、isapnptools のドキュメントを読んで下さい。 注: isapnptools は SB AWE ウェーブテーブルデバイスの3つの I/O ポート の検出に失敗することがよくあります。この HOWTO の最後に示した例と 比べながらあなたの isapnp.conf ファイルの WaveTable の entry を 注意深く見て下さい。必要に応じて I/O ベースアドレスを調整して下さい。 注: isapnp-faq によると、たまに isapnp 論理デバイスの番号をプログラムする のに失敗することがあります。以下のようなエラーメッセージが出た場合:
isapnp.conf の先頭に (VERIFYLD N) を追加してみて下さい。これを動かすには 少なくともバージョン 1.10 以上を使う必要があります。バージョン 1.10 以上 を使うことができない場合、論理デバイスの番号を直接 POKE することもできま す。このアプローチに関するより詳しい情報は isapnp-faq をご覧下さい。 これがうまくいかないときは私(そして isapnp の人達も興味があると私は思い ます)に連絡して下さい。 注: pnpdump の古いバージョンでは、最後の行 (WAITFORKEY)が書き落とされて いる場合がありますから要注意です。 PnP カードが一つ(サウンドカード)だけの Debian システムの場合、これ以上の調整は必要ありません。以下のスクリプト
コードの断片をブートスクリプトの中にインクルードしておけば
# Configure the isa plug and play boards before loading # modules. Need to do this before loading modules to get # a chance of configuring and starting PnP boards before # the drivers mess all this up. # if [ -x /etc/init.d/isapnp ] then /etc/init.d/isapnp start fi /etc/init.d/isapnp は下記のようにします。
#! /bin/sh # /etc/init.d/isapnp: configure Plug and Play boards test -x /sbin/isapnp || exit 0 /sbin/isapnp /etc/isapnp.conf exit 0 他の Linux ディストリビューションの場合は別です。私はどうすればよいか 知りません。(だれか、より具体的な情報を提供してくれませんか?) isapnp はモジュールがロードされる前にスタートしなければならないという 点に注意して下さい。(以下をご覧下さい) 【訳注】 Linux の起動時、システムの初期化と設定は Slackware の場合、 /etc/rc.d/rc.S と /etc/rc.d/rc.M スクリプトに書かれた内容に従って 次のような順序で行われます。(主なものだけを順に列記しました) 1. /etc/rc.d/rc.S # システム初期化スクリプト SysVinit (つまり Debian, RedHat, Caldera) の場合は /etc/rc.d/rc.sysinit が、これに相当します。
2. /etc/rc.d/rc.M # マルチユーザモードスクリプト
トラブルを避けるために、ネットワークの設定の前 (/etc/rc.d/rc.M ではホスト
名のセットの後)に isapnp を走らせた方が良いかも知れません。
また、sound.o をモジュールにして /etc/rc.d/rc.modules から組み込む場合、
isapnp は rc.modules の呼ばれる前に組み込む方が問題が少ないと思われるため
/etc/rc.d/rc.S の中で rc.modules が呼ばれる前に /sbin/isapnp /etc/isapnp.conf (または /usr/local/bin/isapnp /etc/isapnp.conf) 等とするのがよいでしょう。 なお、RedHat系(isapnp配布元)の場合は、rc.serialの前に rc.sysinit の中で 動かすのが普通です。 参考:
JF の PnP-FAQ (Linux Plug-and-Play FAQ) 3.3 カーネルのコンパイルカーネルのコンパイルをする前に、サウンドドライバに対して AWE Driver Extension を適用する必要があります。カーネルソースツリーの中に既に awedrv extension が入っている (これは /usr/src/linux/drivers/sound/lowlevel/ を確認して下さい) 場合でも awedrv ソフトウェアをアップグレードすることが できます。awedrv ソースディレクトリの中のインストール方法に従って下さい。 要するにカーネルソースにパッチをあてるインストール・スクリプトを実行する 必要があるのです。 インストール・スクリプトを実行した後でカーネルソースツリーをアップグレー ドした場合は注意して下さい。 このインストール・スクリプトはファイルが存在するかをチェックするだけで、 必要なパッチをあてることはしません。 【訳注】 このスクリプトは、ある特定のファイルが存在するかどうかをチェック
して(それを手がかりに)動作するので、もしそのファイルがすでに存在して(しま
って)いると必要なファイルにパッチが当てられない、という意味です。 カーネルソースをアップグレードした後、スクリプトを実行する前に
次に、サウンドサポートのためにカーネルの構築をする必要があります。あなたが カーネルの構築に関して少しだけ知っていることを期待しますが、詳しくは Sound HOWTO と Kernel HOWTO をご覧下さい。カーネルソースのディレクトリ(例えば /usr/src/linux) に移動し、次のようにします。
または make menuconfig あるいは make xconfig とします。次に通常通りカーネ ルの設定をします。特別にあなたのシステムに合わせた、小さくて且つ強力なカー ネルをメイクするためにこの機会を使いましょう。 サウンドドライバをローダブルモジュールとしてインストールしたい (PnPカード の場合は必須です)なら、(きっとあなたはそうするでしょうけど) "Enable loadable module support" で必ず Y と答えてください。 あるところでサウンドカードをサポートするか(したいか)どうかを質問されます。 PnP カードではない場合は、Y または M の何れを答えても構いません。 PnP カードの場合は、モジュールにするために M と答える必要があります。 PnP カードの場合は、サウンドカードサポートをモジュールとしてコンパイルする 必要がありますが、これは、PnP カードはモジュールがロードされる前に初期化 されなければならないからです。 下記の質問には Y と答え、それ以外には全て N と答える必要があります。
Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?] Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?] /dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?] MIDI interface support (CONFIG_MIDI) [Y/n/?] FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?] lowlevel sound driver support [Y/n/?] AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?] 最後のものだけが実際に Wave Table シンセのためのものです。それ以外は OSS/Free サウンドドライバからの SB 16 オプションです。 さらにサウンドカードの I/O ポートを設定する必要があります。ヒントとして isapnp.conf ファイルがあるならそれを見て下さい。私の場合は下記のデフォル ト値で OK でした。カーネルコンフィグレーションスクリプトからのデフォルト 値はだめなので注意して下さい。(特に SBC_IRQ と SB_MPU_BASE の値は、ほと んどのカードには不適当と思われます)
I/O base for SB Check from manual of the card (SBC_BASE) [220] Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5] Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1] Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards) (SB_DMA2) [5] MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card (SB_MPU_BASE) [330] SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1] それではカーネルの再構築をしましょう。Debian のユーザは kernel-package を使うべきです。このパッケージは、Debian パッケージをインストールするのと 同じくらい簡単にカーネルのコンパイルができます。/usr/doc/kernel-package/ のドキュメントをご覧下さい。ここにはヒントがあります:
そして次のようにします。
他の Linux ディストリビューションの場合は、新しいカーネルをコンパイルする 標準的な方法に従って下さい。また、下記の2つも忘れずに。
【訳注】Slackware の場合、# make config (または menuconfig , xconfig) の あと次のようにします。
【訳注終り】
詳しくは Sound HOWTO とKernel HOWTO をご覧下さい。 3.4 リブート新しいカーネルをインストールした後はリブートする必要があります。(手元に 動作するブートディスクを用意しておくこと) 起動することを祈りましょう。 PnP カードの場合は、(前述のように)ブートスクリプトの中で、あるいは手動で isapnp を起動すること。
サウンドドライバをモジュールとしてコンパイルしたのであれば、次のように してインストールできます。
メモリの検出が正しくないと考えるなら(ある人から報告を受けたのですが、その人の AWE64 は 4096KB のメモリを積んでいるにもかかわらず、28672KB と『検出された』 そうです) awedrv ソフトウェアのアップグレードをするか、または下記のように /usr/src/linux/drivers/sound/lowlevel/awe_config.h ファイルにメモリの量を定義 するかの何れかを試してみて下さい。
申し訳ないけど、カーネルを再コンパイルする必要があります。(たぶんモジュー ルのコンパイルだけで十分だとは思いますが、確かではありません) これが動いたら、サウンドモジュールを自動的にロードしたいと思うでしょう。
次のページ 前のページ 目次へ |
[ |