« coLinux 讓 Windows 與 Linux 和平共存 | 首頁 | 傳統吸水拖把使用心得 »

2005年03月25日

使用 mgetty 建立 Linux Fax Server

Windows Fax Server 是一套功能完整又好用的傳真伺服軟體, 只要接上含 Fax 功能的數據機 (或數據卡), 從接收傳真、儲存傳真圖檔到列印傳真資料一氣呵成, 而且還可以分享傳真功能, 讓 Windows Client 以列印的方式達到傳真的目的.

其實 Linux 也可以達到一樣的功能, 只不過設定的手續繁複了些, 且需搭配支援 Linux 的數據機才行.

以下僅介紹接收傳真的部份, 其餘 Fax Server 功能請利用 Google 爬文, 謝謝! ( 因為在下還沒參透 ^^' )

範例環境: Fedora Core 3, GVC SF-1156V/R21 外接式數據機

Step 1: 確認數據機是否支援 Linux

這個網頁可以查詢你的數據機能否在 Linux 環境中使用

Step 2: 安裝相關套件

ckermit 可連入數據機操作 AT 指令
mgetty 接收傳真資料的軟體
mgetty-sendfax 提供相關 fax in / out 處理功能
netpbm 圖檔格式函數庫
netbpm-progs 提供圖檔格式轉換工具

Step 3: 測試數據機

Linux 環境中, COM1 是 /dev/ttyS0, COM2 是 /dev/ttyS1, 以下以數據機接入 COM1 port 為例:

#kermit
C-Kermit>set line /dev/ttyS0
C-Kermit>set speed 19200
C-Kermit>set carrier-watch off
C-Kermit>c
--- 接著會出現一串說明, 以下即可輸入 AT 指令進行測試 ---
ATI6 (顯示數據機所使用的晶片型號及版本)
RCV56DPF-PLL L8571A Rev 19.00/19.00
OK
ATD28825252 (撥號到 28825252)

欲結束數據機操作, 先按 Ctrl + \ 放開後再按 C 即可回到 C-Kermit 提示符號
欲離開 C-Kermit 提示符號, 輸入 exit 即可

更多的 AT 指令請參考這個網頁

Step 4: 修改相關設定檔

修改 /etc/mgetty+sendfax/mgetty.config:

fax-id 886 2 28825252 (您的傳真號碼)
speed 19200 (設太高傳真到一半會斷線)
fax-owner root
fax-group root
fax-mode 0640
(以上這三個去掉 # 註解符號, 並將 fax-group 改為 root)

修改 /etc/inittab:

加入 S1:2345:respawn:/sbin/mgetty -n 3 ttyS0
其中, -n 3 表示響鈴三聲即接聽, ttyS0 表示 modem 接在 COM1

reboot 後即自動啟動 mgetty

Step 5: 處理 fax-in 資料

傳入的資料會放置在 /var/spool/fax/incoming (若未安裝 mgetty-sendfax 則會置於 /tmp)

將傳入資料轉成圖檔:
#g32pbm < fax-in檔名 | pnmtotiff > fax.tif

將傳入資料轉成圖檔 (並調整圖形尺寸):
#g32pbm < fax-in檔名 | pnmscale -width 1687 -height 2292 | pnmtotiff > fax.tif

輸入 pnmto 連按兩次 Tab 鍵可得知所有可轉出的圖形格式

 

參考資料:

Posted by Jamyy at 2005年03月25日 12:35

Trackback Pings

TrackBack URL for this entry:
http://cha.homeip.net/cgi-bin/mt/mt-tb.cgi/62