2000/11/30
1. はじめに
Muititech ISIHP-2Sは2つのBRIインタフェースを持ち、
v.90セントラルサイトモデムを内蔵したリモートアクセスのための
インタフェースボードである。
内部には2つのTAと4つのモデムを持ち、BRIに着信した信号を自動的に判別し
デジタル、またはアナログポートへ適切なプロトコルで接続する機能を持つ。
この製品は日本国内でのサポートを謳っていないが、
ファームウエアのバージョンアップにより利用可能である。
製品に付属のバージョンでは動作できないので、必ずバージョンアップが必要となる。
(NTT承認番号の取得は不明確なため、接続することは問題があるかもしれない)
これは Linux でこのカードを利用して PPP サーバーを構築するための情報である。
1.1. ドライバ類の入手方法
購入時に付属していたドライバ、ファームウエアでは
動作させることができなかった。
新しいドライバは次のところから取得できる。
2000/11現在
http://www.multitech.com/SUPPORT/MultiModemISI/firmware.asp
からたどることができる。
ftpで直接取得することも可能で、
TA用 version 4.20
ftp://ftp.multitech.com/ISDN/ISIHX/TerminalAdapters/ISIHXTA.exe
MODEM用 version 2.10Q
ftp://ftp.multitech.com/ISDN/ISIHX/Modems/isihxmdm.exe
バージョンアップは専用のバージョンアップツールを用いる。
DOS用のバージョンアップツールもアップデートされており
ftp://ftp.multitech.com/Utilities/FLASHPR.exe
が書き換えプログラムとなっている。
(Windows用もあるが、Linux主体で作業を行うため DOS 版を利用した)
Linux で利用するためのドライバは
(kernel-2.2.x用)
ftp://ftp.multitech.com/ISI-Cards/Linux/Linux22x.tar
(kernel-2.0.x用)
ftp://ftp.multitech.com/ISI-Cards/Linux/Linux20x.tar
である。
2. ファームウエアの書き換え
ファームウエアの書き換えは DOS 用の書き換えプログラムから行う。
書き換えプログラム自体はDOSのみで自己展開できるが、
ファームウエアそのもののは Winzip の自己解凍形式なため
展開に際してはWindowsの手助けが必要である。
内容物は次の通り。
FLASHPR.EXE 書き換えユーティリティ |
FLASHPRO.EXE ユーティリティ |
FLASHPRO.CFG ユーティリティ定義ファイル |
COLOR.CFG ユーティリティ定義ファイル |
ISITERM.EXE ターミナルソフト |
ISI4608.BIN ファームウエア通信コアバイナリ |
ISI4616.BIN |
ISI608.BIN |
isihxmdm.exe |
210Q.ECO 解説文書(テキスト) |
imqX210q.hex ファームウエア |
imqY210q.hex ファームウエア(cmpで比較したがimqX210q.hexど同一) |
isihxta.exe |
ITQY420.TXT 解説文書(テキスト) |
hpqx420.hex ファームウエア |
hpqy420.hex (cmpで比較したがhpqx420.hexど同一) |
itqx420.hex (cmpで比較したがhpqx420.hexど同一) |
itqy420.hex (cmpで比較したがhpqx420.hexど同一) |
これらをすべてDOS領域に展開し、
展開したディレクトリで FLASHPRO.EXE を起動する。
英語版のプログラムが立ち上がるため、日本語DOSを利用してはいけない。
(このために DOS, Linux のマルチブート環境を構築しておくと便利。
実験環境は DR-DOS 7.02 + TurboLinux6.1 Server のマルチブート構成)
2.1. 書き換え手順
2.1.1. I/Oポート検知
FLASHPROを起動するとメニュー形式の画面が立ち上がる。
Main Menu |Configure | |Select File to Program | |Program Firmware | |Communication with the port |
最初に Communication with the port を選択し、
ユーティリティにIOポートを自動検知させる。
通信プログラムが立ち上がったらすぐに終了させるだけでよい。
通信プログラムの終了は Alt-X を同時に押す。
2.1.2. プログラムする通信ポートの設定
Main Menu から Configure を選択し、設定を確認する。
Configuration |Active Port Multi-Tech ISI608/ISI4608/PCI |Baud Rate 115200 |Device Type MODEMFILE |Base Address for port 7280 |IRQ number 5 |ISI port number 1 |Server Name for MCSI |General Name for MCSI |Specific Name for MCSI
Active Port, Baud Rate, Device Type は変更する必要がない。
*** Name for MCSI は設定しない。
Base Address for port は、通信プログラムによって認識されたI/Oポートである。
IRQ number は自動認識されないので、
このボードにPCIが割り当てたIRQを手動で設定する。
この割り込み番号については、BIOSで検査するか、DOS版のPCI情報取得プログラム等
を利用する必要がある。
(実際にはfirmwareの書き込みには割り込みを利用しないため、
設定しなくともかまわないが、付属の通信プログラムによるチェックができなくなる)
ISI port number はプログラムするデバイスの通信ポート番号である。
ISIHP-2S の場合、TA が 2つ、モデムが 4 つ独立で搭載されている。
BRI-ch1 | MODEM1 | com5 |
TA | com1,com2 | |
MODEM2 | com6 | |
BRI-ch2 | MODEM3 | com7 |
TA | com3,com4 | |
MODEM4 | com8 |
TAの場合ファームウエアの書き換えは com1 に対して行えば com2 は共通、
com3 に対して行えば com4 は共通に設定される。
モデムはそれぞれ独立なので、com5,6,7,8 のすべてに書き込む必要がある。
これから ch1 の TA に対してプログラムするなら 1 を、
ch2 の MODEM4 に対してプログラムするなら 8 を選択することになる。
2.1.3. プログラムするファームウエアの設定
Main Menu から Select File to Program を選択し、ファームウエアを選ぶ。
File Menu |IMQY210Q.HEX |IMQX210Q.HEX |HPQX420.HEX |HPQY420.HEX |...
拡張子が .HEX であるものがリストされるので、書き込むものを選ぶ。
2. でリストした通りそれぞれのファームウエアファイルは同一なので、
TAの場合 HPQX420.HEX, モデムの場合 IMQX210Q.HEX を選択すればよい。
このユーティリティは書き込む対象が TA, MODEM であるということを認識しない。
選択された通信ポートに選択されたファームウエアを単に書き込む。
つまりTAに対してモデムのファームウエアの書き込みをしてもエラーにならない。
もしやってしまっても、かきなおせば問題ないが、
対象通信ポートとファームウエアの関係を確認して選択すること。
間違えた場合は対象通信ポートは反応しなくなる。
2.1.4. プログラムする
メインメニューから Program Firmware を選択すると、
ここまでに設定した内容でファームウエアの書き込みが開始される。
2.1.2 - 2.1.5 までの動作を必要数分繰り返せば作業は終了となる。
先にHPQX420.HEXを選択して通信ポート1,3 へ書き込み、
次にIMQX210Q.HEXを選択して通信ポート5,6,7,8 へ書き込むとよい。
2.1.5. 確認する
書き込みが終了したら、2.1.1 で行った通信プログラムを起動すると、
書き込み終了の確認ができる。
AT コマンドを発行し、バージョン確認をすればよい。
TA の場合 ATI1, モデムの場合 ATI3 でバージョン確認ができる。
3. Linuxドライバのインストール
3.1. ドライバのインストール
基本的にはドライバに付属のインストールスクリプトを起動すれば
自動的にインストールされる。
但し、TurboLinux 6 Server では、gcc が2.95.xであり、
このままではコンパイルに失敗する。
gcc 2.7.2.3 のコンパチブルパッケージをインストールし、
その互換モードでコンパイルする必要がある。
取得したドライバを適当ナディレクトリに展開し、
コンパチブルパッケージのインストールが確認できたら、
Makefile に次のものを追加する。
------ TARGET = isicom GCCVER=2.7.2.3 <--- 追加 ifdef verinfo CFLAGS = -O4 -DMODULE -D__KERNEL__ -DMODVERSIONS \ -fomit-frame-pointer -Wall -V$(GCCVER) <--- -V フラグを追加 else CFLAGS = -O4 -DMODULE -D__KERNEL__ \ -fomit-frame-pointer -Wall -V$(GCCVER) <--- -V フラグを追加 endif ------
変更後、sh Install とすればインストールは終了する。
作業は root 権限で行う。
3.2. インストール後の起動設定
インストール後、/usr/local/ISICOM というディレクトリが作成され、
その中に ISICOMStart というスクリプトが作成されている。
これを起動すればドライバは有効になる。
ブート時に自動起動を行いたい場合は、
/etc/rc.d/init.d に isicom という名前で次のようなファイルを作成し、
/etc/rc.d/rc3.d に S99isicom などにリンクしておけばよい。
---- /etc/rc.d/init.d/isicom ISICOMStart=/usr/local/ISICOM/ISICOMStart case "$1" in start) echo "Initializing ISICOM Interface" sh $ISICOMStart ;; *) echo "Usage: isicom {start}" exit 1 esac exit 0 ---- /etc/rc.d/init.d/isicom
付属マニュアルにもあるが、ISIHP-2S が利用するデバイスファイルは、
/dev/ttyM1a | ch1 | TA | (com1) |
/dev/ttyM1b | ch1 | TA | (com2) |
/dev/ttyM1c | ch2 | TA | (com3) |
/dev/ttyM1d | ch2 | TA | (com4) |
/dev/ttyM1e | ch1 | MODEM1 | (com5) |
/dev/ttyM1f | ch1 | MODEM2 | (com6) |
/dev/ttyM1g | ch2 | MODEM3 | (com7) |
/dev/ttyM1h | ch2 | MODEM4 | (com8) |
となる。
4. ATコマンドによる設定
ISIHP-2S のデフォルト状態では、日本のISDN規格にはなっていないので変更する。
ここでの変更は Linux 上から kermit を利用しているが、
通信プログラムであればなんでも構わない。
4.1. TA の設定
BRI両チャネルについて同様に行う。
簡易設定メニューがファームウエア上にあるので、それを利用する。
コマンドは at@config で、コマンドすると次のような簡易メニューが表示される。
----- at OK at@config MultiTech Systems, Inc. ConfigMenu Copyright 1997-2000 ISIHI-TA Main Menu <1> Network Configuration <2> Call Control Configuration <3> Data Protocols <4> Stored Numbers <5> Port Control Configuration > Help Enter -X- to exit from ConfigMenu Menu Item>1 -----
<1> Netwark Configuration を選択する。
次のようなメニューが表示される。
----- MultiTech Systems, Inc. ConfigMenu Copyright 1997-2000 ISIHI-TA Network Configuration <1> Network Switch Type NET3 <2> Data SPID [empty] <3> Voice SPID [empty] <4> Data DN/MSN 1 [empty] <5> Data DN/MSN 2 [empty] <6> Modem DN/MSN 1 [empty] <7> Modem DN/MSN 2 [empty] <8> Data TEI 81 (Network-Assigned) <9> Voice TEI AUTO_TEI Enter -X- to exit from ConfigMenu Enter -M- to return to the main menu Menu Item>1 -----
この場合現在選択されているのは NET3 という国際規格である。
<1> Network Switch Type を選択する。
次のようなメニューが表示される。
----- Current Switch Type: INS64 (u-law) Switch Type Choices: 1) NET3 2) VN4 3) 1TR6 4) US NI-1 5) AT&T 5ESS 6) DMS-100 7) INS64 Enter Choice <#(1-7)>: 7 -----
日本の規格は INS64 で表されているので、7 を入力する。
入力すると (INS64) と表示されるので、そのままリターンを入力する。
----- Enter Choice <#(1-7)>: 7 (INS64) -----
これでISDNの規格が日本のものに設定される。
確認画面として次のものが表示される。
----- MultiTech Systems, Inc. ConfigMenu Copyright 1997-2000 ISIHI-TA Network Configuration <1> Network Switch Type INS64 (u-law) <2> Data SPID [empty] <3> Voice SPID [empty] <4> Data DN/MSN 1 [empty] <5> Data DN/MSN 2 [empty] <6> Modem DN/MSN 1 [empty] <7> Modem DN/MSN 2 [empty] <8> Data TEI 81 (Network-Assigned) <9> Voice TEI AUTO_TEI Enter -X- to exit from ConfigMenu Enter -M- to return to the main menu Menu Item> X -----
<8> Data TEI は回線が接続されている状態であれば局から自動付与される識別番号
である。規格をINS64に設定して再起動すれば設定されるものなので、
この時点では設定されている必要はない。
設定終了後、保存するために X を入力する。
保存するかを尋ねられるので y を入力する。
----- Exit from ConfigMenu Save current configuration?Saving configuration...save complete. OK -----
これで TA の設定は日本の規格に合ったものとなる。
自動応答等の一般的な AT コマンドについては
配布文書にある AT コマンドマニュアルを参照して設定する。
これを両チャネルについて行う。
4.2. モデムの設定
デジタルモデムの音声コーディングを変更する必要がある。
デフォルトでは A-law になっているが、一般のアナログモデムと通信するには
mu-law に変更する必要がある。
これは S108 レジスタにより操作できる。
S108 | = 0 | mu-law |
= 1 | A-law (default) |
----- at OK ats108? 001 OK ats108=1 OK ats108? 000 OK at&w OK -----
自動応答等の一般的な AT コマンドについては
配布文書にある AT コマンドマニュアルを参照して設定する。
これをすべてのモデムチャネル( ttyM1e,f,g,h )について行う。