Check for 4G availability when connected in 3G (please help)

As the modem is not supposed to handover from 3G to 4G when the connection is not in IDLE, is it possible to understand the LTE signal availability/strenght while in 3G/2G?



Through AT command, we can see all the technologies supported by the modem. Anyhow, we could not view the signal strength while in 3G mode.


The only way to determine if 4G is available is through the at+cops=? command which cannot be performed while connected.

If the unit is connected the unit internally will be aware if it is available because of the system information coming down through the BCCH but there is no indication that the application can get of this. The best way is to periodically drop the connection wait for a few seconds when the application allows it for the unit to be in idle, the reselection to 4G, if it is available, it is pretty quick (unable to define this as it varies from scenario to scenario) and then restart the session.

I know this has worked well on drive tests.



Clarification to my previous comment.

When I have said drop the connection I mean to disconnect any active data session that is currently running. So for a unit running DirectIP you would send the command at!scact=0,x where x is the profile number you have used. Once the OK has been returned to this command the session will have been dropped and the ethernet interface on your system will have disappeared, the unit is then free to reselect LTE as its bearer of choice and any subsequent session will be started on this.

If using QMI the appropriate API should be invoked to perform the same action.

The time it takes for the connection to be shutdown is dependent on the network response time but is rarely more than 5 seconds.