|
From: | davidm |
Subject: | Re: [lwip-users] Case Of The Missing ACK |
Date: | Tue, 08 Sep 2009 08:45:36 +1000 |
User-agent: | Thunderbird 2.0.0.23 (Windows/20090812) |
Kieran Mansley wrote:
I should have explained - 192.168.2.2 is lwIP. At line 32 of Wireshark, a concatenated number of requests are sent which the MCU responds individually, echoing the request prior to sending the response data. This explains the multiple packets from lwIP to the client (192.168.2.3).On Mon, 2009-09-07 at 14:58 +1000, address@hidden wrote:Perhaps others have encountered this and would offer comments and perhaps comments could be offered in general.That is weird. It's hard to tell which end is lwIP and which is WinXP in your packet capture, but at the point at which things go wrong I notice the direction of the traffic changes. Until then, 192.168.2.2 is sending to 192.168.2.3, at that point ...2.3 starts sending to ...2.2 Is there anything in the lwIP stats that might explain why packets are dropped? Could it be that your board just gets very busy (perhaps with something like debug output?) and takes a very long time to respond? Kieran _______________________________________________ lwip-users mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users
At line 103 the request to enter binary mode is sent with the request echoed at line 105 and the acceptance response at line 106.
I have attached a file which shows the stats just prior to entering binary mode and just after returning to text mode. All seems to be ok there.
There should be no delay due to the MCU being busy (other than task switching) as all that is done is to partially load and internal buffer which once filled, is written to an SD card Flash sector.
A question: When the debug output "tcp_recved: recveived 46 bytes, wnd 2048 (0)" is delivered, should an ACK already have been sent by lwIP, or does that occur later?
At a later time I should put a debug breakpoint on the receipt of the 46 byte packet and trace through the internals of lwIP.
And by the way, thank you for your input. If nothing else I'm honing my skills in the finer art of lwIP debugging.
Regards - davidm .
Before After ----------- ------------ LINK LINK xmit: 117 xmit: 133 rexmit: 0 rexmit: 0 recv: 81 recv: 96 fw: 0 fw: 0 drop: 0 drop: 0 chkerr: 0 chkerr: 0 lenerr: 0 lenerr: 0 memerr: 0 memerr: 0 rterr: 0 rterr: 0 proterr: 0 proterr: 0 opterr: 0 opterr: 0 err: 0 err: 0 cachehit: 0 cachehit: 0 ETHARP ETHARP xmit: 3 xmit: 3 rexmit: 0 rexmit: 0 recv: 10 recv: 10 fw: 0 fw: 0 drop: 0 drop: 0 chkerr: 0 chkerr: 0 lenerr: 0 lenerr: 0 memerr: 0 memerr: 0 rterr: 0 rterr: 0 proterr: 0 proterr: 0 opterr: 0 opterr: 0 err: 0 err: 0 cachehit: 109 cachehit: 125 IP IP xmit: 112 xmit: 128 rexmit: 0 rexmit: 0 recv: 71 recv: 86 fw: 0 fw: 0 drop: 0 drop: 0 chkerr: 0 chkerr: 0 lenerr: 0 lenerr: 0 memerr: 0 memerr: 0 rterr: 0 rterr: 0 proterr: 0 proterr: 0 opterr: 0 opterr: 0 err: 0 err: 0 cachehit: 0 cachehit: 0 ICMP ICMP xmit: 0 xmit: 0 rexmit: 0 rexmit: 0 recv: 0 recv: 0 fw: 0 fw: 0 drop: 0 drop: 0 chkerr: 0 chkerr: 0 lenerr: 0 lenerr: 0 memerr: 0 memerr: 0 rterr: 0 rterr: 0 proterr: 0 proterr: 0 opterr: 0 opterr: 0 err: 0 err: 0 cachehit: 0 cachehit: 0 UDP UDP xmit: 2 xmit: 2 rexmit: 0 rexmit: 0 recv: 2 recv: 2 fw: 0 fw: 0 drop: 0 drop: 0 chkerr: 0 chkerr: 0 lenerr: 0 lenerr: 0 memerr: 0 memerr: 0 rterr: 0 rterr: 0 proterr: 0 proterr: 0 opterr: 0 opterr: 0 err: 0 err: 0 cachehit: 0 cachehit: 0 TCP TCP xmit: 95 xmit: 105 rexmit: 0 rexmit: 0 recv: 69 recv: 84 fw: 0 fw: 0 drop: 0 drop: 0 chkerr: 0 chkerr: 0 lenerr: 0 lenerr: 0 memerr: 0 memerr: 0 rterr: 0 rterr: 0 proterr: 0 proterr: 0 opterr: 0 opterr: 0 err: 0 err: 0 cachehit: 0 cachehit: 0 MEM HEAP MEM HEAP avail: 4096 avail: 4096 used: 548 used: 548 max: 1568 max: 1568 err: 0 err: 0 MEM RAW_PCB MEM RAW_PCB avail: 4 avail: 4 used: 0 used: 0 max: 0 max: 0 err: 0 err: 0 MEM UDP_PCB MEM UDP_PCB avail: 4 avail: 4 used: 1 used: 1 max: 1 max: 1 err: 0 err: 0 MEM TCP_PCB MEM TCP_PCB avail: 5 avail: 5 used: 1 used: 1 max: 1 max: 1 err: 0 err: 0 MEM TCP_PCB_LISTEN MEM TCP_PCB_LISTEN avail: 8 avail: 8 used: 1 used: 1 max: 1 max: 1 err: 0 err: 0 MEM TCP_SEG MEM TCP_SEG avail: 32 avail: 32 used: 1 used: 1 max: 9 max: 9 err: 0 err: 0 MEM ARP_QUEUE MEM ARP_QUEUE avail: 30 avail: 30 used: 0 used: 0 max: 0 max: 0 err: 0 err: 0 MEM PBUF_REF/ROM MEM PBUF_REF/ROM avail: 16 avail: 16 used: 0 used: 0 max: 0 max: 0 err: 0 err: 0 MEM PBUF_POOL MEM PBUF_POOL avail: 32 avail: 32 used: 0 used: 0 max: 2 max: 2 err: 0 err: 0
[Prev in Thread] | Current Thread | [Next in Thread] |