Announcement

Collapse
No announcement yet.

gspi_out_block: timeout waiting for SPIF

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • gspi_out_block: timeout waiting for SPIF

    We have been using Matchport_BG_PRO from some time (Evolution 5.2.0.0R23). We are developing an application that reads data from both serial ports, decodes it, and sends it out TCP (via send). We created our own version of the tunneler so native Tunnel has been turned off.

    The application works fine for the most part except that on occasion, the WiFi link will randomly disappear and the active TCP and Telnet sessions will go down. We can no longer Ping till we repower the device.

    This has been repeated across multiple devices (over 100). It happens much more often when we use both serial ports (single port once in 2 days, dual ports once an hour).

    Because we were using telnet to monitor TLOG, we had a difficult time capturing the problem since when the WiFi link went down, we lost our log. After many attempt to recreate the problem, we were finally able to get File system Log to capture the event of failure and discovered that when the WiFi link went down (and thus telnet/TCP) the device was still running but now giving a socket error -19 which we assume is because the link went down on the active connection.

    Just before the socket error, we get this log entry

    4092 E gspi_mcf.c 426 gspi_out_block: timeout waiting for SPIF 15:19:15

    We can not find any reference to this but assume it deep within evolution may be related to serial port?

    I am guessing at some point the serial reads or system loading is blowing out the radio and the device need a hard rest to recover.

    This is a multithreaded application

    /* Startuo Serial Data collection thread */
    RunThread(100, GetSerialData0, "GetSer0", 2048);

    /* Startuo Serial Data collection thread */
    RunThread(100, GetSerialData1, "GetSer1", 2048);

    /* startup thread to process network data and send out serial port */
    RunThread(100, Net2Ser, "Net2Ser", 16192);

    /* startup thread to process serial data and send to network */
    RunThread(100, Ser2Net0, "Ser2Net0", 16192);

    /* startup thread to process serial data and send to network */
    RunThread(100, Ser2Net1, "Ser2Net1", 16192);

    The TLOG when the error occurs

    4059 D tunneler.c 2156 Ser2Net1_1 len1=0 15:19:13
    4060 D tunneler.c 2072 Ser2Net0_1 len0=0 15:19:13
    4061 D tunneler.c 2072 Ser2Net0_1 len0=0 15:19:13
    4062 D tunneler.c 2156 Ser2Net1_1 len1=0 15:19:13
    4063 D tunneler.c 2008 GetSerialData1: Read Port 2 len=582 15:19:13
    4064 D tunneler.c 2027 GetSerialData1:Got data Port 2 len=582 15:19:13
    4065 D tunneler.c 1938 GetSerialData0: Read Port 1 len=1532 15:19:13
    4066 D tunneler.c 1960 GetSerialData0: Got data Port 1 len=1532 15:19:13
    4067 D tunneler.c 2072 Ser2Net0_1 len0=1532 15:19:14
    4068 D tunneler.c 1672 ConvertSerail: gbufindex=65536 15:19:14
    4069 D tunneler.c 2110 Ser2Net0_4 newlen=2701 15:19:14
    4070 D tunneler.c 1689 ProcessBuffer newlen=2701 15:19:14
    4071 D tunneler.c 871 sdkTcpTxClient: len=2701 15:19:14
    4072 D tunneler.c 2156 Ser2Net1_1 len1=0 15:19:14
    4073 E tunneler.c 897 sdkTcpTxClient: Send OK 15:19:14
    4074 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:14
    4075 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:14
    4076 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:14
    4077 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:14
    4078 D tunneler.c 2156 Ser2Net1_1 len1=0 15:19:14
    4079 D tunneler.c 2072 Ser2Net0_1 len0=0 15:19:14
    4080 D tunneler.c 1938 GetSerialData0: Read Port 1 len=1167 15:19:14
    4081 D tunneler.c 1960 GetSerialData0: Got data Port 1 len=1167 15:19:14
    4082 D tunneler.c 2072 Ser2Net0_1 len0=1167 15:19:14
    4083 D tunneler.c 1672 ConvertSerail: gbufindex=65536 15:19:15
    4084 D tunneler.c 2110 Ser2Net0_4 newlen=2043 15:19:15
    4085 D tunneler.c 1689 ProcessBuffer newlen=2043 15:19:15
    4086 D tunneler.c 871 sdkTcpTxClient: len=2043 15:19:15
    4087 D tunneler.c 2008 GetSerialData1: Read Port 2 len=1164 15:19:15
    4088 D tunneler.c 2027 GetSerialData1:Got data Port 2 len=1164 15:19:15
    4089 D tunneler.c 2156 Ser2Net1_1 len1=1164 15:19:15
    4090 D tunneler.c 1672 ConvertSerail: gbufindex=65536 15:19:15
    4091 D tunneler.c 2171 Ser2Net1_4 newlen=1192 15:19:15
    4092 E gspi_mcf.c 426 gspi_out_block: timeout waiting for SPIF 15:19:15
    4093 D tunneler.c 1689 ProcessBuffer newlen=1192 15:19:15
    4094 D tunneler.c 871 sdkTcpTxClient: len=1192 15:19:15
    4095 D tunneler.c 891 clientSock error=-19 socket=9 len=1192 15:19:15
    4096 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4097 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4098 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4099 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4100 E tunneler.c 897 sdkTcpTxClient: Send OK 15:19:15
    4101 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4102 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4103 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4104 E tunneler.c 903 sdkTcpTxClient: No Sockets 15:19:15
    4105 D tunneler.c 2156 Ser2Net1_1 len1=0 15:19:15

    Any information on what this error relates to??
    4092 E gspi_mcf.c 426 gspi_out_block: timeout waiting for SPIF

  • #2
    Please contact your local Lantronix FAE directly - tell them Garry sent you.
    Or contact me directly at [email protected], and send me your company address and contact info, and I'll have the responsible FAE contact you.

    Comment


    • #3
      gspi_out_block: timeout waiting for SPIF

      did that, any progress?

      Comment


      • #4
        Status?

        Any status?

        Comment

        Working...
        X