'Sim7080G module can't send data over TCP while using GNSS

I bought a Simcom (Sim7080G) module to use it for geolocation and send data over TCP. These modules are quite new on the market (it was first launched in mid 2019) and there is some weird functionning with it. I would like to know if people that use it struggle with the same problem.

enter image description here

My goal is to take GNSS (latitude/longitude) informations, and to send them over TCP.

Activate and take GNSS informations

AT+CGNSPWR=1 returns OK

AT+CGNSINF returns +CGNSINF: 1,1,20200517191239.000,4x.xxxxxx,6.xxxxxx,473.769,0.00,,0,,1.9,2.1,1.0,,7,,7.9,6.0

Connect to any TCP server

AT+CNACT=0,1 returns OK\r\n\r\n+APP PDP: 0,ACTIVE

AT+CAOPEN=0,0,"TCP",151.101.1.69,80 (151.101.1.69 is stackoverflow.com ip address) --> Some time waiting (like +40s) and then: +CAOPEN: 0,23\r\n\r\nOK

The code 23 means: 23 Remote refuse, but in my case the connection never reached the server.

Only GNSS or TCP can be used, but not both

What is weird about all of this, is the fact that I can connect on a TCP server, but this stops to work when I activate GNSS.



Solution 1:[1]

I sent an email to Simcom technical support. After insisting that my problem be addressed by a Simcom engineer, I received an answer. I encouraged them to be more clear on their documentation because this information was nowhere (this module is pretty new so I think they missed it on documentation).

Hope to help somebody in the same way or not to do the same pricey error:

Hi Dardan,

"it is not possible to use GNSS and TCP at the same time"

This is known limitation for this module, as there are limitation for LTE and GNSS part, they can not run simultaneously because they are sharing part of RF components(SIM7070G low cost version of SIM7000G) so it is time MUX for LTE and GNSS which means the GNSS performance could not be good(if customer needs to send GNSS data to server in very short interval such as <10 seconds), for SIM7000G LTE and GNSS can work simultaneously without problem. so SIM7070G could be a good solution for "parcel tracking" etc, which do not need the continue navigation. please go for SIM7000G, thanks.

xxxx Sun

Solution 2:[2]

I found this issue some hours before read this post. My product publishs in AWS IoT MQTT broker; it works, but I need the GPS coordinates to be sent together in message. I'm a lot frustrated, because such problem should be said in Simcom's documents. My previous version was using sim7600g, more expensive, but works fine. I live in Brazil, everytime I need to test some different module I loose more than 1 month to buy from China or somewhere and arrive a new one to me. I tried to turn ON/OFF GNSS and the TCP conection in alternate way, but is too slow the process to reconnect on gsm network.

Solution 3:[3]

Ran into this as well. With MQTT it is possible to power down the GPS unit to be able to send and receive MQTT messages without reconnecting/subscribing to the broker again. I've made a 30 second interval to enable/disable the GPS unit and tested it with HiveMQ public broker. Receiving of position data every 60 seconds is possible with this setup, which might be sufficient for some applications. For the price, it has this is still a good module.

Solution 4:[4]

I receive no response for HTTP Get request for the http://httpbin.org/get URL. Following is the output using the AT Command Tester from https://m2msupport.net


Checking registration status...

AT+CREG?

+CREG: 2,1,"912","3D73",0

OK
The device is registered in home network.

AT+CGREG?

+CGREG: 2,1,"912","3D73",0,"1"

OK
The device is registered in home network.

Device is registered.. 

Check the network APN...

AT+CGNAPN

+CGNAPN: 0,""

OK
Network did not send APN to the device.
Activate the network bearer...

AT+CNACT=0,1

OK

+APP PDP: 0,ACTIVE
Set up the HTTP URL...

AT+SHCONF="URL","httpbin.org"

OK
Set up the HTTP body length...

AT+SHCONF="BODYLEN",1024

OK
Set up the HTTP header length...

AT+SHCONF="HEADERLEN",350

OK
Initiating HTTP connection...

AT+SHCONN

OK
Get the HTTP connection state...

AT+SHSTATE?

+SHSTATE: 1

OK
HTTP connection is successful...

HTTP get request...

AT+SHREQ="http://httpbin.org/get",1

OK
No reponse received..

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Dardan Iljazi
Solution 2 Marcus Andre
Solution 3 Saman Salehi
Solution 4 Rizwan Hamid Randhawa