• Do wireless applications have any particular problems with a TCP packet that has its "PUSH" bit toggled ?

  • It shouldn't as TCP works at layer 4 so will be transparent to the 802.11 mechanisms at the MAC and PLCP layers I would have thought.

  • What are you seeing, Howard?  I'm curious as well.  Perhaps it's something else happening at a lower layer that just happens to correlate with a PUSH being used?

  • You are correct.   There should be no problem.   TCP should be TCP.

    If there is a problem it is probably with the drivers. All those involved say the PUSH is totally unexpected.   I would suspect that the state machine is out of sync.

  • Updates?

    Does anyone have experience with PUSH causing a problem on Wireless links.

    I have seen some strange behavior when transmitting multi-megabyte files - depending on frame length.

  • TCP PUSH is not required when transferring large files. TCP PUSH is used to immediately send the current buffered data in the TCP stack. An example would be real time applications or applications that send small amounts of data such as Telnet. If Telnet works in your setup then I don't think that you have a TCP PUSH issue.

    I would take a capture and then analyze what is happening.

  • By Howard - edited: April 26, 2018

    I am familiar with the idea of using PUSH for things like Telnet.   That makes total sense.

    Unfortunately, I did not write this application and I have no control over it.   It uses PUSH for every transfer regardless of packet length.   

    This particular test happens to be testing firmware downloads -  each over 20 Mega-BYTES in length.

    Traces don't seem to help much - it dies when it dies, at irregular times.

  • Howard, I have had similar problems with old devices with firmware bugs. Last month a meat packer with ancient meat packing scales connecting to NetWare.

    If the device is using a well known protocol like HTTP this is easier. I have resorted to downloading the firmware file, setting up a DNS server to hijack the DNS requests to point to my own server and then have the device download from the local server that I control. Just an idea.

  • Your case involved PUSH too ?

  • My case did not involve TCP PUSH. Just buggy firmware with no manual method of installing the update.

Page 1 of 2