18.5. ダイアルアウトサービス

原作: FAQ からの情報

訳: 丸山 剛司 . 31 December 1996.

以下はモデムを利用して他のコンピュータと 接続する方法を説明しています。 これはリモートホストとターミナル接続を確立するための 適切な方法です。

これは BBS に接続するときによく使います。

この種の接続は PPP 接続に問題がある場合、Internet 上にあるファイルを 転送するのに非常に役に立ちます。FTP で何らかのファイルを転送したいのに PPP 接続を確立できない場合は、ファイルを FTP 転送するためにターミナルセッション を利用します。そして ZMODEM を利用してファイルを転送します。

18.5.1. tipcu が実行できないはなぜ?

あなたのシステムで tipcu というプログラムは uucpdialer というグループに所属しているユーザのみが 実行できるようになっているのでしょう。リモートホストやモデムを 利用できる dialer のグループにあなたのアカウントを 加えましょう。

もしくは下記のコマンドを使うことによって、そのシステムで tipcu を誰でも使えるようになります:

# chmod 4511 /usr/bin/tip

このコマンドは cu に対しておこなう必要はありません、それは cutip に対するハードリンクだからです。

18.5.2. 私の Hayes モデムはサポートされていません、 どうしよう?

実際、tip の マニュアルページは古くなっています。既に Hayes ダイアラが組み込まれています。/etc/remote ファイル中で at=hayes を使ってください。

Hayes ドライバは、最近のモデムの新しい機能である BUSYNO DIALTONECONNECT 115200などのメッセージを 認識できるほど賢くはなく、単に混乱を起こすだけです。 tipを使う場合には、 (ATX0&W とするなどして) これらの メッセージを表示させないようにしなくてはいけません。

また、tip のダイアルのタイムアウトは 60秒です。モデムの タイムアウト設定はそれより短くすべきであり、 そうしないと tip は通信に問題があると判断するでしょう。 ATS7=45&W を実行してください。

実際、デフォルトの tip は Hayes の完全なサポートを しているわけではありません。解決方法は /usr/src/usr.bin/tip/tip の下の tipconf.h を変更することです。 もちろんこれにはソース配布ファイルが必要です。

#define HAYES 0 と記述されている行を #define HAYES 1 と変更し、そして makemake install を実行します。これでうまく動作するでしょう。

18.5.3. これらの AT コマンドを入力するには?

/etc/remote ファイルの中で “direct” エントリを作ります。たとえばモデムが 1番目のシリアルポートである /dev/cuaa0 に接続されている場合、次のようにします:

cuaa0:dv=/dev/cuaa0:br#19200:pa=none

モデムがサポートする最大の bps レートを br フィールドに使います。そして tip cuaa0 を実行すると、モデムが利用できるようになります。

/dev/cuaa0 がシステムに存在しない場合は、次のようにします:

# cd /dev
# ./MAKEDEV cuaa0

または root になって以下のように cu コマンドを実行します:

# cu -lline -sspeed

line にはシリアルポートを指定します (例えば /dev/cuaa0)。そして speed には接続する速度を指定します (例えば 57600)。その後 AT コマンドを実行したら、~. と入力すれば終了します。

18.5.4. pn 機能の @ 記号が使えません!

電話番号 (pn) 機能の中での @ 記号は、 tip に /etc/phone にある電話番号を参照するように伝えます。しかし @ の文字は /etc/remote のような 設定ファイルの中では特殊文字となります。 バックスラッシュを使ってエスケープをおこないます:

pn=\@

18.5.5. コマンドラインから電話番号を指定するには?

“generic” エントリと呼ばれるものを /etc/remote に追加します。 例えば次のようにします:

tip115200|Dial any phone number at 115200 bps:\
        :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600bps:\
        :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:

そして

# tip -115200 5551234

のように利用できます。 tip より cu を使いたい場合、 cu の generic エントリを使います:

cu115200|Use cu to dial any number at 115200bps:\
    :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
そして

# cu 5551234 -s 115200

と実行します。

18.5.6. 毎回 bps レートを入力しなければいけませんか?

tip1200cu1200 用のエントリを記述し、適切な通信速度を br フィールドに設定します。tip は 1200 bps が正しいデフォルト値であるとみなすので、 tip1200 エントリを参照します。もちろん 1200 bps を使わなければならないわけではありません。

18.5.7. ターミナルサーバを経由して 複数のホストへアクセスしたいんです。

毎回接続されるのを待って CONNECT <host> と入力する かわりに、tip の cm 機能を使います。 例えば、/etc/remote に次のようなエントリを追加します:

pain|pain.deep13.com|Forrester's machine:\
    :cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
    :cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
    :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
これで、tip paintip muffin と実行すると pain や muffin のホストに接続することができ、 tip deep13 を実行するとターミナルサーバに接続します。

18.5.8. tip を使ってそれぞれのサイトの 複数の回線に接続できますか?

これは大学に電話回線がいくつかあって 数千人の学生が接続しようとする 場合によくある問題です。

あなたの大学のエントリを /etc/remote ファイルに作成して、pn のフィールドには @ を使います:

big-university:\
    :pn=\@:tc=dialout
dialout:\
    :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:

そして /etc/phone ファイルに大学の電話番号の一覧を書きます:

big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114

tip は一連の電話番号を試みて、 最終的に接続できなければあきらめます。 リトライを続けさせたい場合は、tip を while ループに入れて 実行します。

18.5.9. CTRL+P を 1回送るために 2度押す必要があるのはなぜ?

CTRL+P は通常 “force (強制)” 文字であり、 tip に次の文字が リテラルデータであることを伝えます。force 文字は “変数の設定” を意味する ~s エスケープによって他の文字にすることができます。

~sforce=single-char と入力して改行します。single-char は、任意の 1バイト文字です。 single-char を省略すると NUL 文字になり、これは CTRL+2 や CTRL+SPACE を押しても入力できます。また、 single-char に SHIFT+CTRL+6 を割り当てる方法を使っているターミナルサーバもあります。

$HOME/.tiprc に次のように定義することで、任意の文字を force 文字として利用できます:

force=<single-char>

18.5.10. 打ち込んだ文字が突然すべて大文字になりました??

CTRL+A を押してしまい、caps-lock キーが壊れている場合のために設計された tip の “raise character” モードに入ったのでしょう。 既に述べたように ~s を使って、 raisechar をより適切な値に 変更してください。もしこれら両方の機能を使用しないのであれば、 force 文字と同じ設定にすることもできます。

以下は CTRL+2 や CTRL+A などを頻繁に使う必要のある Emacs ユーザにうってつけの .tiprc ファイルのサンプルです:

force=^^
raisechar=^^

^^ は SHIFT+CTRL+6 です。

18.5.11. tip でファイルを転送するには?

もし他の Unix のシステムと接続しているなら、 ~p(put) や ~t(take) でファイルの送受信ができます。これらのコマンドは 相手のシステムの上で catecho を実行することで 送受信をします。 書式は以下のようになります:

~p ローカルのファイル名 [リモートのファイル名]

~t リモートのファイル名 [ローカルのファイル名]

この方法ではエラーチェックをおこないませんので、zmodem などの他のプロトコルを使った方がよいでしょう。

18.5.12. tip から zmodem を実行するには?

ファイルを受信するには、 リモート側で送信プログラムを起動します。そして ~C rz と入力すると、ローカル側へのファイルの受信が 始まります。

ファイルを送信するには、 リモート側で受信プログラムを起動します。そして ~C sz files と入力すると、 リモート側への ファイルの送信が始まります。