Dropped GPRS connection

7 thoughts on “Dropped GPRS connection

  1. Normal
    0

    false
    false
    false

    EN-GB
    X-NONE
    X-NONE

    MicrosoftInternetExplorer4

    Normal
    0

    false
    false
    false

    EN-GB
    X-NONE
    X-NONE

    MicrosoftInternetExplorer4

    Normal
    0

    false
    false
    false

    EN-GB
    X-NONE
    X-NONE

    MicrosoftInternetExplorer4

    Module: GC864-QUAD

    ver: 07.02.204

    Hi,

    Im experiencing GPRS connections that are being broken off early with
    a NO CONNECTION message. This happens at various positions while HTTP data is
    being received. My understanding is that NO CONNECTION is sent when the
    transfer is complete, a +++ is sent, or the DTR line is toggled (mine is not
    connected). Are there any other possible explanations for what I’m seeing?

    1. Of course, various network problems can lead to this, including weak signal, failure on any segment and so on. The module is still registered and attached to GPRS after such disconnection, can you open another connection immediately?

       

      Another idea, maybe your application fails to read the rest of the transmission? How do you use the module?

       

      What if you open the HTTP connection with keep alive option, with an appropriate server?

       

       

       

      1. Normal
        0

        false
        false
        false

        EN-GB
        X-NONE
        X-NONE

        MicrosoftInternetExplorer4

        Normal
        0

        false
        false
        false

        EN-GB
        X-NONE
        X-NONE

        MicrosoftInternetExplorer4

        Thanks for the fast response Cosmin,

         

        Are you saying that a NO CONNECTION can occur due to network
        issues without the module actually generating an error? Surely the TCP/IP stack
        should handle this?

         

        Regarding reading the rest of the transmission, do you mean
        that after a NO CONNECTION interruption you can enter an ATD or AT#SO and the
        transfer will continue from where it left off?

         

        Regards,

        Wiebe

        1. In the case of a socket connection I don’t think another error can be sent out, other than simply signaling closure with no carrier.

           

          I meant to say that the missing chars can be lost by the application itself, but is easy to verify with a strait PC terminal test.

           

          And yes a question was to check if GPRS is still working immediately after no connection, opening another connection. Of course the closed connection is definitely lost with all its pending not received data.

           

          1. Normal
            0

            false
            false
            false

            EN-GB
            X-NONE
            X-NONE

            MicrosoftInternetExplorer4

            I see. No, I am using an external controller and am logging on the uart of
            the GC864 so no data is being lost by the application. The modules sends a
            couple hundred bytes and waits for a 50kB response. This is usually successful
            but about 10% of the time during the response I get a NO CONNECTION (without
            necessarily a long delay).

             

            Shouldn’t there be a AT command to detect that the connection was closed
            due to an error rather then completion? Otherwise the application is forced to
            parse the HTTP headers for the expected number of characters, or have knowledge
            of the expected HTTP data.

             

            You’re right, I can immediately  open a new connection (though in the
            test I just did this one failed as well).  Perhaps I am having hardware
            issues…

             

            Thanks for you help,

            Wiebe

  2.  

     

    Shouldn’t there be a AT command to detect that the connection was closed
    due to an error rather then completion? Otherwise the application is forced to
    parse the HTTP headers for the expected number of characters, or have knowledge
    of the expected HTTP data.

    Won’t be to useful, I think, for example if an intermediar router or proxy closes the socket the module will see the connection properly closed. Better, if an application needs a more reliable data transfer, a proper integrity check should be built in comm protocol, for example as you say checking against numbers in HTTP header.

     

    Nevertheless 10% failures seems high and I would investigate further: signal quality, change server, change opartor etc.

     

    BTW,as I see not an applyable reason, there is a socket inactivity timer, by default after 90 seconds of inactivity the socket is closed. of AT#SCFG utility command.