#68 Article 3472 Posted at 1994/03/18 06:27:42 by W.M. (MAP009) [GETTY]

Subject: モデムの自動着信とgetty

#2の article No.1734での話題、「ホストが止まっているときには、モデ
ムが電話をとらないようにするには、どうしたらいいか」の詳しい説明です。

  BBSのホストマシンのように、モデムからのアクセスを受けるシステムで
は、「電話回線が切断されたときに、その回線より起動されたプロセスを終
了させる」というのは、非常に大切な機能です。ホストとしての安定性の大
きな部分が、この機能の信頼性にかかっています。

  UNIX系 OSでは、この機能を kernelで実現しています。すなわち、電話回
線が切断されると、そのモデムからの ER(DTR)信号が OFFになったことを受
けて、その端末(tty)に対するプロセスにシグナル SIGHUPが送られます。
 この機能を使用すると、当然 ER信号が OFFになっている ttyに対しては、
プロセスを動作させることはできません。つまり、gettyがどのようなプロ
グラムであっても、モデムに対して ATAを送ることができないのです。これ
は gettyの機能の問題ではなく、ttyデバイスドライバの問題です。

  モデムが RINGを送信してきたときにモデムに ATAを送信でき、さらに電
話回線が切断されたときにシグナルが発信されるようにするには、モデムは
「通常は ER信号は ONであるが、電話回線が切断されたときのみ、シグナル
を発信するのに十分な時間(数秒間)だけ ER信号を OFFにする」というモー
ドが必要となります。このモードを設定するのが、AT&C2コマンドです。

 というわけで、AT&C2コマンドが(正しく)動作しないモデムが接続されて
いる回線については、kernelのソースを書き直すか、ホストシステムの信頼
性を下げる危険を冒しても、ttyのモードを切り替えて対応するようにする
か、ということになります。

 さて、この問題の元に戻ってみますと、「ホストシステムが、突然ダウン
することがあり、SysOpさんがそれに気づくまでは、ttya4のモデムが勝手に
電話に応えてしまうのを何とかしたい」ということです。「ホストシステム
が突然ダウンする」ことに対して、「ホストシステムの信頼性を下げる危険
を冒しても…」というのは本末転倒でしょう。それよりもまず、「ホストシ
ステムが突然ダウンしないようにする」ほうに力を入れるべきだと思います。

 というわけで、ttya4のモデム(MC14400FX)の設定については、現在のとこ
ろ対処する予定はありません(__)。

 なお、もし悲しいことに「ホストシステムの突然ダウンを無くすのは非常
に難しいので、ひとまずあきらめる」という事態になった場合には、kernel
やその近辺のプログラムを書き換えるよりも、別のモデムを買うことによっ
て対処したいと考えています。その頃(が来ないことを祈りますが)には、き
っと新しいモデムが出ていることでしょう。

 (ちなみに、MICROCOREの MC14400FXには、AT&C2のコマンドがあるのですが、
  正しく動作しません。このコマンドがあるからこのモデムを買ったの… ;_;)

                        MAP009 / W.M. (ダブレムと発音してください)