Linux Driver Setup Guide for REX-CB31 for Linux kernel 2.2.x 31/Oct./2001 RATOC Systems,Inc. ---------------------------------------------------------------- This document is written in the Japanese character. If you want to read English version, refer to README-E1-cb31. ■はじめに 本ドキュメントでは、RedHat 7.0 での Setup手順を例に説明してい きます。 kernel 2.4.x の場合は、README-J2-cb31 をご覧ください。 Redhat 7.0での Kernel および PCMCIA-CS の Version は以下となっ ています。 Kernel version 2.2.16 PCMCIA-CS version 3.1.19 これらの環境で REX-CB31 を使用する場合、下記の手順でREX-CB31用の ドライバをコンパイルして登録する必要があります。 あらかじめ ROOT ユーザでログインしてください。 ここでは、/root ディレクトリにダウンロードしたファイルが解凍され ていることを前提に説明しています。 ファイルを解凍すると、[cb31] というディレクトリの下に [ src ] [ samples ] というディレクトリができます。 [ src ] にはドライバモジュールのソースファイルが格納されています。 [ samples ] には、ドライバモジュールを作成するために編集する各種 ファイルの記述サンプルが格納されています。 このなかの [ 2.2.x ] にはkernel 2.2.x用が、[ 2.4.x ] にはkernel 2.4.x用の記述サンプルが格納されています。 ■ RedHat7.0 でのREX-CB31用ドライバ登録手順 【 Step1 】ドライバソースファイル (cb31_cb.c) のコピー ドライバソースファイル (cb31_cb.c)を PCMCIA用Clientドライバ のソースが入ったディレクトリへコピーします。 # cd /usr/src/linux-2.2.16/pcmcia-cs-3.1.19/clients # cp /root/cb31/src/* . cb31main.c, cb31main.h, cb31_asc.c, cb31_asc.h, ascmcode.c の 5つのファイルがコピーされます。 【 Step2 】Makefile の編集 make で cb31_cb をコンパイルするため、以下の7行を Makefile へ追加します。 cb31_cb.o: cb31main.c cb31_asc.c ascmcode.c cb31main.h cb31_asc.h $(CC) -MD -c $(XFLAGS) $(CPPFLAGS) cb31main.c -o cb31main.o @mkdir -p .depfiles ; mv cb31main.d .depfiles $(CC) -MD -c $(XFLAGS) $(CPPFLAGS) ascmcode.c -o ascmcode.o @mkdir -p .depfiles ; mv ascmcode.d .depfiles $(LD) -r -o $@ cb31main.o ascmcode.o rm -f cb31main.o ascmcode.o ; chmod -x $@ samples/2.2.x の Makefile を参照してください。 【 Step3 】proc_fs.h の編集 include/linux のディレクトリへ移動します。 # cd /usr/src/linux-2.2.16/include/linux proc_fs.h ファイルを編集して、[ PROC_SCSI_ADVANSYS, ] の次の行に [ PROC_SCSI_CB31, ] と記述した行を挿入します。 samples/2.2.x の proc_fs.h を参照してください。 さらに、/usr/include/linux にも proc_fs.h があるので同様の修正を行い ます。 【 Step4 】make の実行 make を実行して cb31_cb をコンパイルします。 # cd /usr/src/linux-2.2.16/pcmcia-cs-3.1.19/clients # make cb31_cb.o (注意) 以下のエラー表示の場合 Makefile:8: ../config.mk:No such file or directory make: *** No rule to make target '../config.mk'. Stop. 1つ上の階層へ移動し、「make config」を実行すると config.mk が 作成されます。 再度、clients ディレクトリへ移動し make を実行してください。 【 Step5 】module (cb31_cb.o) のインストール 作成された module (cb31_cb.o) を PCMCIA関連の module が格納 されているディレクトリにコピーします。 # cp cb31_cb.o /lib/modules/2.2.16-22/pcmcia/. 【 Step6 】PCMCIA のデータベース (/etc/pcmcia/config) の編集 REX-CB31 を認識させて module がロードされるように以下の5行 を追加します。 device "cb31_cb" class "scsi" module "cb_enabler", "cb31_cb" card "RATOC CardBus UltraSCSI CB31" version "RATOC Systems,Inc.", "UltraSCSI CARD CB31" bind "cb31_cb" samples の config を参照してください。 【 Step7 】Restart PC 更新した情報を有効にするため、システムを再起動します。 # reboot ■ REX-CB31用ドライバ起動の確認 pcmciaのモジュールが起動している状態でカードを装着すると、 ピポッという認識音のあと画面に以下のメッセージが表示されます。 scsi0: RATOC UltraSCSI CB31 3.2F: CardBus 16 CDB: IO A00/F, IRQ10 scsi: 1 host PCMCIA のデータベース(/etc/pcmcia/config)が間違っていたり。カードが 正常に認識されない場合、ブーという音がなります。 /var/log/messages にエラー内容が表示されるので確認してください。 ■ 注意事項 ・REX-CB31が機器へのアクセス途中で停止してエラーメッセージ 'cb31_abort: PCIERR' や 'cb31_reset: PCIERR' と表示する場合は、ascconf ユーティリティで PCI Burst を無効に してください。 /END