[16100]  UCI2-P5COMBO其の3
投稿者:FLAKPANZER さん   2001-09-16 02:35:01
 ようやく、まりもさん他皆様のおかげで何とか使えるようになった標記のUCI2-P5COMBOですが、電車でGo!プロフェッショナルをするためにGAをGA-S2K32に交換したところ、最初のうちは動いていたのですが、徐々におかしくなり、ついに起動しなくなってしました。
 しょうがないので、再インストールをしたのですが、UCI2-P5COMBOを挿すと起動途中のドライバーの読み込みで固まってしまいます。
 また、再起動するとIFC-USP-M2が認識されなくなるらしく、メモリーカウントの後なにも表示されなくなります。
 更に状況が悪くなるとメインメモリーパリティーエラーまで吐く始末です。

 対応策として、GAをGA-PII8に戻してみたり、それぞれのPCIスロットを入れ替えても状況は変わりませんでした。
 以前御教示いただいた一番上のPCIスロットにUCI2-P5COMBOを挿し、以下のとおりINTELSATを走らせても、起動途中の設定でこけます。
 どうしたらよいものでしょうか?
 HK6-MS600-NV4の設定を変えればよいのでしょうか?
  1. まりも さん   2001-09-16 02:59:22
    GAをGA-S2K32 と その他のPCIボードとの電気的「相性」という線もありますね…
    どうもタワー系(サーバ)の9821は、これが激しすぎる傾向が(^^;。98Proなんかもそうで、現在悩んでいます(^^;。 元に戻してもダメというのは、ひょっとしてIRQの割付が以前と変動していたりということはないでしょうか。そうするとIntelsatの指定も決め打ちではだめで、以前と変更する必要も出てきます。
  2. FLAKPANZER さん   2001-09-16 04:36:00
     IRQが変わっていて、SCSI板が3、GAが5になっています。
     それにあわせて直しても、INTELSAT以前の問題として、再起動後メモリーカウントより先に行かないという状況が・・。
     SHIFT+GRPHの後なら起動するのですが、また止まってしまって・・。
     NV4を調整してみるかな・・。

     入れ忘れました設定は以下のとおりです。intelsat 3C 03 /D:8F:1
    intelsat 3C 05 /D:8F:2
    intelsat 13 30 /D:8F:1
    intelsat 13 38 /D:8F:2
    intelsat 04 46 /D:8F:1
    intelsat 04 46 /D:8F:2
  3. FLAKPANZER さん   2001-09-17 01:14:28
     Win98SEが起動しないので、起動Diskからinteksatを実施したところ、
     D:8 IRQ3 UCI2-P5COMBO
     D:9 IRQ5 IFC-USP-M2
     D:10 IRQ6 GA-S2K32
    となっておりました。
     そこで、intelsatの設定を修正の上入力しましたが、やはりだめでした。
     起動までたどり着けません。
     しかも、次からはFDD起動さえしません。
     何が原因なのでしょうか?
  4. まりも さん   2001-09-17 04:23:14
    intelsat /D:1 62 あるいは 63のほうも設定と言うか参照しないとダメなの
    は以前書いたとおりですが、どうなっていますか。
  5. FLAKPANZER さん   2001-09-17 12:00:57
    D:8に挿した時は、いらないのではなかったでしたか?
    それ以前にD:10の位置に差したときにだめだったようですが、試して見ます。
  6. FLAKPANZER さん   2001-09-17 13:12:15
     あれ、D:8に挿した時は、いらないのではなかったでしたか?
     それ以前にD:10の位置に差した時には、/D:1の設定を残していたと思うのですが、だめだったような気がしますが、確認して見ます。
  7. まりも さん   2001-09-17 23:20:30
    まずUCI2-P5COMBOを外した状態でGA-S2K32を接続し、ちゃんと安定動作しているのかという大きな疑問もあるのですが…。それと、IFC-USP-M2は、他のデバイスとIRQを共有すると、システムの起動あるいはWindowsの起動ができなくなる可能性が大です。というあたりは解決されているモノとして、一般的方法を書きます。

    ■ PC-9821 Xt初代 における 手動 IRQ routing

     PCIスロットには、4つの「割り込み線」INT#A..Dが来ています。
    通常のデバイスは、INT#Aだけを使用しています。INT#A..Dには、
    IRQが割り振られますが、それは PIRQ#0..3 のいずれかに対応して
    います。つまり、PIRQ#0..3 は、それぞれ一意的にIRQが割り振られていて、
    異なるスロットの INT#A と INT#B とで 同一の PIRQ#n が使用されている
    ならば、そのIRQは同じに設定されなければならないということです。
    多機能(マルチファンクション)デバイスの場合、サブファンクションが
    INT#B,Cなどを使うことがあります。玄人志向の USB2.0ボード等がそうです。

    各デバイスのIRQの求め方ですが、デバイスごとではなく、次のように、
    Cバスブリッジに接続されているPIRQ#線の状態から求めるという手があり、
    そのほうが一意的に正しいIRQを取得できます。
    初代Xtの場合、Cバスブリッジは、デバイス番号1 /D:1 にあります。
    PIRQ#0 = Intelsat /D1: 60 の値
    PIRQ#1 = Intelsat /D1: 61 の値
    PIRQ#2 = Intelsat /D1: 62 の値
    PIRQ#3 = Intelsat /D1: 63 の値
    ※ 値は 03から0Ehまでの間にあります。なお、80hの場合は未接続です。
      80hである PIRQ#n を使うデバイスは、割り込みの使用ができません。

    IRQ routing table
    -----------------------------------------------
    INT#A INT#B INT#C INT#D
    PCIslot#1(8) PIRQ#0 PIRQ#1 PIRQ#2 PIRQ#3
    PCIslot#2(9) PIRQ#1 PIRQ#2 PIRQ#3 PIRQ#0
    PCIslot#3(10) PIRQ#2 PIRQ#3 PIRQ#0 PIRQ#1
    -----------------------------------------------
     上の表は、各スロットにおける割り込み線とPIRQの対応表です。
    コンボカードをどこのスロットに挿したかによりますが、たとえば
    スロット#3(デバイス番号10)に挿したのであれば、使用される
    INT#A,B,C に対応した PIRQ#2,#3,#1 の値を、この表に従って、サブ
    ファンクションの USB2.0の各デバイスのIRQとして与えなければなりません。
    実際には以下のような設定を行います。

    [割り込み関連]
    Intelsat /D:10F0 3C PIRQ#2 (既に設定済みと思われる)
    Intelsat /D:10F1 3C PIRQ#3
    Intelsat /D:10F2 3C PIRQ#0

    [メモリアドレスの仮設定]
    Intelsat /D:10F1 10 30 (3000_0000hにする)
    Intelsat /D:10F2 10 38 (3800_0000hにする)

     コンボカードをスロット#1(デバイス8)に挿したのなら、PIRQ#は
    0,1,2 をサブファンクション F0,F1,F2 で使うことになります。
    PIRQ#nは、Cバスブリッジから取得してきたものが正当です。空いているIRQを
    無理矢理 各PIRQ#n の値として与えても構いませんが、そのときはCバス
    ブリッジの該当するレジスタも、再設定しなければなりません。また
    SCSIカードで使用しているIRQは、変更させてはいけません。例えば
    SCSIカードがスロット#1にあるなら、そのINT#Aである PIRQ#0 の値は
    絶対に変更しては行けません。また、IFC-USP-M2は、IRQの共有をさせると、
    Windowsの起動ができなくなる可能性が非常に高いです。UIDE-も同様です。

     こうして手動設定はできるわけですが、PnPにより変動する可能性が
    あるものを決め打ちするというのは、かなり危ういです。ということを
    ふまえた上でやってください。
  8. まりも さん   2001-09-18 01:33:10
    Intelsatなどを用いた手動の方法、それも一旦情報を読みとってから設定しないといけないなどというのは、やぱり野蛮すぎる方法なので、プログラムにしてしまいました。コンボカードを任意のスロットに入れ、そのスロットのデバイス番号をプログラムのコマンドオプションに与えるという使い方になります。autoexec.batで実行させて下さい。万一エラーが出る場合は、キー入力を求めるために一時停止するので判ります。
    http://homepage1.nifty.com/marimono/software/xtpciirq.lzh