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