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

阿部 司 abe @ jo.tomakomai-ct.ac.jp
2009年 3月 30日 (月) 08:48:05 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 の仕様です。tinet/doc/tinet.pdf の 16ページ

「5.1 タスクからの Time Wait 状態の TCP 通信端点分離機能」

を参照してください。

  NUM_TCP_TW_CEP_ENTRY

にエントリ数を設定してみてください。

> その後、tcp_cls_cep() から制御は戻ってきますが、実際にモデムが切断されるのは、
> 更にそこから2分ほど経過して、ppp.c の idle_timeout() で 180 秒?の
> アイドルタイムアウトが発生してからになります。

残念ながら、こちらの方は情報不足で、状況がわかりません。

よろしくお願いします。

-- 
.\" 苫小牧工業高等専門学校 情報工学科 教授 阿部 司
.\" 〒059-1275 北海道苫小牧市字錦岡443番地
.\" E-mail: abe @ jo.tomakomai-ct.ac.jp  TEL/FAX: 0144-67-8937