|
From: | Valdemar |
Subject: | Re: [lwip-users] TCP/IP cange in behaviour? |
Date: | Mon, 17 Dec 2007 11:03:13 +0100 |
User-agent: | Thunderbird 2.0.0.9 (Windows/20071031) |
Hi again I went back to my first method of answering telnet commands and disabled the Nagle algoritm and it worked as it did before. Many Thanks. What I said about the stack locking up I could not repeat. Maybe that was in a later stage of my looking for the error. It would however have been nice to somehow being told why the transmission stopped. Incrementing some error counter or a timeout with an error return from tcp_write. Germund Asp address@hidden skrev:
It worked 'up to and including CVS 2007-10-08' and after upgrading to 'CVS 2007-12-05' it doesn't work any more? There's a big gap between october and december... The only real change in this time span has been on November 21st (TCP nagle algorithm implemented for raw api applications). To see if this is your problem you coulda) test with a version from November 20th and November 22nd to see if the problem comes from that change or b) disable the nagle algorithm for your pcb ('pS_pcb->flags |= TF_NODELAY;') - most telnet implementations do this anyway to reduce delays.If this doesn't help, there could always be a bug somewhere... It does sound strange that the stack locks up though. To see why that happens, it would help to turn on debug output and watch the packets on the cable (using wireshark) - but only if the above 'fixes' don't help.Simon Valdemar schrieb:Hi What has happened to the TCP/IP communication? In my application I have a telnet server for maintenance reasons. This server worked fine up to and including CVS 2007-10-08. This is how I answered commands from the client: Testing with tcp_sndbuf(pS_pcb) to see if there is buffer-space. (It always is, the sendbuffer is 10 kbytes.) Sending out with tcp_write(pS_pcb,.....). And tcp_output(pS_pcb) to send it directly. This was repeated until the entire command-answer was sent. The number of characters in each transmission was very small, but it worked very well. Then I upgraded to CVS 2007-12-05 and it did not work any more; the stack locked up after the second call to tcp_write. No stats showed any errors after the lock-up.To make the server work again I had to wait for each call to tcp_write to be acknowledged with the number of sent characters before callingtcp_write again. Is this a change in behaviour or is it just a flaw in my program? Has anyone else experienced this?I am using lwip in an application with an ATMEL AT91R40008 microcontroller running at 33 MHz and with a RS232 port in a system that transfers cnc-programs from a pc to cnc-machines.A request: Could someone make the ARP-table and its definition global.I am displaying the table and don't want to change the lwip code after evey update.Thanks for a great product. Germund Asp _______________________________________________ lwip-users mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users_______________________________________________ lwip-users mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users
[Prev in Thread] | Current Thread | [Next in Thread] |