ここでは、Linuxmaniaマシンを使ってFAXモデムマシンとして使うための手順を
説明しています。上級者向けです。
まず、# lspci コマンドでモデムCHIPを特定します。
(11c1:044c、Lucent Technology製のようなメッセージを確認します。
# martian ドライバを用意
*http://martian.barrelsoutofbond.org/
*http://www.barrelsoutofbond.org/downloads/martian/martian-full-20080617.tar.gz
* (ビルドは普通に make all でOK)
# dkms、dkms.conf を用意 する必要があります。(dkms パッケージはUbuntu公式リポジトリに収録されています。
モジュールを各カーネルに合わせて簡易な形でビルドを行うためのパッケージです)
* [dkms.conf (Ubuntu9.04用)]
PACKAGE_NAME="martian-full" PACKAGE_VERSION="20080625" BUILT_MODULE_NAME="martian_dev" BUILT_MODULE_LOCATION="kmodule" DEST_MODULE_LOCATION="/extra" MODULES_CONF_ALIAS_TYPE="ttySM" MAKE="make all KERNDIR=/lib/modules/$kernelver SYSSRC=$kernel_source_dir" CLEAN="make clean" REMAKE_INITRD="yes" AUTOINSTALL="yes"
i. /usr/src 下に martian ソースを展開
ii. martian ソースディレクトリ下に dkms.conf をコピー
iii. dkms add、dkms build、dkms install コマンドを実行
# martian_modem のインストール
i. martian_modem を make all、make install
ii. martian スクリプトを /etc/init.d 下にコピー、sysv-rc-conf でサービス登録しておきます。
以下のように、マシンが起動すれば、自動的にモデム認識させます。
$ sudo cp -p /usr/src/martin-full-200806??/scripts/martin /etc/init.d $ sudo sysv-rc-conf --level 2345 martin on
i) efax(CUI)、efax-gtk(GUI) のインストール をします。
$ sudo apt-get install efax efax-gtk
ii) efax-gtk の設定
* [File]→[Settings] で設定
* [Identity] 自分の名前と電話番号を設定
* [Modem]
o [Serial Device] に 「ttySM0」
o [Modem Class] を 「Class 1」
o [Dial Mode] を トーン回線なら「Tone」、パルス回線なら「Pulse」
* [Logging] で [Log File] を設定 (ホームディレクトリ下に作られる)
* ※事前に/dev/ttySM0を efax-gtkのユーザが読み書き可能な状態にしておく必要があります。
i) efax(CUI) の設定を行います。
a) /etc/efax.rc を編集します。
DEV=ttySM0 # モデムデバイス名 FROM="+81 1 2345 6789" # 自分の電話番号 NAME="John Doe" # 自分の名前 DIALPREFIX="T" # トーン回線なら「T」、パルス回線なら「P」 TELCVT='sed -e s/+81/0/' # 国際局番を日本の局番に修正 CLASSINIT="-o1" # CLASS1モデムであることを明示的に指定 CONSOLE=$LOG/efax-console.log # コンソールログをログファイルに記録 ANSFNAME="%Y%m%d-%H%M%S" # 受信ファイル名に年も含める FAXMGR=efax # 受信通知メールを受け取るアカウント # FAXMGR="faxadmin@example.co.jp" # 電子メールで通知する場合 # SMTPSERVER="mail.example.co.jp:25" # 外部メールサーバを利用する場合 NOTIFY=〜 # FAX受信時に実行するコマンド。(FAX受信時に変数の内容が eval される) ANSRINGS=1 # 何回ベルが鳴ったらFAXを受信開始するか OWNER="efax.dialout" # OWNERを指定すると、モデムデバイスを 所有者変更chown する MODE="660" # MODE を指定すると、モデムデバイスを chmodする
ii) モデムポートで efax を24時間待ち受けさせます。
a) /etc/event.d/ttySM0 ファイルを作成する。
* [/etc/event.d/ttySM0]
# ttySM0 - fax answer #
# This service maintains a getty on ttySM0 from the point the system is # started until it is shut down again. start on stopped rc2 start on stopped rc3 start on stopped rc4 start on stopped rc5 stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn exec fax answer
* ※inittab で respawn 設定するのと同様の意味を持ちます。
iii)FAX受信時にメールで通知をする場合は以下を行います。
a) メールサーバとして masqmail、メールクライアントとして heirloom-mailx を
インストールします。
$ sudo apt-get install masqmail heirloom-mailx
* ※masqmail は難しい設定が不要なローカル専用MTAで、sendmail の代わりに使えます。
* ※heirloom-mailx は外部のメールサーバと直接交信できるmailx コマンドです。
/etc/masqmail/masqmail.conf の alias_file 行、およびalias_local_caseless 行を
コメントアウト。
b) /etc/efax.rc のNOTIFY 行を変更して、受信したFAXをPDFファイルとしてメールに
添付する設定をします。
NOTIFY='PAGES=`for i in $FILES;do if [ -r "$i" ];then echo -n "$i ";fi; done`; for p in $PAGES; do efix -o ps $p | ps2pdf - "/tmp/$p.pdf" ; done; USESMTP=`if [ -n "$SMTPSERVER" ]; then echo "-S smtp=$SMTPSERVER "; fi`; ATTACH=`for p in $PAGES; do echo -n "-a /tmp/$p.pdf "; done`; mailx -s "fax/message from $REMID:$PAGES" $ATTACH $USESMTP $FAXMGR < $f; for p in $PAGES; do rm -f "/tmp/$p.pdf"; done'
以下にFAXサービスの運用方法についてお話します。
以下はコマンドベースを中心にお話しますが、efax-gtk というグラフィカルツールがありますので、
比較的簡単に操作可能です。
a)FAXがかかって来た時に受信対応するには以下のコマンドでサービスを
起動しておくことが必要です。
$ sudo fax start
b)受信サービスを停止するのは以下のコマンドです。
$ sudo fax stop
c)FAX送信は以下以下のように行います。
送信するファイルはPostScript形式ではなければなりません。
[参考]PDFファイルをPostScript形式に変換する方法
AdobeReader と poppler-data パッケージが必要です。
$ sudo apt-get install poppler-data でインストールし、 $ pdftops test.pdf でファイル形式変換します。 $ sudo fax send 0332670594 AA.ps
電話番号をハイフンなしで指定し、半角スペースをあけて送信ファイル名を指定します。
[注意]FAX送信コマンドするときには受信サービスをfax stopで停止しなければなりません。
送信完了後、fax startによる受信サービスを再開します。