[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:44911] 玄人志向ATA133-PCI2の設定



 緑啓と申します。

 玄人志向のATA133-PCI2を買ってみました。今時なら何もせずに認識
してくれるのかと思ったら、そうでもないようで、悪戦苦闘しています。
玄人志向のBBSにもHELPを出してみたのですが、どうもLinuxに関する返
答は期待できなさそうなので、こちらにも投稿させていただきました。

 少々長いのですが、ご容赦ください。

○ バージョン
 sarge

○ 使用しているカーネルのパッケージ
 kernel-image-2.4.27-2-686

○ cat /proc/pciの情報
  Bus  1, device  10, function  0:
    Unknown mass storage controller: PCI device 1283:8212 (Integrated Technology Express, Inc.) (rev 19).
      IRQ 9.
      Master Capable.  No bursts.  Min Gnt=8.Max Lat=8.
      I/O at 0xdff0 [0xdff7].
      I/O at 0xdfe4 [0xdfe7].
      I/O at 0xdfa8 [0xdfaf].
      I/O at 0xdfe0 [0xdfe3].
      I/O at 0xdf90 [0xdf9f].


■ ドライバ作成

 この方のまとめを参考にさせてもらいました。
http://search.luky.org/linux-users.a/msg03311.html

○ ドライバソースの取得
http://www.iteusa.com/product_info/file/pc/LinuxDriver_it8212_092005-09.zip
をとってきました。it8211というのもありましたが、中身はまったく同
じのようです。

○ カーネルソースとヘッダの取得
# apt-get install kernel-source-2.4.27
# apt-get install kernel-headers-2.4.27-2-686
$ cd ~/install
$ tar jxf /usr/src/kernel-source-2.4.27.tar.bz2

※ 自分のホームディレクトリに「install」というディレクトリを作っ
   て作業しています。

○ ドライバのコンパイル
 ドライバのソース「Makefile」、「iteraid.c」、「iteraid.h」を
「~/install/it8212/2.4.x」に取り出します。これはアーカイブがzip
ということもあり、WindowsでSambaを通してやりました。(^^;

 Makefileの「SRCPATH」にカーネルソースのパスを設定します。もと
もとはなにやらごちゃごちゃ書いていますが、ちゃんとしたパスに書き
直しました。

SRCPATH =/usr/src/kernel-headers-2.4.27-2-686

 ドライバソースの3つのファイルを
「~/install/kernel-source-2.4.27/drivers/scsi」にコピーします。
ここにもMakefileが存在するので、ドライバのMakefileの方は
「MakefileIteraid」にリネームしました。まあカーネルソースのオリ
ジナルはいつでも取り出せるんですが、気分的に。(^^;

 上記の方のまとめには、「kernel-source/include/linux/version.h
のUTS_RELEASEを起動中のカーネルと同じモノにする」とあったのです
が、そんなファイルは見当たらなかったのでこれは飛ばしました。

 コピーしたディレクトリに移動してmakeします。

$ cd ~/install/kernel-source-2.4.27/drivers/scsi
$ make -f MakefileIteraid

○ モジュールのインストール
# install -m 644 iteraid.o /lib/modules/2.4.27-2-686/kernel/drivers/scsi/
# depmod -a

○ モジュールのテスト
# modprobe iteraid

とやってなにも出なければOKだそうです。何も出ませんでした。

○ モジュールの組み込み
 私はmodconfを使用しました。「kernel/drivers/scsi」カテゴリに行
くと、「iteraid」があるので、組み込みます。パラメータは何もつけ
ていません。

※ 実はこのとき、すでに組み込まれているように見えたのですが、リ
   ブートすると外れていたので再び組み込みました。そこで最初はカ
   ーネルパニックが出たのですが、ボードの抜き挿し、ドライバの組
   み込み、取り外しをしていると正常に組み込めるようになりました。

■ 実践

○ 作成したドライバを組み込んで起動
 接続したHDDがSCSIとして認識されているようなメッセージが出るの
ですが、その後

unexpected IRQ trap at vector d8

といったメッセージが表示されて起動しなくなってしまいます。

○ ドライバは組み込まずにGRUBのkernelパラメータを指定
 GRUBのkernelパラメータに「ide?=」を指定するとIDEドライブとして
認識させられるとの情報もあったので、試してみました。指定するのは、
「cat /proc/pci」で表示されるアドレスです。

kernel      /vmlinuz-2.4.27-2-686 root=/dev/hda3 ro ide2=0xdff0,xdfe6 ide3=xdfa8,xdfe0

結果はNG。まったく認識されていませんでした。2番目のアドレスが+2
されているのは、そういうもんだそうです。ちなみに、+2しなくても
NGでした。

■ その他

 起動時のATA133-PCI2のBIOS画面では、接続したHDDを認識しているよ
うな表示が一瞬表示されます。

 UTS_RELEASEに関する調整を無視したのが悪かったのかとも思い、現
在ソースと格闘中です。

 このMLも検索してみました。当たり前のように使えている人がいるら
しいことはわかりましたが、導入に関する詳しい情報は見つかりません
でした。

 長文になりましたが、何かお気づきの点がありましたら、ご指摘いた
だけるとありがたく存じます。


----------------------------------------------------------------
緑啓
ryokkei@xxxxxxxxxxx