Hi,
We are facing an issue that is most probably related to the case when both LTE and GPS are used.
The use case is like a traditional GPS tracker, fixing and tracking stats with GPS and sending that data to the cloud.
The way we are doing that is the following:
- Start GPS tracking is a continuous navigation mode
- Sending some data over LTE (mostly triggered by external events)
- Sending the location data if the GPS had been fixed
So the GPS is running all the time in the "background" and from time to time got preempted by the LTE radion.
The problem that we have is our firmware stuck after some hours and it happens more often if the GPS can not be fixed due to the bad reception.
But it almost did not happen at all if the GPS is able to acquire a fix in a short time (around about 15 seconds).
I tried to track it down by adding verbose logging to any critical parts, but it led nowhere.
The way it sometimes stuck (based on the verbose logs I implemented) is around network communication, socket recv() and send(). The system is not crashing but never returns from those function calls. But this is not a general thing, sometimes can not even reach them, just stuck somewhere else which I could not figure out yet.
Even implemented our own way to switch between LTE and GPS by stopping and resuming
the GPS tracking based on the RRC status changes, but did not help at all. We saw the same behaviors as before.
My assumption is based on the fact that if I disable all GPS activities, and just send dummy GPS data to our cloud, then everything is working just fine. Can run for days with any issues.
So my question would be, how to continue troubleshooting our issue? Is there any restriction in general that I missed maybe about using LTE and GPS together?
Thank you in advance!