Tcp packet loss with Intel wifi drivers
Hi guys ,
we are developing embedded project . Our device will talk to windows based GUI (PC application) over WIFI .we are using TCP client server method.In our application we are using external wifi module (Telit chip).Our MCU will connected to Telit module through UART. telit acts as access point and server GUI acts as station and cleint .we were at the final stage of our product .we are doing regression testing with WIFI.From GUI we are updating the device FTOA over the wifi .we were testing FTOA with different laptops.The laptop which are having Qualcomm wifi driver it is working fine .The laptop which are having Intel wifi driver the connection is closed in between
Payload size : 192 bytes (GUI to DEVICE) Response payload size : 7 bytes (device to GUI) GUI : retry the the same packet if response is not received with in 15 secs(maximum idle time)from the server Max retry count: 3 times At normal situation: telit is sending the keep alive packet during idle time . idle time is 3 secs ,keep alive interval 3 secs , keep alive count 3 times.
Observation with Intel wifi driver: 1.more packet loss (in wire shark I could able to see TCP restransmission packet )with Intel wifi driver. In Qualcomm almost zero packet loss . 2.Due to this at some point telit ( server) sending the T"CP previous packet not captured" cmd to client. this is due to previous packet may be completely dropped .for this cmd cleint is sending the previous packet and it working as expected.but some times the cleint is not sending the previous packet .it went to idle state .why the client is not retransmit the previous packet why it went to idle . At this stage my server should send the keep alive packet ,since it is in idle state.during this situation telit is not sending the keep alive packet . after 12 secs telit is sending the TCP RST packet to close the connection. But in between no keep packet was send .
The issue is it from server or client or both ?how to debug this issue .
To fix the server side keep alive packet issue I increased my idle time to 30 secs. The success rate is more . during the above situation sometimes the sever is not responding for all the three retry packets.but after some time server is sending the response for the previous three packets in the single TCP packet.
Here what is the issue?