「Zaptel-1.2の問題点」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(PcfLuglvYaHTiFtc)
(122.1.17.176 (会話) による編集を Takahashi による版へと差し戻しました。)
1行目: 1行目:
BA9DqA <a href="http://ypagldsgbokv.com/">ypagldsgbokv</a>, [url=http://lanjkzreglyl.com/]lanjkzreglyl[/url], [link=http://quikvspgmjec.com/]quikvspgmjec[/link], http://vcbfshwzqpif.com/
+
[[Category:Asterisk]]
 +
[[Category:Zaptel]]
 +
[[Category:パッチ]]
 +
 mixさんのご指摘で判明しましたが、zaptel-1.2系は日本向けの処理部分のチェックがなされておらず、CFLAGSに-DJAPANを付けるとコンパイルが通りません。<br>
 +
 とりあえずの逃げとしては、-DJAPANを付けないでコンパイルしてください。<br>
 +
 原因については、一応、ソースを追ってみたところ、どうも従来のwcfxo部分をwctdmで吸収しなおしたようなのですが、これが日本対応部分の変更を忘れているようで以下の方法で修正すれば-DJAPANを付けてコンパイルが通ります。ただし、実際の挙動についてはまだ検証していませんのでご注意ください。皆さんからの、ご報告をお待ちしております。<br>
 +
 
 +
-----wctdm.c
 +
325行目付近
 +
                          int battery;
 +
                        int lastpol;
 +
                        int polarity;
 +
                        int polaritydebounce;
 +
#ifdef JAPAN                                <--+
 +
                        int ohdebounce;          | 追加
 +
  #endif                                      <--+
 +
                } fxo;
 +
907行目付近
 +
                        wc->mod[card].fxo.battery = 0;
 +
#ifdef        JAPAN
 +
                        if ((!wc->mod[card].fxo.ohdebounce) && wc->mod[card].fxo.offhook) {
 +
                          (この行を修正する)
 +
-----wctdm24xxp.c
 +
343行目付近
 +
                            int polaritydebounce;
 +
#ifdef JAPAN                              <--+
 +
                        int ohdebounce;      | 追加
 +
#endif                                    <--+
 +
                } fxo;
 +
1140行目付近
 +
#ifdef  JAPAN
 +
                        if ((!wc->mods[card].fxo.ohdebounce) && wc->mods[card].fxo.offhook) {
 +
                            (この行を修正する)
 +
 
 +
 
 +
==zaptel-1.2.2 の -DJAPAN 対応パッチ==
 +
zaptel-1.2のソースコードの修正と Makefile の -DJAPAN の追加を patch ファイル [ftp://ftp.voip-info.jp/zaptel/zaptel-1.2.2_japan.patch.gz zaptel-1.2.2_japan.patch.gz] にまとめました。
 +
パッチの当て方は、次の通りです。<br>
 +
1) どこか適当なディレクトリ (たとえば、/usr/src) で zaptel-1.2.2.tar.gz を解凍
 +
cd /usr/src
 +
tar xzf zaptel-1.2.2.tar.gz2) zaptel-1.2.2 のディレクトリに移動
 +
 +
cd zaptel-1.2.23) パッチ zaptel-1.2.2_japan.patch.gz を当てる
 +
 
 +
gunzip (パス)/zaptel-1.2.2_japan.patch.gz
 +
patch -p1 < (パス)/zaptel-1.2.2_japan.patch
 +
または、
 +
zcat (パス)/zaptel-1.2.2_japan.patch.gz | patch -p1
 +
*(注) (パス) の部分は、patch ファイルが置かれたディレクトリを指定します。
 +
あとは、普通に make します。
 +
  make linux26 (Linux kernel version 2.6.x の場合)

2010年5月28日 (金) 22:46時点における版

 mixさんのご指摘で判明しましたが、zaptel-1.2系は日本向けの処理部分のチェックがなされておらず、CFLAGSに-DJAPANを付けるとコンパイルが通りません。
 とりあえずの逃げとしては、-DJAPANを付けないでコンパイルしてください。
 原因については、一応、ソースを追ってみたところ、どうも従来のwcfxo部分をwctdmで吸収しなおしたようなのですが、これが日本対応部分の変更を忘れているようで以下の方法で修正すれば-DJAPANを付けてコンパイルが通ります。ただし、実際の挙動についてはまだ検証していませんのでご注意ください。皆さんからの、ご報告をお待ちしております。

-----wctdm.c
325行目付近
                          int battery;
                       int lastpol;
                       int polarity;
                       int polaritydebounce;
#ifdef JAPAN                                 <--+
                       int ohdebounce;          | 追加
#endif                                       <--+
               } fxo;
907行目付近
                       wc->mod[card].fxo.battery =  0;
#ifdef        JAPAN
                       if ((!wc->mod[card].fxo.ohdebounce) && wc->mod[card].fxo.offhook) {
                         (この行を修正する)
-----wctdm24xxp.c
343行目付近
                           int polaritydebounce;
#ifdef JAPAN                               <--+
                        int ohdebounce;       | 追加
#endif                                     <--+
                } fxo;
1140行目付近
#ifdef  JAPAN
                        if ((!wc->mods[card].fxo.ohdebounce) && wc->mods[card].fxo.offhook) { 
                           (この行を修正する)


zaptel-1.2.2 の -DJAPAN 対応パッチ

zaptel-1.2のソースコードの修正と Makefile の -DJAPAN の追加を patch ファイル zaptel-1.2.2_japan.patch.gz にまとめました。 パッチの当て方は、次の通りです。
1) どこか適当なディレクトリ (たとえば、/usr/src) で zaptel-1.2.2.tar.gz を解凍

cd /usr/src
tar xzf zaptel-1.2.2.tar.gz2) zaptel-1.2.2 のディレクトリに移動

cd zaptel-1.2.23) パッチ zaptel-1.2.2_japan.patch.gz を当てる
gunzip (パス)/zaptel-1.2.2_japan.patch.gz
patch -p1 < (パス)/zaptel-1.2.2_japan.patch
または、
zcat (パス)/zaptel-1.2.2_japan.patch.gz | patch -p1
*(注) (パス) の部分は、patch ファイルが置かれたディレクトリを指定します。

あとは、普通に make します。

 make linux26 (Linux kernel version 2.6.x の場合)