[En-Nut-Discussion] TCP stops working after some time
Harald Kipp
harald.kipp at egnite.de
Tue Dec 14 12:08:52 CET 2004
Jean Pierre,
I'm just re-reading the latest posts and sumbled over this one:
At 15:10 28.11.2004 +0100, you wrote:
>
>TCP runs here without locks during weeks.
>Try to:
>1) observe TCP sockets list (with httpserv "socket list" utility). It can
>give you some ideas.
>) set timeouts with NutTcpSetSockOpt /SO_SNDTIMEO, /SO_RCVTIME ???
>2) do not play with your appli priorities. Keep default value(64). (in my
>application, Bugs both on TCP and usart lock when priority is modified).
>3)verify heap level.
For 1) I've done some very heavy traffic tests without any
problems. The 3.9.2 stack seems to work very reliable.
For 3) We've done some long term connect/disconnect tests.
Again, no problems after 130,000 cycles.
For 2) This is the interesting part. I have a large commercial
application, which still doesn't work reliable. It fails
unpredictable after a few hours or after a week. But I experienced
different behavior when changing the priorities.
Can't find the other post right now. But _someone_ recently
asked, why NutEventPostAsync is called _somewhere_ without
interrupts blocked. And there was Matthias Ringwald's post,
assuming, that interrupts are blocked for a long time during
context switching.
What I can say else is, that Matthias' and our large app
extensively use the devUsartAvr driver.
Some time ago Jelle Kok also reported problems with an Ethernut
based RS232/TCP gateway. It ran stable after changing from
devUsartAvr to polling mode a la devDebug.
Mmmmmhhhhhh....
Harald
More information about the En-Nut-Discussion
mailing list