Linux と Macintosh への ISDN 接続に関する報告
この報告は金田の
Linux マシンと Macintosh にターミナル・アダプタ MN128 を接続するときに
おこったトラブルと対策などに関する報告である.
Created: 96-2-4, Modified: 96-3-13.
概要
'95 年 12 月末に秋葉原の T-Zone で Macintosh 用の MN128 を買ってきた.
通常の RS232C のコネクタがついたものがよかったが,品薄なのでケーブルは
捨ててもよいというつもりで,これを買ってきた.
これを Macintosh 6100/60 と AT 互換機 (Pentium 100MHz) とからきりかえ
てつかうように設定したかったのだが,ISDN の導入からはじめて設定が一応
おわったのが 2 月 4 日だった.
現在使用している Linux 用の
スクリプトが利用できる.
Macintosh 接続に関するトラブル
附属していた Mac 用のケーブルをつかって Mac のターミナル・ソフト
JTerm2 から AT コマンドをおくってみた.うまく OK がかえってくることも
あるが,ERROR がかえってくることがおおい.JTerm2 が 68k Mac 用である
ために MN128 の速度に追随できないという可能性もあるとおもったが,それ
より奇妙なのは,なにもコマンドをおくらなくても MN128 のコントロール・
ラインの LED が数秒おきにひかることである.さらにわるいことには,この
状態で放置しておくだけでも,やがて Mac がハングしてしまうことである.
FreePPP 1.04 のターミナル・ウィンドウをひらいてコマンドをいれると,
エラーがおこらないことがおおいことがわかった.それでも,しばらく
コマンドをおくっているうちにハングしてしまい,リスタートしてターミナル・
ウィンドウをひらいても,コマンドをいれることができなくなってしまった.
ケーブルに関するトラブル
Macintosh 用と AT 互換機用とはケーブルだけがちがうので,Mac と AT を
きりかえるスイッチ・ボックスと MN128 とをつなぐには,すでにあった
RS232C のケーブルをかわりにつかえばよいとおもった.ところが,このケー
ブルをつないで MN128 に対して AT コマンドをおくっても,まったく反応が
なかった.ケーブルが断線しているのではないかとうたがったが,新宿にで
かけてかわりのケーブルをさがしているうちに,ケーブルの接続 (正接と逆接)
がちがう可能性があることに気がついた.逆接にしてみて,動作することを
確認した.
AT 互換機のハング
AT 互換機でも,不正なコマンドを MN128 におくると,しばしばハングした.
あるときには MN128 を power on reset することでハングをとくことができ
たが,本体を reboot する必要が生じることもしばしばである.ハングの原因
はつかめていない.
通信条件の設定と物理的な接続
Linux をつかって相手先に接続するには,chat (というプログラム) で MN128
に AT コマンドをおくりこんで設定と接続とをおこなう.ただしくない条件を
設定するとハングしてしまう.
現在つかっている設定はつぎのとおりである.
64k 同期モード :
$PPPDIR/chat -v \
"" ATZ0Y1\\\\Q0\&Q5%B12E1Q0V1X3 OK ATD$PHONE_NUMBER-S12 CONNECT ""
$PHONE_NUMBER という変数に接続先の電話番号をいれる.
AT\Q0 というコマンドを入力するために \ を 4 つならべる必要がある.
38k 非同期モード :
$PPPDIR/chat -v \
"" ATZ0Y1\\\\Q0\&Q2%B8E1Q0V1X3 OK ATD$PHONE_NUMBER-S8 CONNECT ""
通信先との交渉と論理的な接続
chat による接続がうまくいったら,pppd を起動する.chat による設定がただし
くないと,回線は接続されても pppd による相手先との交信がうまくいかずに,
そのまま待ちつづける.pppd へのオプションとして noipdefault がないと,
相手先によってはそれでもうまく交渉することができるが,相手先によっては
交渉が決裂する.RIMNET のテスト回線 (5489-7997) では noipdefault なしで
接続されたが,ASCII Internet ではローカルに設定された IP アドレスが交渉
につかわれたために,うまく接続できなかった (プロバイダとの接続では IP
アドレスは先方から指定されたものをつかわなければならないため).
現在使用している設定はつぎのとおりである.
64k 同期モード :
$PPPDIR/pppd /dev/$DEVICE -am +ua $PASSFILE \
noipdefault -crtscts defaultroute -detach &
このスクリプトはかなり安定して動作する.
ここで $PPPDIR は pppd があるディレクトリ (ppp 2.2.0 では /usr/sbin)
を指定する変数であり,$DEVICE は TA を接続したポート (たとえば cua1),
$PASSFILE は先方にログインするときのユーザ ID とパスワードが
はいったファイル (最初の行に ID, つぎの行にパスワード) である.
-crtscts はフロー制御をおこなわないことを指定する (38k をこえる速度
ではフロー制御なしとする).
38k 非同期モード :
$PPPDIR/pppd /dev/$DEVICE -am +ua $PASSFILE \
noipdefault -crtscts defaultroute -detach &
このスクリプトは相手先によってはうまく動作しない.まだ問題があるか,
あるいはプロバイダ間で設定が一致していないためにつかいわけが必要だと
かんがえられる.
38k のときはフロー制御ができるはずだが,フロー制御をする設定
(つぎのスクリプト) ではうまくいかなかったので,64k のばあいとおなじく
フロー制御なしの設定にしている.
$PPPDIR/chat -v \
"" ATZ0Y1\\\\Q3\&Q2%B8E1Q0V1X3 OK ATD$PHONE_NUMBER-S8 CONNECT ""
^^^
$PPPDIR/pppd /dev/$DEVICE -am +ua $PASSFILE \
noipdefault crtscts defaultroute -detach &
^^^^^^^
関連ページ :
[Linuxによる ISDN
接続のためのスクリプト],
[電話と Fax をつなぐための MN128 の設定],
[わが家への ISDN 導入時の電話の
トラブルとその対策],
[Computer Communication and Network
-- A Subject Catalogue],
[この件に関するニュースへの投稿記事]
(C) Copyright 1996 by
Y. Kanada