EP06-A Cell lock

I have an EP06-A (firmware EP06ALAR02A08M4G_01.003.01.003) in a Mikrotik SXT R in Canada on Rogers. I am trying to lock it to a specific tower, while still using carrier aggregation. I find I get the highest bandwidth from using band 7 as the primary, and band 12 as secondary. The problem is that band 7 doesn’t have the strongest signal, so the modem prefers other bands. I told it to use only bands 7 and 12, but it still prefers using only band 12.

It will switch to using band 7+12 after doing a heavy upload. For example, if I do a speed test, the download portion will go slowly. Then during the upload, the modem switches to band 7+12 and everything goes faster. But after a restart, it goes back to just band 12.

I found the documentation for the AT+QNWLOCK command in this document: https://sixfab.com/wp-content/uploads/2021/06/Quectel_EC2xEG9xEG2x-GEM05_Series_AT_Commands_Manual_V2.0.pdf

Using that, I can successfully lock to a specific cell with the command:

AT+QNWLOCK="common/lte",2,1950,187

But then it only uses band 7, and does not use CA. Since both bands I want have the same PCI, I tried setting the EARFCN in the command to 0:

AT+QNWLOCK="common/lte",2,0,187

The modem responds with “OK”, but it still connects to band 12 first on a different PCI (259 in this case, which has the strongest signal). So the QNWLOCK command seems to have no effect.

Is there a way to lock to two different EARFCN values with the same PCI?

In my case, the two I want are:

Band 7:
EARFCN: 1950
PCI: 187

Band 12:
EARFCN: 5060
PCI: 187

What does the test syntax AT+QNWLOCK=? list as the supported options?

My EM06-E lists two:

AT+QNWLOCK=?
+QNWLOCK: "common/4g",<num of cells>,[[<freq>,<pci>],...]
+QNWLOCK: "common/lte"[,<action>[,<EARFCN>,<PCI>[,<status>]]]
OK

It’s common/4g which supports locking to multiple cells, eg:

AT+QNWLOCK="common/4g",2,1950,187,5060,187

AT+QNWLOCK=? does not show any output:

image

The EP06 seems to follow the same format as page 94 of the document I linked to, that is:

+QNWLOCK: "common/lte"[,<action>[,<EARFCN>,<PCI>[,<status>]]]

Which does not show any obvious way to give multiple cells.

If I try AT+QNWLOCK="common/lte",2,1950,187,5060,187, it responds with ERROR.

I just looked at this again and noticed the difference with "common/4g" vs. "common/lte". Sorry, I missed that at first.

Trying AT+QNWLOCK="common/4g",2,1950,187,5060,187 responds with OK. But there is some strange behaviour. It does connect with CA, but with band 12 as the primary. When I do a speed test, the download speed is good, but when it gets to the upload, the cell connection just drops. This happens consistently, even after a reboot.

Before, it would switch to band 7 as the primary when it gets to the upload.

Nevermind, I figured it out. I had the EARFCN wrong for band 7. It should be 2950, not 1950. This works:

AT+QNWLOCK="common/4g",2,2950,187,5060,187

And a speed test works just fine, even through the upload.

Thank you!

I am looking for the same behavior - locking on the one cell tower I choose. I am very new to this. How would I go about figuring out all the values for this AT+QNWLOCK= command?

thanks

You need to know the EARFCN and the PCI of the tower you want to lock to. If you are currently connected to that cell, you can use this command to get that information:
AT+QENG="servingcell"

The response is in the format:
+QENG: "servingcell",<state>,"LTE",<is_tdd>,<mcc>,<m nc>,<cellid>,<pcid>,<earfcn>,<freq_band_ind>,<ul_band width>,<dl_bandwidth>,<tac>,<rsrp>,<rsrq>,<rssi>,<sin r>,<srxlev>

Note the position of the <pcid>,<earfcn> numbers.

If you’re not currently connected to the one you want, you can get the nearby cells with:
AT+QENG="neighbourcell"

The format of each line is:
+QENG: "neighbourcell intra","LTE",<earfcn>,<pcid>,<r srq>,<rsrp>,<rssi>,<sinr>,<srxlev>,<cell_resel_priority>, <s_non_intra_search>,<thresh_serving_low>,<s_intra_s earch>

Note the position of <earfcn>,<pcid> numbers.

If you’re locking to one band and you’ve already forced LTE mode by using AT+QCFG="NWSCANMODE",3, you can use:
AT+QNWLOCK: "common/lte",2,<EARFCN>,<PCI>

I wanted to lock to two bands for carrier aggregation. In that case, you can use the common/4g variation to specify two values:
AT+QNWLOCK="common/4g",2,<EARFCN>,<PCI>,<EARFCN>,<PCI>