I just tried a 2024 bytes packet and it hangs after the 1st send. Using
Wireshark, I see this
...
18645 4376.725146 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=329 Ack=169 Win=23832 Len=16
18648 4377.732420 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=345 Ack=177 Win=23824 Len=16
18653 4378.738753 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=361 Ack=185 Win=23816 Len=16
[those above are keep-alive answers]
18656 4379.495149 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=377 Ack=241 Win=23760 Len=20
[this one above is a init answer]
18660 4379.925913 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [ACK]
Seq=397 Ack=249 Win=23752 Len=0
[I have no idea what is this one above]
18661 4380.125090 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=397 Ack=249 Win=23752 Len=16
[this one above is a arm answer]
18663 4380.135588 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=413 Ack=257 Win=23744 Len=16
18667 4381.152788 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=429 Ack=265 Win=23736 Len=16
[those 2 above are keep-alive answers]
18668 4381.156040 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [ACK]
Seq=445 Ack=265 Win=23736 Len=1460
18670 4381.158091 192.168.0.72 192.168.0.68 TCP 1008 > redstone-cpss [PSH,
ACK] Seq=1905 Ack=265 Win=23736 Len=564
[those 2 above are my first data packet, MSS being 1500]
[nothing else]
It stops there, I don't know why.
When I pause the debugging, I breaks at this line in the "tcp_in.c" file,
line 875.
if (pcb->snd_queuelen != 0) {
LWIP_ASSERT("tcp_receive: valid queue length", pcb->unacked !=
NULL ||
pcb->unsent != NULL);
}
For some reason, I can't stream.
On Mon, Mar 22, 2010 at 2:43 PM, Dany Thiffeault <[email protected]>wrote:
> Hi,
>
> I'm currently coding an application on a AVR32 UC3 board. The board is
> actually an acquisition platform that's using Ethernet (lwip 1.3.1
> currently). I'm using FreeRTOS and the Atmel framework 1.4.
>
> My connection is working great with my Windows application. There are two
> modes to my AVR32 application:
>
> 1- Idle mode where there are only keep-alive packets every 1 second, of
> 8bytes each.
> 2- Streaming mode, where the AVR32 (so LWIP) send data as fast as possible
> to the Win application.
>
> What is important to me is to get maximum speed in Streaming mode, where
> packets are Header(24bytes) + Data(?Bytes). I'm currently playing with the
> data size to see what I can achieve. Ideally, the maximum size I would like
> is about 35KBytes. Right now, I'm not sure what's going on, but the Ethernet
> seems to hang after a few seconds of streaming. Haven't found the problem so
> far.
>
> So, what are the important parameters for maximum thoughput in the
> lwipopts.h file dans other #defines like ETHERNET_CONF_NB_TX_BUFFERS, etc.
> I'm kind of lost in all those parameters.
>
> Thanks a lot!!
> Dany
>
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users