(toppers-users 2905) TINET による PPP 接続時の切断について

Manabu Tanabe m_tanabe @ na.rim.or.jp
2009年 3月 29日 (日) 18:45:46 JST


 田辺@名古屋 です。

 初めて投稿させていただきます。
マイコンで PPP 接続を行いたく、TOPPERS の TINET を使って
実験をさせて頂いています。TOPPERS の門を覗かせて頂いて、
10日余りです。。。

 マイコンは AKI-H8/3069F を使い、普通のモデムを介して、
NTT の一般回線から ISP に PPP 接続を行っています。

 CQ 出版の Interface 2008 年 04 月号の記事を参考に、
SMTP クライアントをコンパイルして実行しているのですが、
実際にメールは送信されるものの、切断の処理が上手くいきません。

 tcp_sht_cep() を呼び出した後、tcp_cls_cep() を呼び出しだすと、
1分ぐらい処理がブロックされます。実際に処理がブロックされているのは
tcp_cls_cep() 関数内の

 error = twai_flg(cep->est_flgid, CEP_EVT_CLOSED, TWF_ORW, &flag, tmout);

を実行しているところで、イベントフラグが tcp_timer.c の tcp_timers() で
TCP_TIM_2MSL のタイムアウトで CEP_EVT_CLOSED にセットされるまで止まっているようです。
その後、tcp_cls_cep() から制御は戻ってきますが、実際にモデムが切断されるのは、
更にそこから2分ほど経過して、ppp.c の idle_timeout() で 180 秒?の
アイドルタイムアウトが発生してからになります。

 恐らく、単純に何かを見落としているだけだと思うのですが、
同じような現象に逢われた方は居られませんでしょうか?

 参考にしている CQ 出版のプログラムは
http://www.cqpub.co.jp/interface/download/2008/10/chap04/tinet_sample.lzh
にあります。その他、環境は次のとおりです。

JSP:jsp-1.4.2.tar.gz
TINET:tinet-1.4.tar.gz
H8モニタ:h8mon-1.12.tar.gz
make:make-3.79.tar.gz

 以上、よろしくお願いいたします。

-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-
 E-mail  : m_tanabe @ na.rim.or.jp
-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-<->-