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?
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?
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
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.
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
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.
I put this in a separate post, for more visibility.
Can you upgrade to the latest firmware version and perform tests with this?
We use cookies to enhance your browsing experience and help us improve our websites. To improve our website, we carefully select third parties that use cookies to allow us to serve specific content and achieve the purposes set out in our cookie policy. For more information on how to make adjustments through your browser to the cookies being used on your device, please click Find Out More link. By closing this banner or continuing to browse our website, you agree to our use of such cookies. FIND OUT MORE
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?
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?
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
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.
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
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.
I put this in a separate post, for more visibility.
Can you upgrade to the latest firmware version and perform tests with this?
07.02.204 -> 07.03.20
How do I get new firmware, tools and documentation files from Telit?