Hi!
Thank you Bill and Chauveau for your answers. Firstly I would like to solve
the problem running LwIP 1.4.0, or at least to understand a little more
about it; then, if no solution arises, I would try with LwIP 1.4.1.

Chauveau, device A transmits one data packet that won´t be acknowledged by
my board running LwIP, and then it will transmit another 3 data packets,
until it is aware of need of retransmission. Then, it will retransmit only
the first two data packets (instead of four) and my board will acknowledge
the 4 data packets. But the problem is that at application level I only get
the first two data packets... That´s why I say I lose two data packets.

IP_REASSEMBLY is activated and IP_REASS_MAX_PBUFS is set to 16.

But, I don´t think it´s related to that, because data packets are only
9-bytes long.

--



2013/8/27 Chauveau Wilfried <[email protected]>

>  Hello,
> I'm not that pro in TCP/IP communication but it seems that only 1 packet
> is lost.
> When A retransmit the missing one plus some more data, your board is
> finally able to rebuild the stream and continue acknowledging all received
> data. A does not retransmit the last 18 bytes because they have been
> successfully received & acknowledged.
> Is IP_REASSEMBLY activated and how big is your
> 
> IP_REASS_MAX_PBUFS ?
> Except for the part where you lose a packet, the flow does not seems to me
> that buggy.
>
>  --
>
> Le 23/08/2013 22:30, Rodrigo Garbi a écrit :
>
>  Hi!
> I'm working with FreeRTOS v7.0.1 and LwIP 1.4.0 and I'm facing the
> following problem:
>
>  Device A and B transmit data every 40 ms to my board (where I'm running
> LwIP) and once in a while I can notice some data from device A is being
> missed.
>
>  So I did some research with CommView and found that:
>
>  1) Device A sends data (9 bytes length) to my board and get correct ACK
> from it:
>   Sequence: 0x13D5388C (332740748)
>
>   Acknowledgement: 0x00001A57 (6743)
>
>  Response from my board:
>   Sequence: 0x00001A57 (6743)
>   Acknowledgement: 0x13D53895 (332740757)
>
> 2) Device A send 9-bytes data to my board, but this won´t ACK:
>    Sequence: 0x13D5389E (332740766)  Acknowledgement: 0x00001A57 (6743)
>    Sequence: 0x00001A57 (6743)
>   Acknowledgement: 0x13D5389E (332740766)
>  3)Device A does not care about it (maybe because data is already in
> ethernet transceiver buffer) and sends a new data (9-bytes); my board will
> not ACK it:
>    Sequence: 0x13D538A7 (332740775)  Acknowledgement: 0x00001A57 (6743)
>    Sequence: 0x00001A57 (6743)
>   Acknowledgement: 0x13D5389E (332740766)
>
> 4)Same as 3
>   Sequence: 0x13D538B0 (332740784)  Acknowledgement: 0x00001A57 (6743)
>   Sequence: 0x00001A57 (6743)
>   Acknowledgement: 0x13D5389E (332740766)
>
>  5) Same as 3
>
>    Sequence: 0x13D538B9 (332740793)  Acknowledgement: 0x00001A57 (6743)
>    Sequence: 0x00001A57 (6743)
>   Acknowledgement: 0x13D5389E (332740766)
>  6) Finally, device A is aware of the problem and retransmits data, but
> instead of transmitting 36 bytes (9 x 4), only transmits 18 bytes
>    Sequence: 0x13D5389E (332740766)  Acknowledgement: 0x00001A57 (6743)    
> Data
> length: 0x12 (18)
>
>
>    And my board running Lwip 1.4.0 will acknowledge 36 bytes instead of
> 18:
>    Sequence: 0x00001A57 (6743)
>   Acknowledgement: 0x13D538C2 (332740802)
>
>
>    So device A won´t transmit last two 9-bytes packets, and they will be
> lost!
>
>  Anyone can help me with this? Is it a bug in LwIP or what is happening?
> Thank you!
>
>
>
> _______________________________________________
> lwip-users mailing 
> [email protected]https://lists.nongnu.org/mailman/listinfo/lwip-users
>
>
> _______________________________________________
> lwip-users mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/lwip-users
>
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to