<!doctype linuxdoctr system>
<article>
<title>Mgetty+Sendfax with Vgetty Extensions (FAQ)</title>
<author>Klaus Lichtenwalder, &lt;Lichtenwalder@ACM.org&gt;</author>
<date>February 2 1997</date>
<trans>中谷千絵, &lt;jeanne@mbox.kyoto-inet.or.jp&gt;</trans>
<tdate>June 3 1997</tdate>

<![IGNORE[
Mgetty+Sendfax with Vgetty Extensions (FAQ)
Last-modified: 24 February 1997

日本語訳：中谷千絵 jeanne@mbox.kyoto-inet.or.jp
03 June 1997

Subject: Mgetty+Sendfax with Vgetty Extensions (FAQ)
Newsgroups: comp.dcom.fax,comp.dcom.modems,comp.answers,news.answers
Followup-To: poster
From: Lichtenwalder@ACM.org
Reply-To: Lichtenwalder@ACM.org
Summary: Information about mgetty+sendfax, a Unix getty replacement
Keywords: class2 fax mgetty sendfax modem digifax
Approved: news-answers-request@mit.edu


Archive-name: fax-faq/mgetty+sendfax+vgetty
Last-modified: 24 February 1997

			  ``mgetty+sendfax''
		Answers to Frequently-Asked Questions
       regarding Gert Doering's Fax-enabled getty replacement,
       with Klaus Weidner and Marc Eberhard's voice extensions

			 Klaus Lichtenwalder
		        Lichtenwalder@ACM.org

        Posted by: Chris Lewis, clewis@ferret.ocunix.on.ca

------------------------------
Subject: はじめに
]]>

<abstract>
  この文書は mgetty+sendfax と vgetty についての FAQ (frequently asked
questions) に答えることを計画しています。vgetty とは、 Klaus Weidner 
と Marc Eberhard の音声プロセスの拡張版で Gert Doering の fax を使えるように 
getty が置きかわっているものです。mgetty の公式版は現在 (少なくとも) 1.0 です。
Gert は Linux kernel のナンバー体系を取り入れています。つまり、製品版は
偶数リリースナンバー (1.0,1.2..) になり、奇数ナンバーは開発版になります。
vgetty は改変されているので 1.0 では vgetty サポートはないことに
注意してください。音声が必要なら 1.0 より古い版を入手するか、
それよりはより新しい版を入手しなければなりません。
</abstract>

<![IGNORE[
  目次

Part I:"使用するかどうかを決める"ための質問
・mgetty とは何ですか。
・mgetty が動作する時、どのようになるのですか。
・mgetty+sendfax/vgetty を使うのに何が必要ですか。
・他に必要なソフトエェアがありますか。
・mgetty+sendfax/vgetty の使用にはどのような許諾事項がありますか。  
・mgetty+sendfax はどこで入手できますか。
・どのようにすれば仕事で使えるようになりますか。
・アーカイブされたリストはどこにありますか。

Part 2: その他の質問
・mgetty/vgetty のユーザと開発者にどのように連絡できますか。
・sendfax で送信できるのはどのようなフォーマットのファイルですか。
・mgetty はなぜ G3 以外の他のファイルフォーマットを受信しないのですか。
・mgetty はなぜモデムの自動応答機能を使わないのですか。
・mgetty はなぜ 受信用デバイスに /dev/tty* 、発信用デバイスに 
  /dev/cua* を使わないのですか。
・トラブルシューティング Q &amp; A
・sendfax に対して G3 フォーマットに変換できない*無効な*ポストスクリプト
  を作っているプログラム
・使用している ZyXEL が ROM をアップグレードしたら動かなくなりました。
  何が悪いのでしょうか。
・回線切断後ユーザシェルが kill されません。
・AutoPPP が "who" でリストを表示します。

Part 3: 互換性についての問題
 ・問題のあるファックスマシン
Part 4: vgetty をコンパイル、インストールし使用する
・ vgetty をコンパイルする
・US Robotics の音声フォーマット変換
]]>


<sect>Part I: mgetty を使うかどうかを決めるための質問
<p>
<!--
Subject:  
-->

<sect1>mgetty/vgetty とはどのようなものですか。
<p>
<verb>
From: steve@work.bellingham.wa.us (Steve Work)
</verb>

  Mgetty+sendfax は class 2.0 または 2 (２つは違うものです)のファック
スモデムを使って、Unix 環境でファックスの送受信するプログラム集です。
vgetty は mgetty を拡張したもので、mgetty と一緒に配布されています。
vgetty はかかってくる音声電話に対応しています。そのようなモデムをお持
ちなら、vgetty は新しい型に正式に付加されているボイスモデムを扱います。

  さらに具体的には、"mgetty" というプログラムは、class 2.0 あるいは 2 
のファックスモデムを使用して、従来通り有線経由の外部からのログインはも
ちろんのこと、さらに追加機能としてファックスの送受信を可能にします。
"sendfax" はファックスファイルを送信する独立したプログラムです。
"vgetty" は mgetty の拡張版で、vgetty は受話器のように電話に応答できて、
(検出すれば) 音声でのメールメッセージを記録します。そしてさらに、mgetty 
のファックスか、あるいは別の方法で扱うデータコールかを区別して実行しま
す。mgetty+sendfax の配布物には vgetty が含まれていて、vgetty はファッ
クスと音声メッセージを扱う適当なサイズにまとめられたユーティリティプロ
グラムです。

<!--
Subject:  
-->
<sect1>mgetty が動作する時、どのようになるのですか。
<p>
<verb>
From: steve@work.bellingham.wa.us (Steven Work) and the distribution
CC: clewis@ferret.ocunix.on.ca (Chris Lewis)
</verb>

  ちょっと賢い `getty'というところでしょう。 getty は Unix コンピュー
タでログイン手続きの最初の段階を管理しているプログラムです。モデムを使っ
ている時、getty は着信コールを監視し、(通常は) "login:" プロンプト
(username を読みとり、"login" をうまく行います)を出します。

  従来の getty あるいは uugetty はモデムを自動応答モードに置きますが、 
mgetty はそうではありません。着信コールがあると、mgetty はその時にでき
る "RING" を監視します。それらが出来ると、mgetty はモデムに応答するよ
うに伝え、それからモデムはどのような形態で接続するのかを mgetty に伝え
ます。FAX であれば、mgetty は FAX を受信します。データであれば、mgetty 
は userid を求めます。それから通常のデータログインをするために空いてい
る回線を渡します。

  データ電話から ファックス電話を区別するモデムの働きに注意してくださ
い。すべての fax モデムはこのようは動きません。そしてお使いのモデムが
それができないなら、mgetty にそのようにさせる方法はありません。mgetty 
はデータ電話ととファックス電話を区別することができないモデムで使うこと
ができますが、どんな種類の電話かをあらかじめ伝えてやらねばなりません。

  mgetty はログインする際に userid に依存している特別な接続(たとえば 
uucico、fido やその他のプログラム)について、ログイン以外の別のプログラ
ムを選択するように設定できます。

  さらに mgetty は 相手先の id をサポートしており、電話番号をもとにす
る接続を拒否することができます。

  vgetty は mgetty の拡張版で、vgetty は追加の電話機能を提供するボイス
モデムで動きます。モデムが RING を返した時、vgetty はモデムを回線を選
びだし、音声メッセージ(あいさつ)を流します。モデムがデータあるいは fax 
電話を検出すれば、これを特別なコード (DLE-sequences ) で vgetty に報告
します。DLE-sequences というのはスイッチかモードのいずれかで vgetty を
起こします。そうでなければボイスモードが使われます。

  モデムがあいさつ(数秒続く沈黙)に続いて何も聞かないなら、かかってきた
電話はデータモデムであるとみなし、データ接続をしようとします。

  vgetty はメッセージをリモート再生するのと同様の通常の受話器の機能を
実行します。その操作はシェルスクリプトから行われるので、希望するなら十
分な音声メール保存箱としてさらに有効に使うことができます。(このボイス
モデムの動作についての記述は ZyXEL 類のモデムに適用されます。私 
&lsqb;steve@work.bellingham.wa.us&rsqb; は他のボイスモデムでも同様だと
考えています。)

  たとえば音声メールシステムがどのようなものかについてですが、<tt>voice</tt> の
下の <tt>scripts</tt> というディレクトリに Marc Schaefer の 
<tt>voice_mail.sh</tt> スクリプトがあります。
ボイスシェルは実際のモデムからは独立していて、ZyXELs 
以外のほとんどのモデムでサポートされています。ハードウェアドライバはモ
デムの特別な仕様を見ないので、ボイスシェルはモデムにまったく依存しない
一般的なインターフェースを提供します。もちろん完全なシステムの信頼性は、
使用している音声モデムの信頼性に依存します。ですから、違ったモデムの間
では明らかに相違があります。

  vgetty は 音声の電話に比重をおいて、データと音声用に電話回線を共有し
たい人向けです。記録された音声メッセージを聞いて区別できないモデムや接
続したくないモデムがあるので、ダイアルアップシステムについては意図して
いません。

  特徴のある ring があるなら、１回線で可能です。vgetty は RING メッセー
ジから電話の種類を検出できるので、直接的にデータかファックスモードを切
りかえます。特有の ring がサポートされている地域では、問題なく同じ回線
上でダイアルアップと音声を使うことができます。

  音声拡張機能は最初、Klaus Weidner (klaus@snarc.greenie.muc.de) によって
書かれましたが、現在は Marc Eberhard (Marc.Eberhard@Uni-Duesseldorf.DE) に
よって維持されています。それらについての直接的な質問は添付のアドレスへ。

<verb>
--------
配布物からのさらなる情報(一部編集しています)
-------
</verb>

標準の 2.0 または 2 の fax モデムをお持ちなら、sendfax で以下のような
ことができます。

<itemize>
<item>直接に、あるいはシェルスクリプト(他のアプリケーションと簡単に組合せ
ることができます)を使ってファックスを送信します。

<item> "ファックスを保存" します。たとえば、あなたは気象観測所を呼び出し
て、現在の天気図が含まれているファックスをあなた宛に送るようにその機能
を使うことだってできるということです。(すべてのモデム製造業者がモデム
にこのような仕様を実施しているわけではありませんが！)

<item>"fax 待ち行列" を作ります。つまり送信するファックスは自動的に送られ、
ユーザはその結果についてメールで報告を受けます。'mgetty' は１本のモデ
ム線で電話を受け、電話をかけることができるということです。

<item>mgetty は "高機能" モデムの扱いも考慮されており、モデムを常に適切な
状態で扱うように作られています。(機種依存の初期化手続きも可能)

<item>かかってきた電話には自動応答 (`ATS0=1') を使うかわりに手動で答えます
(`RING' -&gt; `ATA' -&gt;`CONNECT')。マシンが動いていない、あるいはログイン
が許可されない時、モデムはその電話を取らないということです。

<item>mgetty は完全に getty (あるいは) uugetty と置きかわります。uugetty 
のようによく知られた UUCP (HDB/BNU、 SVR4、 V7 と多様な仕様の Taylor) 
と互換性を持ったロックファイルをサポートしています。uugetty は mgetty 
がサポートしていない仕様を持っています。これについては、後述の "
mgetty は uugetty とどのように違いますか"の項を見てください。
 
<item>mgetty は 端末コンフィグレーションである System V タイプの gettydef 
類をサポートしています。

<item>mgetty は class 2 のファックス(そのモデムをお持ちなら) を受信できます。

<item>mgetty は FidoNet の電話がわかります。

(訳注 FidoNet : メール、会議グループファイルを交換しあうパーソナルコン
ピュータ同士の、世界規模のホビイスト用ネットワーク。(詳しくは「ハッカー
ズ大辞典」(アスキー出版局)をどうぞ。FidoNet に参加しているネットのリス
トはここから探すことができます。<htmlurl 
url="http://www.ccc.or.at/fidonet/nodelist/nlover.html" 
name="FidoNet -Nodelist">

<item>mgetty は多くの記録を取り、デバックします。

 「折り返し FAX 送信 (fax poll sending)」ができます。この機能は手持ちの
マシンに折り返し FAX 送信サービスをさせるもので、FAX 送信要求の電話がかかっ
て来た場合に依頼主に FAX を自動送信するものです。(例えば、システムの現状
報告を送ったり、その時々の天気図を送ったりするのです)。ただし、この機
能をサポートしているモデムは更に限られているので注意してください。

<item>mgetty は選択的に callerID に基づいて呼び出しを拒否することができま
す。お使いのモデムがその機能をサポートしており、そしてあなたがそのサー
ビスを使えるようにしているならできます。CallerID は記録されます。

<item>mgetty は利用できるディスクスペースが少ない時、受信ファックスを拒否
できる機能があります。

<item>mgetty は かかってくる電話の PPP 呼び出しがわかり、login や 
password を要求せずに PPP デーモンに渡します。この仕様は AutoPPP と
して知られています。

<item>音声電話に対して通常の受話器のように動作します。

<item>T.30 呼び出しトーンが検出されると自動的にファックスを受信します。

<item>電話が人の声でもファックスでもない場合は、データ接続が試されます。こ
れがうまくいけば、電話をかけてきた者は通常ログインをします。

<item>ダイアルアウトのインターフェースはありません。

<item>DTMF コードを通してメッセージのリモート再生をします。

<item>呼び出しベルの節約 -&#045;- 新規のメッセージがあれば、迅速に電話を取りま
す。これは不用な呼び出しを避けて一定時間で電話を切るようにできるという
ことです。

<item>メッセージ点灯 - お使いのモデムに自動応答ランプ LED があるなら、新規
メッセージがあれば点滅します。

<item>再生が容易 - 同じモデム上で、DATA と VOICE を切替えることで新規メッ
セージを再生できます。

<item>音声合成装置が使えるなら、メッセージに対して日時記録を付加します(デ
フォルトではありません)。そのスクリプトは rsynth のような音声合成装置
を使う方法を示していますが、パッケージには含まれていません。このような
装置を使うためには、rmd (raw modem data) フォーマットを pvf フォーマッ
トに変換する音声変換モデムが必要です。これはすべてのモデムをサポートし
ているわけではありません。

<item>音声変換ユーティリティ - <tt>/dev/audio</tt> でメッセージを再生します。
(すべてのモデムをサポートしていません。専用のフォーマットを使うモデムもあり
ます。)

</itemize>

<!--
Subject:  
-->
<sect1>mgetty+sendfax/vgetty? を使うには何が必要ですか。
<p>
<verb>
From: steve@work.bellingham.wa.us (Steve Work), and distribution
CC: clewis@ferret.ocunix.on.ca (Chris Lewis)
</verb>

  いくつかの条件があります。コンピュータはさまざまな種類(多くの)の Unix 
オペレーティングシステムが動作していること。(そのオペレーティングシステムは 
<tt>termio.h</tt> あるいは <tt>termios.h</tt> をサポートしていなければなりま
せん。<tt>termio.h</tt> や <tt>termios.h</tt> は一般的には "pure BSD" 
のシステムを除外しています。) 受信のデータ接続 ("getty" など) をサポート
するため、たぶんヘイズ互換のモデムが必要です。ファックスを送受信するために、 
Class 2 (あるいは 2.0 ) のファックスコマンドを理解するモデムを必要とします。
音声については、音声を扱えるモデムが必要です。

  vgetty は現在、Dolphin, Dr. Neuhaus Cybermod, Elsa, IS 101 compatible, 
Rockwell, Sierra, US Robotics、そしてすべての ZyXEL モデムを
サポートしています。

 Cirrus Logic, ISDN4Linux と UMC のドライバは基本的には動作しますが、
一般的な vgetty 部分とハードウェアドライバとの間で新しい内部インターフェ
イスをアップグレードしなければなりません。この変更は厳密に ANSI C 互換
にするために必要でした。現在、Vgetty は warning (警告) なしで、
<tt>gcc -Wall -pedantic</tt> でコンパイルできます。

  mgetty は少なくとも次のようなシステムにインストールされ動作しています。
あなたがこのリストを読む時点ではもっと増えているでしょう。

<itemize>
<item>SCO Unix 3.2.1 (ODT 1.0)           (very well tested)
<item>SCO Unix 3.2.4 (ODT 2.0 + 3.0)     (very well tested)
<item>SCO Open Server 5.0		 (Gert uses it ...)
<item>Linux 0.99pl1 .. 2.1               (very well tested)
<item>ISC Unix 3.0                       (tested)
<item>SVR4 Unix                          (well tested)
<item>AT&amp;T 3B1 3.51m                 (well tested)
<item>HP-UX 8.x                          (well tested)
<item>AIX 3.2.5, 4.1.4, 4.2              (mgetty, not vgetty)
<item>SunOS 4.1.x                        (well tested)
<item>SunOS 5.x                          (at least with USR 33.6
					 Misha Pavlov &lt;oj@interport.net&gt;)
<item>NetBSD / FreeBSD                   (works)
<item>BSDI v1.1                          (under work, not done -&#045;
                                                    greg@wwa.com)
</itemize>

  `<tt>termio.h</tt>' あるいは `<tt>termios.h</tt>' があれば他の Unix 上でも 
mgetty を動かせるはずです。`<tt>select(S)</tt>' や `<tt>poll(S)</tt>' が
あれば一番よいのですが、なくても何とかなります。
(警告: Unix SVR3.1 やそのより前の版では、<tt>poll()</tt> を使えません。
それは tty デバイス上では動きません)。

現在、少なくとも以下のモデム、たぶんリストはもう少し増えているでしょう、
が十分使えます。

以下はよく使用されるモデムのリストです。データリストの最新版は、配布物
の <tt>doc</tt> というディレクトリにある <tt>modems.db</tt> を
チェックしてください。

<itemize>
<item>Aceex 1496
<item>Boca V.32bis
<item>Creatix LC 288 FC
<item>Practical Peripherals PM14400FXMT
<item>TKR Terbo Line
<item>U.S. Robotics Courier V.34 Fax
<item>U.S. Robotics Sportster V.34 28.800 Fax Modem
<item>Zoltrix Platinum Series 14.4
<item>ZyXEL 1496E+, always recommended
</itemize>

  mgetty はすべての class 2 のファックスモデムで動作するはずです。おそ
らく `<tt>faxrec.c</tt>' によってページの最初で送られた DC2 キャラクタは
旧型の class 2 モデム (標準の非常に古いドラフトで行っている) XON を変更しなけ
ればなりません。不運にも、それぞれの class 2 モデムは少しづつ違ってい
ます。

  初期の USR モデムは Class 2.0(そして Class 2 もたぶん) に従って設定
すると良くない動きをします。現在の USR モデム (Sportster と Courier) は
問題なく動きます。


<!--
Subject:
-->
<sect1>他のソフトウェアが必要ですか？
<p>
<verb>
From: clewis@ferret.ocunix.on.ca (Chris Lewis)
CC: gert@greenie.muc.de (Gert Doering)
</verb>

データのみに関しては他にソフトウェアは必要ありません。

  mgetty それ自身は G3 (raster 走査線で表示 )フォーマットだけを送受信
できます。しかし配布物は 生の (raw) G3 ファイルを変換するツール、または 
"pbmplus" を使用したフォーマットを変換する Portable Bitmap Toolkit と
いうツールを持っています。pbmplus フォーマットは大部分の raster-image 
プログラムをサポート(あるいはサポートされている)しており、UNIX の分野
で一般的に使われるファイルフォーマットです。pbmplus は次の URL にあり
ます(他にもあります)。
<tt>ftp://sunsite.unc.edu/pub/X11/contrib/pbmplus10dec91.tar</tt>

  mgetty+sendfax 配布物は pbmplus の壊れた pbmtog3 コンバータを固定す
るパッチを含んでいます。パッチされていない pbmtog3 を使っていると、転
送の間にエラーを起こします。

  フリーのポストスクリプトページ記述言語インタプリタ (Postscript page
description language interpreter)である GhostScript は Postscript を 
G3 に変換します。Ghostscript は次の URL で利用できます(他にもあります)。
<tt>ftp://sunsite.unc.edu/pub/gnu/applications/ghostscript-2.6.1.tar.gz</tt>
(同じディレクトリにあるパッチファイルもチェックしてください)

  ftp://?? で利用できる Hp2pbm は text と PCL ( HP Laserjet language)
を G3 あるいは PBM に変換できます。 Hp2pbm は PBM を PostScript、 PCL 
そして Epson プリンタ用に変換するプログラムを持っています。

  PBMPLUS はラスターフォーマットや ASCII で存在するほとんどのものから 
PBM に、そして PBM からラスターフォーマットへのコンバータを持っていま
す。PBM と G3 との間で変換するために、mgetty で pbm2g3 と g32pbm ユー
ティリティ を使うといいでしょう。

  要点を言うなら、あなたは hp2pbm もしくは PBMPLUS だけを動作させること
ができます。GhostScript を使うなら、ASCII(ページヘッダーなどに使われて
いる) を変換するために、PBMPLUS か hp2pbm も必要です。

  Mgetty+sendfax は <tt>vioce/</tt> 以下のサブディレクトリに音声処理ユーティリ
ティを持っているものがあります。これらのツール (pvftools)は ZyXEL、 
Rockwell と ISDN4Linux の音声フォーマットを変換できます。その他のフォー
マットも報告されています。GSM のコード化された音声フォーマットの翻訳が
成功したと報告している人もありますので、将来にはそのようなサポートが加
えられるでしょう。vgetty は現在上記の３つのモデムをサポートしており、
さらにもっとサポートされる計画があるということです。


<!--
Subject: 
-->
<sect1>mgetty+sendfax/vgetty の使用にはどのような許諾事項がありますか。  
<p>
配布物から

  mgetty+sendfax のパッケージは、Gert Doering に著作権 (1993年) がありま
す。このプログラムについて、再配布、あなたが書いたプログラムに一部のコー
ドを利用する、などのような、あなたがこのプログラムに望むいかなることも
許可されていますが、あなたは私にクレジットを与えなくてはいけないので、
私の名前を取り除いてはいけません。

  プログラムがちゃんと動作すれば、あなたは私の努力に敬意を表したいと思
うでしょう。あなたはご自分がしたいだけの寄付をしてください。

  あなたが mgetty に寄付をするなら、私は共有 (share) を望みます。それは
次のようなことを意味します。mgetty のインストールあるいはサポートに対
して支払うことは申し分なく了解します。しかし、あなたが mgetty を売りた
い、あるいはモデムに mgetty を添付し、それを "Unix fax パッケージ" と
して売りたいなら、最初に私に連絡を取ってください。

  * 注意 * このパッケージはテスト段階のベータ版のソフトウェアですから、
あなた自身の責任において使用してください。** いかなる保証もありりませ
ん **。あなたのハードディスクの中身をすべて消してしまっても、ハードウェ
アを破損しても、さらにはあなたの愛犬を殺してしまっても、それはすべてあ
なたの責任です。それでもプログラムは私のところではちゃんと動いています
し、他の多くの人のところでも動いているようですが。

  Marcは音声に関する部分を GPL のもとに置いています。誤解を避けるため
に、 Gert は配布物に GPL テキストを含ませていません。音声に関する著作
権は GPL にあります。



<!--Subject:  -->
<sect1>mgetty+sendfax はどこで入手できますか。
<p>
ホームページは  <url url="http://www.leo.org/~doering/mgetty/">
 
公式版を置いているサイトは次の URL です。

<tscreen><verb>
ftp://ftp.leo.org/pub/comp/networking/communication/modem/mgetty
ftp://sunsite.unc.edu/pub/Linux/system/Serial/mgetty+sendfax*
ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/... (or so)
ftp://linux.nrao.edu/pub/packages/mgetty+sendfax/
</verb></tscreen>


<!--Subject: -->
<sect1>どのようにしたら仕事で使えますか。
<p>
<verb>
From: Klaus Lichtenwalder &lt;Lichtenwalder@ACM.org&gt; and the mgetty dist.
</verb>

  mgetty に、<tt>frontends</tt> というサブディレクトリがあります。多かれ少なか
れ受信したファックスを見る、印刷する、まとめる、そして多くの種類の違っ
たプログラムから待ち行列にそれらを加える、そのような仕事のためにドキュ
メントが添付されたたくさんのプログラムがあります。

	

<!--Subject: -->
<sect1>アーカイブされたリストはどこにありますか。
<p>
<verb>
From: Gert Doering &lt;gert@greenie.muc.de&gt;
</verb>

他の多くのドキュメントと同様にアーカイブへのポインタは 
<url url="http://www.leo.org/~doering/mgetty"> で見つけることができます。アー
カイブそのものは <tt>http://eli.wariat.org/mgarc/index.html</tt> にありま
す。


<!--######################## section 2 #################################-->

<!--Subject: -->
<sect>Part 2: その他の質問
<p>


<!--Subject:  -->
<sect1>mgetty/vgetty のユーザや開発者と連絡を取るにはどうしたらいいですか。
<p>
<verb>
From: steve@work.bellingham.wa.us
</verb>

(Steve Wampler さんからの提言)

  メーリングリストがあります。国際的な性格を持つもので、この ML では
 *英語* だけが使われています。de.alt de.alt.comm.mgetty のようなローカ
ルなニュースグループに通じていますが、リストに参加するためには、
mgetty-request@muc.de 宛にメールを送ってください(リストは手動で管理さ
れていますので、参加を尋ねる必要があるでしょう)。リストの多くの人のひ
とりひとりにメールを送信するためには、mgetty@muc.de 宛にメールを送信し
てください。mgetty@muc.de 宛に参加申込を送ってはいけません。多くの人が
あなたに管理者へのメッセージのためには mgetty-request を使うようにと返
信するでしょうから。

 mgetty@muc.de でのメールの量は週に１つ２つから日に１０程度ですが、開
発活動の動向にもよるでしょう。

  mgetty や vgetty の誤動作のために質問があるなら、あなたのログファイ
ルの適切な部分を添付して下さい。ログファイルはいつも 6 のログレベルで
得られます。これらのログファイルのデフォルトのディレクトリは mgetty で
は <tt>/tmp/</tt>、vgetty では <tt>/var/log</tt> です。



<!--Subject:  -->
<sect1>sendfax はどのような画像ファイルフォーマットを送信できますか。
<p>
<verb>
From:	gert@greenie.muc.de (Gert Doering)
</verb>

受信フォーマット

  生の (raw) の G3 データです ( CCITT 標準の T.4 により、1 次元圧縮された
もの)。G3 は、GhostScript の "dfaxhigh" または "dfaxlow" ドライバある
いは "pbm2g3" プログラムで作ることができます。("dfaxhigh" または 
"dfaxlow" ドライバは、sendfax + g3cat + g32pbm64 が認識もするけれど、
スキップもしてしまう 64 バイトヘッダーで G3 データを作ります。注意： 
"pbmplus" 配布物からの pbmtog3 プログラムは T.4 によって妥当な G3 デー
タを作りません。正確にするべきで、ラインは 1728 ピクセルよりも短いと、
EOL コードの読み込みがミスされます。それを解決するために patches とい
うディレクトリの pbmtog3.p1 でパッチします。 さらによいのは、あなたの
ユーティリティを使うことです(パッチは私の pbm2g3 プログラムには *不用* 
です。パッチされていない pbmtog3 は、たぶん +FHNG:50 あるいは +FHNG:54 
エラーコードを出すでしょう。

  tiff-G3 データは使用しないでください。 tiff-G3 は、データそのものは
コード化された G3 ですが、sendfax にとって必要でない面倒な解析が必要な 
TIFF ヘッダーの複雑な層に包まれています。TIFF ファイルをファックス送信
すると、sendfax が warning メッセージを出すことになり、恐らく、送信は
失敗になるでしょう。


送信フォーマット

  mgetty が FAX_SPOOL_IN に置くファイルは、sendfax が送る現在の CCITT
T.4 の raw G3 データと同じフォーマットです。それらを pbm に変換するた
めに、g32pbm を使います。X window xwd フォーマットに変換するには、
contrib というディレクトリにある g3toxwd を使います。

  ファイルが転送エラーなしに受信されるなら、さらに別のものに変換するこ
となく受信したファックスを転送することができます。モデムのなかにはゼロ
のビットを埋め込むものもあるので、 g3cat に通すことはいずれにしろお勧
めで、余分のものを取り除き、乱れたラインをきれいにします。



<!--Subject:  -->
<sect1>mgetty はなぜ G3 以外のフォーマットを受信しないのですか。
<p>
  mgetty はなぜ動作中に任意のイメージファイル (TIFF のような) を変換し
ないで、生の G3 ファックスファイルだけしか送信しないのですか。

Chris Lewis さんから

  私が TIFF について理解していることは、TIFF はそれそのもののフォーマッ
トに加えて、他のいくつかのフォーマットを含むことができるということです。
別の言い方をすると、少なくともある程度まで、TIFF は 簡単に別のフォーマッ
トにマジックナンバーをつけている方法なので、TIFF を利用できるようにす
るコンバータは複合フォーマットを扱うことができるのです。

  あなたは確かに G3 を含む TIFF を持つことができます、そして、mgetty 
はそれを使うことでたくさんのトラブルを持ちたくないのです。しかし、これ
は、もし含まれているものが G3 でないなら、mgetty はどうするか？という
質問をあなたに残しています。それを変換しなければなりません。mgetty の
変換速度は class II FAX の転送中断の時間にあわせることができないという
状況に遭遇し、あなたは電話をかけている時間を浪費してしまうことになりま
す。受信でも同じことになります。実際のところ、受信あるいは送信するファ
イルが G3 以外のものなら、mgetty はそのままの状態を維持できないという
のが本当のところです。

  別の観点からこのことを考えてみるなら、mgetty は転送プロトコルであり
実行ファイルであることを思いだすべきです。ソフトウェアを変換しません。
mgetty は G3 を読み書きする必要があり、それがすべてです。別のソフトウェ
アに変換するのは他にまかせましょう。


さらに Gert Doering さんから

  はい、TIFF は複合ファイルフォーマットで、それは非常に多種類のページ
データのコード化の方法や、異なったバイトやビットの順序、ひとつのファイ
ルで複数ページなどをサポートできます。TIFF は柔軟なフォーマットですが、
それを解析するのは複雑な作業です。

  それに比べると、mgetty の g3 ファイルは生の G3 データです。ヘッダー
がなく、フォーマットもなく、ファイルのなかから実際のページデータを見つ
けるために翻訳コードを取り出す必要もありません。ファイルごとに１ページ
であり、もっとも単純です。

  TIFF を無視 ( 別のソフトウェアに TIFF 変換をまかせること)することは 
mgetty と sendfax を単純化し、ユーザインターフェイスをややこしくしませ
ん。内部の動きをユーザから隠してしまう faxspool あるいは 同様なツール
が使われている限り、すなわち、どのようなファックス端末装置がそのような
データを望むかということになります。的確にやるべきです。TIFF サポート
から離れれば、mgetty を *シンプル* にします。多くの UNIX プログラムは 
PBM を読み取ることができますし、G3 を pbm に変換するのはとても簡単でが、
私はまだよい * マルチページ * Tiff から PBM へのコンバータを見たことが
ありません。



<!--Subject: -->
<sect1>mgetty はなぜモデムの自動応答を使えないのですか。
<p>

<enum>
<item>モデムがちゃんと設定されていなければ、データ電話から fax を区別する
ことができないからです。一方、モデムはホストが準備状態でないと電話に答
えないのを確認しましょう。

<item>さらに callerid は極端な違いがないと動きません。
</enum>
 

<!--Subject:-->
<sect1>
mgetty はなぜ 受信用デバイスに <tt>/dev/tty*</tt> 、発信用デバイスに 
<tt>/dev/cua*</tt> を使わないのですか。
<p>
&lsqb; Linux と SunOS を除く大部分の他の Unix 類では、mgetty は <tt>tty*</tt> 
デバイス上に設定されるべきで、そうすると、<tt>cua*</tt> デバイスが完全に無視
されるはずです。&rsqb;

From: "Theodore Y. Ts'o" &lt;tytso@mit.edu&gt;

  <tt>/dev/ttySxx</tt> デバイスは完全な POSIX 対応の TTY デバイスです。
あなたが <tt>tty</tt> デバイスだけを使うように設定しているなら、
<tt>/dev/ttySxx</tt> を使うべきです。

  <tt>/dev/cuaXX</tt> デバイスは ２つの点で <tt>/dev/ttySXX</tt> とは
違っています。まず最初に CLOCAL が設定されず、 O_NONBLOCK フラグがデバイスを
オープンするために与えられてなくとも、デバイスをオープンすることができる
ということです。このことは <tt>/dev/ttySxx</tt> デバイスをオープンするために 
POSIXで 義務づけられている (POSIX-mandated ) インターフェースを使わない
プログラムを可能にします。( cu は callout を行い、SunOS に由来します。)

  <tt>/dev/cuaXX</tt> が <tt>/dev/ttySXX</tt> と異なっている２つ目の点は、
それらが使用されていれば、単純化された kernel ベースでのロック機構を作る
という点です。もし <tt>/dev/ttySXX</tt> が複数のプロセスでオープンされたなら、
<tt>/dev/cuaXX</tt> をオープンしようとすると EAGAIN を返します。もし 
<tt>/dev/cuaXX</tt> が複数のプロセスでオープンされたなら、 
<tt>/dev/ttySXX</tt> をオープンしようとすると <tt>/dev/cuaXX</tt> が閉じられ、
carrier detect line が高くなるまで遮断されるということになります。

  これは電話をかけるのにモデムを使っているユーザとログインのために回線
を聞く getty の間で単純なロックアウトをするということなので、たとえば
ダイアルアウトと UUCP を使いたいユーザの場合、ダイアルアウトをするマル
チタイプのプログラムとの間で調整が必要なら、デバイスは動作しません。

  FSSTND が tty ロックファイルを使うために標準の協定を確立する以前に、
私は最初、 <tt>cuaXX/ttySXX</tt> のロックアウトの機構を実行しました。 現在はそ
の協定があるので、ユーザは tty ロックファイルを使うべきで、
<tt>/dev/cuaXX</tt> を使う必要はありません。<tt>/dev/cuaXX</tt> 
がまだなくならないひとつの理由は互換性の問題です。

- Ted

&lsqb;SunOS では、すべては次のように cua* を使うべきです&rsqb;
<verb>
From: Gert Doering &lt;gert@muc.de&gt;
</verb>

  ２つのデバイス体系は、同時に同じ物理的デバイスにアクセスするマルチプ
ロセスを防ぐようになっています。mgetty は O_NDELAY でポートをオープン
するので、kernel は tty* 上(mgetty)のプロセスを見て、cua* (uucico、cu など) 
上にオープンするのを防ぎます。だから、両方のプログラムに対して同じ
デバイス を使わなくてはいけないのです。SunOS ではそれは cua* です。



<!--Subject:  -->
<sect1>トラブル対処 Q &amp; A
<p>
<verb>
From: gert@greenie.muc.de
</verb>

Q: ページを送信した後、+FHNG:50 や +FHNG:54 というエラーコードが出ます。
時々 "page bad, retrain requested" と言われ、そのページを再送します。

A: このエラーは、お使いの端末がページデータを送っている間に、２つのマ
シンの間で故障があることを意味しています。+FHNG:50 あるいは +FHNG:54 
の場合、おそらく一方の端末がハングアップしているか(そうなるとあなたの
モデムは別のページをまったく送ることが出来なくなります)、別の場合だと、
受信機はページにあるデータが不適当であると場合です。

  このようになる最も普通の理由は、pbmplus 配布物に由来する pbmtog3 の
コピーを使ったということです。それは私のパッチには含まれていません(
pbmtog3 プログラムはページヘッダーを必要とします。faxspool にそれぞれ
のページの先頭部分が置かれています)。

  そうでないなら、フローコントロールの問題か、とてもノイズが多い回線を
使っているというような理由です。受信機と連絡を取り、そのページがちゃん
と見えるかどうか、回線に故障がないかどうか、その他関連することを見つけ
ましょう。エラーがなければ、フロー制御の設定を見直しましょう。

  その他のことにエラーがなければ、 pbmtog3 の 私家版をお使いなのでしょ
う (pbm2g3 と言われるもの、あるいは pbmplus のパッチされた版です)。そう
ならばモデムのなかで何か壊れたものがあり、私にはわかりません。あなたの 
ROM バージョンをアップグレードした方がいいでしょう。


Q: ファックスを受信している時、+FCON というメッセージが記録されます。
mgetty は "ファックス受信を開始します" と告げます、fax_wait_for(OK) と
なりますが、記録はめちゃくちゃになり、timeout になって数分後に切断して
しまいます。

A: あなたはたぶんホストに +FCON を送った後19200 bps にボーレートを切替
えるモデムを使っていて、正常に動作するポート速度が別にあるのでしょう。
<tt>policy.h</tt> の FAX_RECEIVE_SWITCHBD が定義されているかどうかを
チェックし、それを定義します (もしモデムが速度を変更しないなら、
その設定はできているので、効果は同じになります)。さらによい方法は、 
<tt>mgetty.config</tt> で、runtime を設定することで、switchbd に &lt;nnn&gt; 
のエントリーを加えることです。


Q: 私は <tt>policy.h</tt> で変更したものを保存しましたが、何も変わりません。
<p>
A: あなたはたぶん <tt>/usr/local/bin/mgetty</tt> に mgetty の古い版を
インストールしたのでしょう。そして <tt>/etc/init?</tt> からこれを呼び出して
いるのではないでしょうか。新しい版では <tt>/usr/local/sbin/mgetty</tt> 
にインストールされます。あなたが コンパイルした mgetty と 
<tt>/etc/inittab</tt> にリストされる mgetty についてタイムスタンプを
チェックしてください。


Q: 私が受信するファックスの半分はあまりに短いのですが、まるですべての
second pixcel line をミスしているように見えます。
<p>
A: はい、それらはたぶん不足しているのでしょう。fine 解像度 
(204x196 dpi)の代わりに、普通の解像度 (204x98 dpi) で受信されています。
ファイルネームを見るとわかります。ff* で始まっているものは fine で、fn* 
で始まっているものは、ノーマルの解像度です。normal 解像度のものを適当な比率に
拡大するには g32pbm -stretch fn... を使います。


Q: login が "utmp エントリーがありません" と言われます。
<p>
A: utmp 部分でうまくいっていないのでしょう。たぶん、<tt>login.config</tt> 
ファイルの設定で <tt>/bin/login</tt> を呼び出すエントリーに関する utmp 部分で、
<tt>-</tt> が書かれてないのでしょう。別の理由は、<tt>/etc/init</tt> 
(Linux のユーザだけに該当しますが) がうまく行っていないか、あるいは 
<tt>/etc/utmp</tt> ファイルが損なわれているのでしょう。このような場合は、
マシンをリブートさせます。



Q: mgetty が動作中に私がダイアルアウトをすると、"CONNECT" しないだけでなく、 
"+FCO"、 "+FTI:"、 "+FHS:20" となります。
<p>
A: mgetty での 2.0 の実行に伴う問題です。すなわち、mgetty が動作してい
る間、モデムは "AT+FCLASS=2.0" モードとなり、リモート側でファックスと接
続するように期待します。(class 2 で われわれは、 +FCLASS=0;+FAA=1 に設
定することでこれを回避しましたが、2.0 ではなく、class 2 ではモデム応答
をするでしょう&lsqb;さらにテストする課題です&rsqb;)。

解決方法：ダイアルアウトするプログラムで、"AT+FCLASS=0" でモデムを初期
化します。たぶん、モデムリセットコマンド (ATZ) でもいいでしょう。



Q: mgetty が始動する時たびに tty デバイスのパーミッションが変更されます。
ダイアルアウトできるように "<tt>chmod +w /dev/ttySx</tt>" をしなければなりま
せん。
<p>
A: それはバグではありません。それが仕様です。あなたはあなたのマシンを
誰でもがダイアルアウト (あなたが払う電話代を考慮して！) できるように望ん
ではいけません。それはセキュリティの問題です。あなたが誰に対してでもダ
イアルアウトを許したいなら、<tt>policy.h</tt> で 
<tt>#define FILE_MODE 0666</tt> にします。それはお勧めではありません。
特定のグループにアクセス権を与え、そしてこのグループにダイアルアウトできる
ユーザを置きます。


Q: 私は Linux システムを使っており、<tt>/dev/cua1</tt> (mgetty は 
<tt>/dev/ttyS1</tt> で動いています) でダイアルアウトをしようとすると、 
"device busy" (EBUSY) と表示されます。
<p>
A: ダイアルインとダイアルアウトには同じデバイスを使いましょう(常時！)
Linux では、<tt>/dev/ttySx</tt> を使い、SunOS と *BSD では 
<tt>/dev/cuax</tt> を使います。


Q: "<tt>gs -sDEVICE=dfaxhigh ...</tt>" でファックスファイルを作成し、それを 
sendfax で送信すれば、すべてはうまくいきます。"faxspool" を通すと、受
信者側ではエラーになります。"g3cat" プログラムが壊れているのでしょうか。
<p>
A: g3cat には問題はありません。本当の問題は "pbmtog3" にあって、インス
トールされた pbmplus 配布物から pbmtog3 を持っているのだと思います。こ
のプログラムは * 壊れて * います。パッチは <tt>mgetty/patches/pbmtog3.p</tt> 
にあります。つまり、pbmtog3 は適当な T.4/G3 ファックスデータを作りません。
したがって、ファックスを受信するマシンは損なわれた行(ページヘッダー)の
あるファックスを受け取ってしまうのでしょう。pbmtog3 にパッチをあてるか、
mgetty の pbm2g3 を使ってください。そのほうがより早く解決するでしょう。



Q: mgetty は FidoNet の電話を受け付けません。ログは次のようになります。

<tscreen><verb>
10/30 01:54:54 ##### data dev=ttyS1, pid=3401, caller=none,
 conn='38400/V32b 14400/V42b', name='', cmd='/bin/login',
 user='**EMSI_INQC816**EMSI_INQC816q.'
</verb></tscreen>
または、
<tscreen><verb>
10/30 05:31:03 ##### data dev=ttyS1, pid=7238, caller=none,
 conn='38400/ZyX  16800/V42b', name='', cmd='/bin/login', user='q.q.q.'
</verb></tscreen>

<p>
A: <tt>-DFIDO</tt> を定義して mgetty をコンパイルしましたか。そのようになってい
ないのではないでしょうか。<tt>-DFIDO</tt> が設定されていないと、mgetty は fido 
を判別できません。



Q: バイナリーロックファイルを使うプログラムと ASCII ロックファイルを使う
プログラムがあります。mgetty はなぜエラーを出すのでしょうか。両方を
認識することはできないのですか
<p>
A: mgetty はシステムのコンフィグレーションが正しくないというエラーを出
すでしょう。このようなエラーメッセージというのは、そのサイト上での *厳
しいコンフィグレーションエラー* を警告してシステム管理者を援助するた
めにあるのです。すべてのプログラムが両方のロックタイプを理解できるな
ら、そのメッセージがおかしいことになるでしょう。しかし、kermit はいつ
も ascii ロックを無視し、uucico は binary ロックを無視するので、状況は 
* 高度な * エラー状態になるので、システム管理者はこれを見なければなり
ません。ロックファイルのタイプがすべて一致するように、モデムを使用する
アプリケーションを再コンパイルしてください。


Q: モデムと私は１本の電話回線を使っています。私が電話を取ると、
モデムが私に答えてしまいます。どのようにしたら megetty に取らせることができ
ますか。
<p>
A: mgetty に SIGUSR1 の信号を送ります。そうすれば、mgetty が電話に応答
します。


Q. １ページしかファックスを送ることができません。
その後はエラーになってしまいます。
<p>
A. このようなログがあるでしょう。

<tscreen><verb>
&gt; 03/22 19:15:58 yS1  fax_wait_for: string 'OK'** found **
&gt; 03/22 19:15:58 yS1  fax_send: 'AT+FET=0'
&gt; 03/22 19:15:58 yS1  fax_wait_for(OK)
&gt; 03/22 19:15:58 yS1  fax_read_byte: read returned 0: Unknown error
&gt; 03/22 19:15:58 yS1  fax_get_line: cannot read byte, return: Unknown error
&gt; 03/22 19:15:58 ##### failed transmitting f1.g3: +FHS:-4, time=55s
</verb></tscreen>

<tt>policy.h</tt> で <tt>FAX_SEND_IGNORE_CARRIER</tt> を定義します。
そしてバイナリを再コンパイルします。 ページごとに DCD line を落としてしまう
モデムがあります。あるいは、コンフィグファイルで ''
<tt>ignore-carrier true</tt>''を定義します。


Q: mgetty のログファイルに、
"WARING 警告: DSR が off です - モデムがオフになっているか、
ケーブルがよくないのでは？ " というメッセージがずっと記録されるのですが。
<p>
A: こういうメッセージがあるなら、それは基本的に mgetty は dsr (data set 
ready) の状態になっていないということです。ケーブルが悪いか、Solaris で 
mgetty を使っているからです。Solaris は dsr 状態にできません。mgetty 
を違ったプラットフォームで動かしているなら、ケーブルあるいはモデムの設
定をチェックした方がいいでしょう。



<!--Subject: -->
<sect1>
プログラムが sendfax に対して G3 フォーマットに変換できない 
"無効な" ポストスクリプトを作ります。
<p>
<verb>
From: Gert Doering &lt;gert@greenie.muc.de&gt;
</verb>

  "無効な"ポストスクリプトを作るプログラムのリストは次のものです。
(Goastscript に不適切なラインの幅で G3 ファイルを作る原因になり、
sendfax に失敗させる原因になります)。

<itemize>
<item>FrameMaker 4.0
<item>WinWord (dunno which version)
<item>dvipsk 5.58f 
</itemize>

<verb>
Gert Doering wrote on Sun, 22 Dec 1996 00:26:55 +0100 in message
   &lt;m0vbaoh-0004B5C@greenie.muc.de&gt;:
</verb>

  おもしろいことに、今日、私は dvipsk 5.58f を試してみました。それはこ
のような良くない "setpagedevice" のどんなコマンドも出しません。このよ
うな結果から、出来上がったポストスクリプトは正しいページサイズを作りま
す。たぶん dvips プログラムを最新のものにアップグレードすれば解決する
でしょう。

  サポートされている *正確な* 紙のサイズが何なのかを *ghostscript* に
伝えてやる必要があります。(A4 の場合 --- "gs -sPAPERSIZE=a4" と明記す
ることで、 dvips が "a4" も同様に使えるようになるのを確かめないといけ
ません。

  たとえ十分ではないとしても( 違ったプログラムで違った紙サイズの間で不
思議な相互作用があることもあります)、G3 ファイルを "g3cat" (mgetty
 0.99 から、96 年以降の版) あるいは "g32pbm badfile.g3 | pbm2g3
&gt;goodfile.g3" で作成している人もあります。後者は明らかに助けになります。



<!--Subject:  -->
<sect1>ROM をアップグレードしたら、My ZyXEL が正しく動きません。
何が悪いのでしょうか。
<p>
<verb>
From: felix@escape.vsse.in-berlin.de
</verb>

  ファームウェアを更新したら、モデムをフルリセットします。この件は 
ZyXEL のドイツ語版マニュアルには書いてありませんが (英語には記述されて
ますか？)、いずれにせよリセットしてください。



<!--Subject: -->
<sect1>時々 "<tt>tcsetattr failed: I/O error</tt>" というメッセージが
出るのですがなぜですか。
<p>
<verb>
From: gert@greenie.muc.de
</verb>

Q: 時々、たいていはユーザがログアウトした後に (すなわち、ハングアップす
るかわりにユーザが exit と入力した場合)、mgetty のログファイルに次のよ
うなメッセージが記録されます。

<tscreen><verb>
09/08 21:26:26 yS2  lowering DTR to reset Modem
09/08 21:26:27 yS2  tcsetattr failed: I/O error
</verb></tscreen>

そして、syslog には I/O error メッセージが記録されているのですが。

A: これは Linux と SunOS での特有の問題です。mgtty がスタートした時に、
すでにモデムがリモートと接続状態の場合には、mgetty は DTR を下げること
によって (そして、DTR 切断が十分でないと +++ATH を送って) 強制的にハン
グアップさせます。これはモデムに DCD (carrier detect) を下げさせること
になります。残念なことに、これは Linux kernel においてセキュリティ機構
の誘引になります。その機構はデスクリプタを通じての、それ以降のアクセス
を拒否します。これはよく知られたパスワードハック (詳細に説明したくはあ
りませんが) を防ぐためです。

  モデム初期化中に起こるエラーを告知するという問題について、mgetty は
単純にポートを再度オープンし、そして、モデムとポートをすべて再実行しま
す。
  なぜならエラーメッセージはミスしていることになり、出し続けますが、害
はありません (.......もう一度試してください)。

(訳注)
file descriptor： デバイスファイルや通常ファイルに対して open 操作
などを行ったときにシステムから割り当てられる識別子です。


<!--Subject: -->
<sect1>mgetty は実際にはいつ動作するのですか？
(すなわち、mgetty は何をコントロールできるのですか？)
<p>
<verb>
From: Klaus Lichtenwalder &lt;Lichtenwalder@ACM.org&gt;
</verb>

  mgetty はどんな時に回線上での制御をしているのですか。mgetty の 一生
はどんなものかを考えてみましょう。いつでも (たとえばシステムをブートす
ると、init は 記述された run level を参照し、mgetty を始動します) コン
トロールしなければならないデバイス上のロックファイルをチェックします。
もしロックファイルがないなら、モデムを初期化し、その回線上に待機します。
キャラクターが届くと、mgetty は読むことはできませんが、最初にロック
ファイルをチェックします。

  ロックファイルが存在すれば、mgetty はだれかある人やあるものがダイア
ルアウトをしたいなら、定期的にロックファイルの存在をチェックします。ロッ
クファイルが消失後、デバイスはフリーになり、mgetty は存在するだけにな
ります。init によって再始動され、モデム回線は再初期化されます。

  ロックファイルが存在しないと、モデムは RING を送ります。そこで、われ
われは予期した言葉 ( = RING) をチェックし、われわれの answer_chat を送
ります。もしそれが ファックス電話(そしてモデムがファックスを受信するこ
とができて、それらを受信できるようになっているなら)我々はページを得、
保存し、そして完了し、それから上述のように mgetty を再始動します。もし
それがデータ接続電話 (私はいま DISTINGIVE_RING と Caller_ID のことは無
視していますが) なら、われわれはログインに進み、応答に対して待機します。
答えが読まれると、login.config ファイルとの対照をチェックし、適切なプ
ログラムがmgetty によって実行状態になります。mgetty はその回線にはいな
いということです。接続の終了後、他のプロセスが存在すれば、mgetty は 
init によって再始動します。



<!--Subject: -->
<sect1>回線切断後にユーザシェルが kill されません。
<p>
<verb>
From: Gert Doering &lt;gert@greenie.muc.de&gt;
</verb>

<!--
&gt; why doesn't mgetty kill the user's shell when the user just hangs up
&gt; the modem, without doing 'logout'? &lsqb;Mod: or the line simply crashes&rsqb;
-->

  ユーザがモデムをハングさせ正常に logout しない時、mgetty はなぜユーザ
シェルを kill しないのですか。 &lsqb;Mod: あるいは簡単にクラッシュする&rsqb;

  mgetty がどうしてユーザシェルを kill できるでしょうか。ユーザがログ
インしている間、mgetty は * 動作していない * のです。

  kernel は DCD がモデムドロップ上にある時、SIGHUP シグナルを経由して
シェルに合図します。そのとき、シェルは存在しますが、init は mgetty を
再始動します。不運にも、 BASH シェルは多くのバージョンで壊れ、SIGHUP 
シグナルを無視するので、exit しないというのがひとつの理由です。

  別の理由はモデム設定(AT&amp;C0)が不適当な場合です。モデムが起動するとき、
恐らく DCDラインを下げているか (モデムのマニュアルをチェックし
てください) シリアルケーブルが正常 (テストするために別のケーブルと交換
してみてください) かを確かめてください。



<!--Subject: -->
<sect1>AutoPPP が "who" リストを表示します。
<p>
<verb>
From: Gert Doering &lt;gert@greenie.muc.de&gt;
</verb>

  自動で ppp 接続をするために /AutoPPP/ オプションを使っているなら、
who リストでユーザネームは表示しません。かわりに AutoPPP や ppp のよう
な何かが表示されます。解決方法： pppd にパッチをしなくてはいけません。
これは mgetty の問題ではなく、mgetty にパッチをすることで解決できませ
ん。pppd にパッチをしているなら、これをどのように動作させるかというこ
とです。<tt>lonig.config</tt> で pppd に login オプションを与えます。
login.config のなかの/AutoPPP/ に関する行の３つ目の項目を "-"に変更し
ます(例では a_ppp あるいは ppp となっています)。


<!--###################### section 3 ###################################-->

<!--Subject: -->
<sect>Part 3: 互換性の問題
<p>

<!--
Subject: Suspicious fax machines
From: hm@ix.de (Harald Milz)
-->

<!--Subject:  -->
<sect1>問題のあるファックスマシン
<p>
<verb>
From: hm@ix.de (Harald Milz)
</verb>

  問題のあるファックスマシンについてデータを集めています。次のものは、 
sendfax と一緒に使うことで問題を起こしたものです。sendfax かお使いのファッ
クスモデムのどちらか、あるいは両者を一緒に使えないファックスマシンがあ
るかどうかを見つけ出すのが主な理由です。この目的はバグをなくすことです。

次の項目に書き入れて私宛(hm@ix.de)に送ってください。

<enum>
<item>&lt;ファックスマシンの種類と型&gt;
<item>&lt; FAX 番号 &gt; (オプション)
<item>&lt;ファックスモデムの種類と型&gt;
<item>&lt;ファックスモデムのファームウェアのバージョン&gt;      # tbd from ATI1
<item>&lt;プロトコルパラメータ&gt;		# tbd from Faxlog
<item>&lt; Faxlog のエラー記録&gt;		# tbd from Faxlog
<item>&lt;注意点&gt;
</enum>

  あなたがファックスマシンで問題にであったら、受信側の人に連絡して、そ
の方々がご自分のマシンをよテストすることに喜んで応じてくれるなら、その
人たちのファックスマシンの種類と型を尋ねてください。

  より正確なあなたのデータ(アンケートの最初の３項目はそれほどよくあり
ませんが)よりよい結果を生み出すでしょうし、歓迎します。

  このリストはこの１月の間に(自動的に)ポストされたものです。そして５つ
の新しいものが加えられています(手動です)。

<enum>
<item>Panasonic Panafax UF311
<item>+49 89 74824899
<item>ZyXEL U1496EG+
<item>U1496EG V 6.10g P
<item>+FDCS:1,3,0,2,0,0,0,4
<item>+FHNG:50 (Unspecified Transmit Phase D error)
<item>when sending 15 pg, connection broke after 6 pg. 
</enum>

<enum>
<item>NEC Nefax 17
<item>+49 2242 82114
<item>ZyXEL U1496EG+
<item>U1496EG V 6.10g P
<item>+FDCS:1,3,0,2,1,0,0,4
<item>+FHNG:50 (Unspecified Transmit Phase D error)
<item>machine didn't refuse when sending only 3 pages
   earlier. This time, 15 pg were sent.
</enum>

<enum>
<item>Telekom AF-310
<item>+49 7231 560851
<item>ZyXEL U1496 E / 6.10a, E+ / 6.01, E+ / 6.11a
<item> 
<item>+FDCS:1,3,0,2,0,0,0,4
<item>+FTPS:2 -&gt; page bad, retrain requested
<item>
<verb>
sendfax hangs up after three tries.
received fax shows black and white boxes at the
footer, such as,
###   ###   ###   ###   ###
###   ###   ###   ###   ###  ...
###   ###   ###   ###   ###
</verb>
</enum>


<!--################### section 4 #######################################-->


<!--Subject: -->
<sect>Part 4: vgetty をコンパイル、インストールし使用する
<p>


<!--Subject:  -->
<sect1>vgetty をコンパイルする
<p>
<verb>
From: Marc Eberhard &lt;marc@poseidon.thphy.uni-duesseldorf.de&gt;,
      Klaus Lichtenwalder &lt;Lichtenwalder@ACM.org&gt;
</verb>

  コンパイルするために (たとえば、<tt>policy.h-dist</tt> を <tt>policy.h</tt> 
としてコピーし、そのファイルを編集する) mgetty を設定した後、<tt>voice</tt> 
デイレクトリに移動し、<tt>make</tt> と入力します。インストール (make install) 
は <tt>voice.conf-dist</tt> を <tt>voice.conf</tt> として mgetty の
コンフィグレーションディレクトリ (通常は 
<tt>/usr/local/etc/mgetty+sendfax</tt> です) にコピーします。
<tt>voice.conf</tt> のコメントにしたがって編集します。


<!--Subject: -->
<sect1>US Robotics の voice フォーマットコンバータ
<p>
<verb>
From: Scott Hutton &lt;shutton@indiana.edu&gt;
</verb>

  <tt>voice</tt> の下の <tt>pvftools</tt> というディレクトリに私が書いた "
<tt>extract_gsm</tt>" と呼ばれるスクリプトがあります。それは US Robotics の "
rmd" ファイルから GSM データを取り出します。いったんあなたがそれを持てば、
そして <tt>.gsm</tt> ファイルを <tt>.au</tt> (あるいは他のフォーマット) 
に変換できる "sox" 版を持てば、あなたは仕事ができます。

少し探して sox に必要なパッチを見つけました。
http://kbs.cs.tu-berlin.de/~jutta/toast.html

  sox パッチを当てようとする前に GSM ライブラリが必要になるでしょう。
sox は GSM をサポートをしていないのであまりよくありません。GSM は何か
他のものを持たないといけないようです。

  また、Thomas Hellstroem (thomas@vtd.volvo.se) は GSM データを取り出す 
C プログラムを持っており、 彼のページの rmd ファイルに GSM データを梱
包したものを出しています。不運にも私はこの URL を記録していませんが。

<verb>
 -Scott Hutton, UCS Messaging Team, Indiana Univeristy
</verb>

<sect>日本語訳について
<p>

日本語訳：中谷千絵 jeanne@mbox.kyoto-inet.or.jp
03 June 1997

日本語訳についての問い合わせは
jeanne@mbox.kyoto-inet.or.jp

日本語訳は Linux-JF プロジェクトの次の方々から
多くのご助言を頂きました。ありがとうございます。

<tscreen><verb>
こじまさん kojima@criepi.denken.or.jp
花高さん   hanataka@abyss.rim.or.jp
Hiro Sugawara さん hiro@arkusa.com
山崎さん hiro@koneeko.linux.or.jp
岡本さん ikko-@pacific.rim.or.jp
中野さん nakano@apm.seikei.ac.jp
川島さん kei@sm.sony.co.jp
</verb></tscreen>
</article>
