FAXモデム(USBタイプ)をUbuntu(LinuxMint)で認識!FAXサーバー構築 | 世界的日曜WEBプログラマー日記

世界的日曜WEBプログラマー日記

一年後に世界的なWEBサービスを運営するにはどうすればいいのか書いていく(予定)

弁当宅配ショップを運営しているけど、ここでは店舗さんにFAXを自動送信している。
今回、FAX送信サーバーを作るために使ったPCM-UBAM1-Kをどうやって認識させるか、その戦いのログを残します。

Fax送受信
FaxモデムPCM-UBAM1-KでLinux Mint( Ubuntu 12.04相当の環境)からFaxの送受信を行う。
本モデムはLinux対応とあって楽勝モードかと思いきや、差し込んだだけでは認識しない。(lsusbでは認識しているけど、ドライバーが当たっていない状況)本家のサイトよりLinuxドライバーを当てる必要がある。

ちなみに以前試したラトックシステム USB 56K DATA/14.4K FAX MODEM REX-USB56
はUbuntu12.04で差し込んだだけで一発起動した。ただ5000-6000円と高い。。今回のは2000円程度なので大変だったのかな。とほほ。


今回購入したモデムは次のモデム
TSdrena 超小型 USB接続 56k アナログ回線接続 FAX/DATE(14.4K) モデム PCM-UBAM1-K
USBタイプのモデム
事前にHylafaxなどのFaxサーバーをインストールすること。efaxとHylafaxどちらでもいいが、経験上Hylafaxのほうが圧倒的にいい。

1. ダウンロードdebファイル(ドライバーダウンロード)

http://www.linuxant.com/drivers/dgc/downloads.php
より、Debian向けのパッケージをダウンロードし、
$ dpkg -i install

すると…エラー!!ショック。ログを見るとどうやらasm/system.hというファイルが見つからないみたい。
ここから戦いが始まった。以下、戦いのログ(どうヤッたらインストールできたか)を記します。

0. 移動

$ cd /usr/lib/dgcmodem/modules/GPL/
1.oscompat.hを編集してasm/system.hをコメントアウト
//#include <asm/system.h>

2.mod_dgcusbdcp.cを開く
場所は/usr/lib/dgcmodem/modules/mod_dgcusbdcp.c
//static spinlock_t dgcusbdcp_lock = SPIN_LOCK_UNLOCKED; // <= comment out
static DEFINE_SPINLOCK(dgcusbdcp_lock); // <= 代わりにこれを追加する

3.osdcp.cの編集
場所は/usr/lib/dgcmodem/modules/
//static spinlock_t dcp_lock = SPIN_LOCK_UNLOCKED; // ⇐ comment out!
static DEFINE_SPINLOCK(dcp_lock); // ⇐ 代わりにこれを追加する

TOUCH_ATIMEをコメントアウト // 205行目付近
//TOUCH_ATIME(file);
4. mod_dgcusbdcp.cの編集
場所は/usr/lib/dgcmodem/modules/
err( “...” );
という関数名をすべてコメントアウト.(errで検索して見つけて下さい)
5.最後にコマンド
$ sudo dgcconfig


これでインストールができた。
cat /tmp/dgcconfig-buildlog.txt
をみながら解析した。お疲れ様でした。

株式会社OctOpt
コンピューターサイエンス会社OctOptの技術公式ブログ
等々力 康弘
@rocky_house