|
>▼HGST使いさん:
>>現行、SiI3124がPMP対応していて4ポートなので最大0〜59まで読むような感じ(失敗したら抜ける)か機種判定でまわしても良いのかもしれないです。
SiI3124でもまわしてみましたが予測通り0〜59まで回りました。
使ったカードは
4e Express R5
http://www.mathey.jp/4eExpressR5.html
というあまり普通じゃないSiI3124ですが、ドライバは純正の物が使用できます。
BIOSが古めで簡単には更新出来なさそうなのでちょっと心が惹かれた人でも購入は要注意かも。
# 多分PCI-E・PCI-Xブリッジなんて怪しい物が間に刺さってるのが原因でしょうが。
▼よかせさん:
>1つだけ見ても何がなんだか わからないバイナリ列でも、
>異なるチップや構成でのバイナリ列を見比べると、
>法則性が何か見えてくるかもしれません。
実際の所SiI3XXXコントローラの場合WMIからコントローラーの値の一部を取得できまして、そこの値が根拠になっています。
DeviceIoControlでも取れるとは思いますが。
参考までに値の一部を張っておきます。
難点はソートされてて生の順番が不明な点ですか。
構造体じゃない上に複数のパラメータが合成されてるかも。
SiI3114(RAID5)
> Active = TRUE;
> ChannelCount = 4;
> ChipRevision = 2;
> ChipType = 12564;(0x3114)
> ControllerId = 2329423876;(0x8AD83004)
> DriverType = 1;
> IrqNumber = 17;
> PciBusNum = 1;
> PciDevNum = 0;
> PCIStatus = 1;(0x1)
> TargetsPerChannel = 1;
SiI3132(BASEのはずだが混在してるので怪しい)
> Active = TRUE;
> ChannelCount = 2;
> ChipRevision = 1;
> ChipType = 12594;(0x3132)
> ControllerId = 2330214404;(0x8AE44004)
> DriverType = 1;
> IrqNumber = 16;
> PciBusNum = 3;
> PciDevNum = 0;
> PCIStatus = 132096;(0x20400)
> TargetsPerChannel = 15;
SiI3124(ドライバは純正のRAID5だが怪しいカードなので少し怪しい)
> Active = TRUE;
> ChannelCount = 4;
> ChipRevision = 2;
> ChipType = 12580;(0x3124)
> ControllerId = 2329686020;(0x8ADC3004)
> DriverType = 1;
> IrqNumber = 19;
> PciBusNum = 5;
> PciDevNum = 0;
> PCIStatus = 776;
> TargetsPerChannel = 15;
nForceは最新版ドライバだとAAM関連やリンク速度関連も有ったりしてなかなか楽しそうです<WMIから眺める光景
ただ、思うように落とし込めるのかとかバージョン依存とか仕様周りが手探りなので時間が掛かってます。
まぁ、作り手が外部から触ることなんて想定してないから当然でしょうけど・・・
>カスタムのControlCodeに限定してDeviceIoControlをダンプする
>ツールを作ったほうが良さそうですね。作ります。
こちらは後ほど試してお知らせします。
|
|