Hi I've had now some success with lwip and tcp, exchanging some frames. But I have some problems that I don't understand yet.
I try to read data from an external device, sending simple commands and receiving some data, always less than 20 bytes. To send data lwip has to do an ARP request first. Sometimes it happens that the reply comes back (I check for it in the received frames directly), the frame is given to lwip but still the ARP cache is not updated. The entry for this address is still on 00... But that happens very seldom. More serious is this case: After calling lwip_connect the connection gets established and the tcpip_thread ist handling the connection. Sometimes it happens that lwip_read will not return, lwip has seemingly not received any data. But it will not return with an error. Even if I unplug the other device lwip just continues without any error and my thread doesn't return from read. Log: ... tcp_slowtmr: processing active pcb tcp_slowtmr: processing active pcb tcp_slowtmr: processing active pcb tcp_slowtmr: processing active pcb tcp_slowtmr: polling application tcp_output: nothing to send (0x0) tcp_output: snd_wnd 2047, cwnd 3072, wnd 2047, seg == NULL, ack 6522 tcp_slowtmr: processing active pcb tcp_slowtmr: processing active pcb tcp_slowtmr: processing active pcb tcp_slowtmr: processing active pcb tcp_slowtmr: polling application tcp_output: nothing to send (0x0) tcp_output: snd_wnd 2047, cwnd 3072, wnd 2047, seg == NULL, ack 6522 ... Where should the breakup/timeout be handled? Thanks bye Fabi _______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
