サーバにはLinuxを使い、以下のことを前提として話しを進めます。
/dev/ttyS
xデバイスを使います。isdn4linux
/dev/ttyI
xデバイス
(訳注:isdn4linux
のサイトはftp://ftp.franken.de/pub/isdn4linux/など
です。ISDN回線でないと「回線が使用中です。しばらくしてからやり直して
みて下さい」(Windows95側)というメッセージが出るのですが、うまくいった方が
おられたらぜひ教えて下さい)modem demon
を起動するための
5行perlスクリプトを使います。
$ cat /usr/sbin/modemd
#!/usr/bin/perl select((select(STDOUT), $| = 1)[$[]); select((select(STDIN), $| = 1)[$[]); exec 'cu -s 115200 -l /dev/ttyS1'; die '$0: Cant exec cu: $!\n';
inetd
プロセスによって開始されます。以下述べるように
モデムデーモンは単に'cu
'コマンドの標準入力/出力をソケットハンドルに接続
して、'cu
'ハンドルを実際のモデムデバイスとするだけです。'cu
'コマン
ドがシステムにない場合は,UUCPパッケージをインストールして下さい。
'cu'は UUCPの一部です(訳注:cu は他のシステムをコールアップ(Call up)
するコマンドです)。
モデムデーモンの存在は設定ファイルをアップデートすることでinetdプロセス
として認識されます。設定ファイルは通常/etc/inetd/conf
に
# # modem daemon # modem stream tcp nowait root /usr/sbin/tcpd /usr/sbin/modemd /dev/ttyS1
/dev/ttyS1
は適当なデバイスに変更します)。
これを動作させるために,/etc/services
にエントリーさせます。
modem 2006/tcp modemd
$ ps |grep inetd 194 ? S 0:00 /usr/sbin/inetd kill -HUP 194これでサーバ側はクライアントからの要求を受ける準備ができました。 正しく機能しているかは以下のようにして確認できます。
$ telnet localhost modem Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.さあ,モデムにつながりました。セットアップを確認するために'AT'コマンドを うちこんでみます。
atz atz OK ati1 ati1 Linux ISDN OK ^] telnet>quit $モデムサーバでPerlスクリプトを使う代わりに,mserverというプログラムも あります。
ftp://ftp.innet.be/pub/staff/carl/
から入手できます。
うまくみつからない時はarchieコマンドで検索するか適当なサーチエンジン
を使ってmserverの在処を探して下さい。著者はまだmserverをインストールして
使っていないのでこれ以上はコメントできません(訳注:mserverはネットワーク
に繋がっている他のホストからモデムを使うためのネットワークモデムサーバ
プログラムです。モデムデバイスはリモートホストがサーバに接続された時だけ
オープンされます。詳しくはmserverパッケージのREADMEに書かれています)。