I have a Quectel EC25 modem and I do not plug the SIM card. When I want to set a different technology (2G, 3G, 4G) or different operator (MNC) using the following commands, "servingcell" is still the previous one.
AT+QENG="servingcell"
+QENG: "servingcell","LIMSRV","WCDMA",432,35,5962,9C58AFF,2993,453,1,-57,-11,-,-,-,-,-
OK
AT+COPS=1,2,"43235",0
OK
AT+QENG="servingcell"
+QENG: "servingcell","LIMSRV","WCDMA",432,35,5962,9C58AFF,2993,453,1,-57,-5,-,-,-,-,-
OK
AT+COPS=1,2,"43211",2
OK
AT+QENG="servingcell"
+QENG: "servingcell","LIMSRV","WCDMA",432,35,5962,9C58AFF,2993,453,1,-60,-6,-,-,-,-,-
OK
How can I apply the above locking on the modem? Is there a memory or similar concept which the current serving cell information is stored and I have to reset or clear before/after locking on the MNC or technology? Is there a complementary command to satisfy the locking conditions?
I don't have an EC25 to try myself, but I'm going to provide an answer based on my standard AT commands knowledge.
In abstract, I'm suggesting you to use
+COPS
only.In fact, looking to Quectel EC25 AT commands guide,
+QENG
command description is missing. Googling it I found out that it is a command for enabling enginering mode, and it syntax seems to vary.Strategy:
AT+COPS=?
Its response is provided in the format
In which you will see the list currently seen by the device.
Please note that, for every operator, stat can have following values:
This will be useful later.
which, according to command description in the guide linked above, means "Force manual operator selection, in numeric format, to operator "43211", with UTRAN technology"
Please note that
OK
might be returned even if the desired network is currently unavailableOK
for the actuar registration to the new operator. So, make sure to wait enough time before querying the current status. In the meantime you can also query registration status by issuingAT+CREG?
After waiting enough time after
+COPS
set command, query new status. You can eitherAT+COPS?
, that will provide the information about the current operatorAT+COPS=?
, in which the stat parameter for current operator is 2. If it is true for the operator we just forced, everything is ok.