MQTT on GC864-QUAD

10 thoughts on “MQTT on GC864-QUAD

  1. Hello

    We faced with a problem while running MQTTClient on STM32 with Telit GC864-QUAD (10.00.063, sn 0000030201) module.
    In our project we setup tcp socket connection on virtual channel #2 (cmux mode) to MQTT server.
    If the device is subscribed to topic and another application starts publishing messages very quickly to this topic then the telit module reports a “No carrier” after ~200 messages.

    We’ve setup mqtt broker on PC and captured tcp traffic between our board and
    mqtt broker with wireshark. (see tcp-dump.zip)
    During message storm from broker to the board we see distorted TCP traffic (e.g.
    Retransmission and Dup ACK) and TCP RST frame from broker to board in the end.

    Also we posted 10k messages to MQTTClient on x86 (same code as on stm32) connected to Internet over Ethernet.
    No socket disconnects occured. We think that the problem is in TCP connection in telit under
    high traffic.

    Could you please give us an advice on the problem solution?

    Best Regard,
    Viktar Palstsiuk

    1. Did you perform a network survey to check the signal quality?

      Did you try with several network operators?

      Did you test other type of connections for reliability and speed?

      Is it PPP or internal Telit TCP stack?

      1. Did you perform a network survey to check the signal quality?

        Did you try with several network operators?

        Did you test other type of connections for reliability and speed?

        Is it PPP or internal Telit TCP stack?

        1. Yes, it’s ok. Working with antenna attached.

        2. Our operator velcom.by has over 3mln subscribers in Belarus.

        3. I also tested FTP connection using internal FTP client of Telit, it work stable.

        4. We are using internal TCP stack (AT#SKTD cmd to open socket.)

        1. So an AT#FTPGET with a large file is working well?

          It would be interesting to see signal values and check with another operator.

          Check the discconnect reason with AT#SLASTCLOSURE.

          1. Looks like this cmd is not supported: (log after no carrier event)

            GSM TX 2:AT#SLASTCLOSURE?

            RX 2:ERROR

            GSM TX 2:AT#SLASTCLOSURE=0

            RX 2:ERROR

            GSM TX 2:AT#SLASTCLOSURE=1

            RX 2:ERROR

            GSM TX 2:AT#SLASTCLOSURE=2

            RX 2:ERROR

            GSM TX 2:AT+CSQ

            RX 2:+CSQ: 31,0

            We also have reproduced this issue on our cutomer’s board in Ireland.

          2. You must disconnect the module from the STM and connect to a PC running XFP via a voltage translator.

          3. Hello

            We have new Telit module (Firmware Telit GC864-QUAD 10.01.061 0000000754) with support SLASTCLOSURE disconnect reasons.

            GSM TX 2:AT#SLASTCLOSURE=0
                    RX 2:
                    RX 2:ERROR
            ========================
            GSM TX 2:AT#SLASTCLOSURE=1
                    RX 2:
                    RX 2:#SLASTCLOSURE: 1,0
                    RX 2:
                    RX 2:OK
            ========================
            GSM TX 2:AT#SLASTCLOSURE=2
                    RX 2:
                    RX 2:#SLASTCLOSURE: 2,2
                    RX 2:
                    RX 2:OK

            Could you please give us an advice on the problem solution?

             

          4. connId=1:

            #SLASTCLOSURE: 1,0

            0 – not available(socket has not yet been closed)

            connId=2

            #SLASTCLOSURE: 2,2

            2 -.remote host TCP connection close due to RST, all others cases in which the socket is aborted without indication from peer (for instance because peer doesn’t send ack after maximum number of retransmissions/peer is no more alive).

            All these cases include all the “FATAL” errors after recv or send on the TCP socket(named as different from EWOULDBLOCK.

            Please ask for an extended debugging session at ts-emea@telit.com.