No announcement yet.

TCP buffer overflow for protocol "none" xPico

  • Filter
  • Time
  • Show
Clear All
new posts

  • TCP buffer overflow for protocol "none" xPico

    I use the xPico WiFi Eval Board (FW together with the Javascripts "WebToSerial".
    However, there is a problem when sending data from a web page to the xPico and then to a microcontroller connected to the serial port 1. Approximately 1200 bytes of data must be sent to the xPico within an xpw.serialTransmit action, which is forwarded to the serial line 1 at 9600bps. According to Wireshark, the network transmission is also complete. (In the case of using xpw.serialTransact, the answer is just as complete.) At the controller, however, only about 750 bytes arrive, obviously xPico does not buffer enough data. This can also be seen if, instead of the controller, a terminal program reads the data from the serial line.
    What can I do to make the transfer complete?
    The controller at the serial port expects the data to be continuous at a maximum of ~100 milliseconds distance, otherwise it goes into timeout. It is therefore not possible to divide the data into several transactions since these would be too far apart.
    The best thing would be if the xPico would buffer some more data - in the documentation is nothing to the buffer size to be found.

    Thanks for your help!

    By the way:
    The problem only occurs with the "none" protocol type. At "tunnel" everything is ok. However, there are other difficulties, see
    Last edited by Golter; 02-27-2017, 08:49 PM.

  • #2
    Since the "transaction" based calls are buffered, there's a limit on how many characters can be used.

    You should upgrade the firmware to the latest 1.5 Alpha
    (Currently: which significantly speeds up the WebAPI. I think you will find you can send the data in smaller chunks and still meet your speed requirements.

    If slicing the data is still not acceptable, you can use one of the streaming functions that use WebDAV to create a filesystem to serial stream. You can find more details on that here:

    Since this is a streaming function, there's no limit in the amount of data you can send. Note that it's not transaction based, so reads and writes are separate.



    • #3
      Hello Mariano,
      Thank you for your quick response. Your suggestions sound promising.
      I did not want to install firmware with alpha status. Therefore, two more questions:
      # If the 1.5 alpha FW version is installed on the xPico, is it possible to downgrade to the older firmware version
      # Is a solution for my problem with protocol "tunnel" and the COM port redirector known (

      Many Thanks!


      • #4
        Hi Golter,

        Yes, you can downgrade back to 1.4 after testing 1.5. Just make sure that after downgrading the firmware, you reset configuration to Defaults, since 1.5 introduces new configuration fields that 1.4 wouldn't know about.

        As for your second question, already has Discovery protocol on ap0,. If you're not seeing UDP 30718 on ap0 in the Diagnostics->IP Sockets screen, make sure that in the Discovery tab, ap0 Query Port is enabled.



        • #5
          Hello Mariano,
          many thanks for the further answer.
          I was not clear that with "Recovery" the device search in the device installer or COM port redirector means. Now the tunnel protocol works trouble-free.

          The FW 1.5.0.x I will test.

          Thanks again!
          Best regards.