Hello. We have about 100 mobile computers with Sierra Wireless Mobile Broadband Network Adapter installed. These are 4G devices. We would like to force these devices into 3G mode. I know that sounds very illogical, but it would serve as a rather easy Band-Aid for a problem that we are seeing with these devices coming in over our dedicated T1 backhaul, which is getting pounded with the new 4G traffic. We are looking to replace the T1, but that won’t happen quickly.
Is there a way to force the adapter to only use 3G? If so, how would I go about doing that? Is there a setting or configuration that needs to be deployed?
If you are using the skylight software then you can do it through this otherwise it is AT commands. What is the unit? Also if you are in North America I think you would encounter coverage restrictions as LTE has far more coverage than 3G.
You make a very good point about 3G coverage being limited. Looking at OpenSignal’s mapping of Verizon coverage in the Auburn, CA area, the 4G coverage is much more dense than the 3G coverage. I’m not sure how accurate OpenSignal is as it is community supported and reports the coverage of folks who have the app installed and sending data back to OpenSignal servers. My suspicion is that many more users have 4G devices than 3G devices, so the results might be a little skewed in favor of the 4G coverage. We just migrated away from 3G devices in our area and some of the reports that we are getting is that the new 4G devices drop off more often, especially in the more rural areas.
Do you know where I might find information on how to set the AT commands? I do have the SkyLight software installed, but I’m not seeing a setting to set 3G or 4G. I do see a Network Selection option, but it is greyed out. Maybe Verizon is locking that down.
This will be a very short term fix as we are aggressively working to replace our T1.
If the Sierra unit has been supplied as part of an OEM device then they typically lock most control down so Skylight may have been modified and also I suspect you do not have access to the AT port (you should see it in the device managed under ports)?
You have not elaborated on the device that is in the PC but if you send the below it might sort you out.
ati //To identify the unit
at!entercnd="A710"
at!selrat? //This will tell you the current setting, take note of it so you can take it back to this when you are done
at!selrat=1 //This will set it to 3G only
at!selrat=0 //This sets it to automatic i.e. 3G and 4G (11 will also have a similar effect but stick with auto)
at!reset //Unit needs to be reset for the change to take effect
Note the external application might have been coded to set it to auto each time on power up, in which case it can’t be done.
Final caveat the above might not work anyway (but probably will if you can see the AT port) so no guarantees.
I have the EM7355 device. I was able to reference the AirPrime Embedded Module EM73xx/7655/8805 AT Command Reference document which provides some very good instruction. Truth be told, I had to brush up on my AT command. It’s been more than a decade since I worked on modem stuff at this level.
After reading over the document, I noticed the AT!BAND command, which according to the documentation, “Configure the modem to operate on a set of frequency bands, look up available sets, create new sets, or return the current selection.” The AT!SELRAT was an option, but looking at the documentation, the AT!BAND option seemed to hard code the band and was the preferred method. I did not see the AT!SELRAT command in the documentation, but it did seem to respond when issuing the AT!SELRAT? command.
After using Putty to connect to the COM port of the Sierra modem, I was able to issue the AT!BAND=2 to hard set to 3G. Please see screen shot of said Putty session. Interestingly enough, I was also able to use PowerShell to script this as well, see below.
# SetWWANBand.ps1
# Forces the WWAN device to use a specific band (3G, 4G, etc)
#set com port to correct port
$port=new-object system.io.ports.serialport com6,9600,None,8,One
$port.RtsEnable=$true
#putting the script to sleep to allow the slow com port to catch up
Start-Sleep -m 1000
$port.Open()
Start-Sleep -m 2000
#BAND=00 for all/auto, BAND=2 for 3G, BAND=4 for 4G
$port.WriteLine("AT!BAND=2`r")
Start-Sleep -m 100
$atstatus = $port.ReadExisting()
$port.Close()