Raspberry Pi (Raspbian)でFAX送受信環境を構築する

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

Raspberry PiのRaspbian上でFAXサーバーを動かしてFAXの送受信環境を構築する。
サーバープログラムにはHylaFAXを使用します。

必要な環境

執筆時の環境

Raspberry Pi 3にRASPBIAN JESSIE WITH PIXEL (Kernel 4.4)導入済みで、モデムはPLANEX PL-US56Kを使用しました。

設定方法

モデムのドライバを読み込む

まずvender-idとproduct-idを取得する。


lsusb
...
Bus 001 Device 004: ID 2019:ab27 PLANEX
...

今回の場合、2019がvender-idでab27がproduct-id(PLANEX PL-US56Kの場合同じになるはず)。
この値を使ってドライバを起動するために以下のように入力する。


sudo modprobe usbserial vendor=0x2019 product=0xab27

でたぶんttyUSB0として認識する。
末尾の数字は変わる場合があり、


ls -l /dev/ttyUSB*

で確認できる。

ドライバをOS起動時に自動で読み込む設定


sudo vim /etc/rc.local

rc.localのexit 0の手前に以下の行を追加する(必要に応じてvender-idとproduct-idを変更する)。


modprobe usbserial vendor=0x2019 product=0xab27

HylaFAXをインストール


sudo apt-get install hylafax-server

インストールはこれだけ。

HylaFAXの初期設定


sudo faxsetup

対話式でいろいろ聞かれるが、以下の項目以外はデフォルト(何も入力せずEnter)でOK
Serial port that modem is connected to [ttyS0]? ttyUSB0(モデムのデバイス名)
Country code [1]? 81(国番号: 日本は81)
Area code [415]? 3(頭の0を除いた市外局番: 東京[03]の場合3)
Phone number of fax modem [+1.999.555.1212]? +81.3.0000.0000(FAXの電話番号)
Local identification string (for TSI/CIG) ["NothingSetup"]? "Name"(送信者の名前)
Long distance dialing prefix [1]? 0(国内電話発信番号: 日本の場合0)
International dialing prefix [010]? 010(国際電話発信番号: 日本の場合010)
Rings to wait before answering [1]? 10(電話を受けるまでのコール数)
Tag line format string ["From %%l|%c|Page %%P of %%T"]? "From\ %%l|%F\ %T\ %Z|Page\ %%P\ of\ %%T"(FAX最上部のフォーマット: デフォルトだと日本語の時刻が文字化けするため厳密に定義する)

※もし入力を間違えた場合
The non-default server configuration parameters are:(デフォルト以外のパラメータ一覧)
で確認できるので直後の
Are these ok [yes]?
にnoと入力すれば再度入力できる。

Do you want to run faxaddmodem to configure another modem [yes]? no(yesにするとさらに別のモデムを設定する)

いったんrebootコマンドなどでOSを再起動。

用紙サイズの設定を確認する。


vim /etc/hylafax/pagesizes

default                 A4      9921    14031   9255    13207   472     345

となっていればOK

Fax用のユーザーを作成する。


sudo faxadduser -p [パスワード] [ユーザー名]

FAX送信テスト


sendfax -n -d [送信先電話番号] [送信ファイル(txtやpdfなど)]

これでFAXが送信されるはず。

メール通知設定

Faxを受信したら自動でメールにpdfを添付して送信するように設定する。
Raspberry Piからメールが送信できるようになっている必要がある。 [Gmailサーバーをリレーしてメール送信できるように設定する方法]


sudo vim /var/spool/hylafax/etc/FaxDispatch

FILETYPE=pdf;
SENDTO=[送信先メールアドレス];
FROMADDR=[送信元メールアドレス];

まとめ

これでFaxのメールでの受信と、クライアントソフトを使用するかRaspberry PiのコマンドラインからFaxを送信できるようになります。
次の記事で、メールを送信するだけでFaxを送信できるようにしました。

追記

/etc/hylafax/config.ttyUSB0(モデム名) にあるファイルを編集すると設定が変更できる。

参考

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメント

  1. なると より:

    お世話になります。
    linuxの知識もなく、ただ好奇心だけでraspberrypiを買って、MyDns.jpへの
    自動更新機とかしていたのを、あるきっかけで、FAX受信をさせようと思いこのページにたどり着きました。

    コマンドもよくわからず、その都度ググりながら、ほぼコピペで記載の通り手順を踏んでいきましたら、なんとか受信&PDF添付のメール通知まで出来るようになりました。

    しかし、「FAX送信テスト」に記載されているコマンドを実行したときに以下のエラーメッセージ出て、上手く動きません。

    Malformed (null) sender name or mail address

    これは、どういう意味でしょうか?

    最終的には、こちらからメールをラズパイに投げて、それをFAX送信したいと思っていますが、2,3か所分からないところがあります。

    申し訳ありませんが、ヒント程度でもご助言いただけると幸いです。

    どうかよろしくお願いいたします。

  2. Ayame より:

    コメントありがとうございます。遅くなってしまいごめんなさい。
    おそらくFax用ユーザーが正常に作れていないのではないかと思います。Linux側でユーザーアカウントを作ってみるとどうでしょうか。

    1. なると より:

      お世話になります。

      返信遅くなりました。結果報告です。

      RaspberryPi側(OS側)のfaxuserを削除しして再登録したり、HylaFAXのユーザーを削除&再登録したりして試行錯誤しているうちになんとなく出来てしまいました。

      これかなぁ~と思う変更は、OS側のfaxuserの権限をデフォルトのpiの権限と同じにしたことと、cat /var/spool/hylafax/etc/hosts.hfaxd で中身を見たところ、パスワードが空欄になっていたので、ユーザー削除と再登録したところ、ユーザーとパスワードが上記ファイルに記載されたことです。

      グループ権限はpiと同じは拙いだろうと思い、要らなさそうな権限を外して、たしか(sudo,adm,pi)ぐらいに絞ったところエラーが出たので、慌ててpiと同じ状態に戻し、念のため、HylaFAXのユーザーの再登録したところで、メール送信できるようになりました。

      原因特定にいたるような情報ではありませんが、何かの一助になればと思いご報告します。
      ご返答ありがとうございました。

コメントを残す


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)