When the modem has low or no signal while I’m streaming data, I’ve noticed that the modem stops accepting packets after a few minutes. But if I bring it to an area with a strong signal, the data packets are accepted again and are successfully sent to whoever the receiver is.
Correct me if I’m wrong but it looks like the modem’s internal data buffer gets full since it is not able to send the data out.
So I’ve been monitoring the connection status using the QMI_WDS_GET_PKT_SRVC_STATUS message, to determine if I have a viable connection to send my data out but it keeps reporting that the modem is connected and never seems to switch to disconnected even if I remove the antennae.
Is there a way to know when the connection is valid and data is being sent out? Is the only viable way to wait for it’s internal buffer to fill up until I can’t send anything?
It sound like you are using the open source QMI client and not the Sierra based one so it is a little difficult to comment on what element you need to be monitoring but speak from a general point of view there is no way to determine if the unit has limited ability to send data. Typically this could be down to poor signal strength but equally you might have good strength but poor throughput due to network congestion.
There are multiple parameters you need to monitor to gauge if the link has a problem these include.
- Signal strength.
- Link quality.
- Whether the unit still has an IP address (would indicate the unit had been taken down).
- Obviously throughput.
- Bearer you are on i.e. if you go from LTE and fall back to 2G then it might seem that you have a problem but in actual fact the bearer could be going as fast as it can (80kbps is not great when compared to LTE).