我正在使用EGS5 Cinterion无线模块。
我将模块放在一个区域,我只收到一些信号强度低(-100dBm - -105dBm)的操作员。当我使用AT+COPS=?
时,我看到有4个运营商可用。
AT+COPS=? +COPS: (1,"E-Plus",,"26203"),(1,"Telekom.de",,"26201"),
(1,"Vodafone.de",,"26202"),(1,"o2 - de",,"26207"),,(0-4),(0,2)
AT+CREG? +CREG: 0,0
和AT+COPS? +COPS: 1
使用AT+COPS=1,2,......
更改为上述某个运算符会返回OK
,但当我检查AT+COPS?
时,我会再次+COPS: 1
。
更改为AT+COPS=0
会返回ERROR
我不明白为什么我无法连接到网络,即使它可用。我的SIM卡没有锁定或任何东西,当我将无线模块放在接收效果更好的区域时,一切都正常工作
编辑:
at^smond
返回
^SMOND:262,07,C762,C389,76,687,109,,,0,,,2,,,,,,,0,,,,,,,0,,,,,,,0,,,,,,,0,,,,,,,0,,,,,,,0,2,2,99
所以即时连接到PLMN 26207,那是正确的吗?但AT+COPS?
仍会返回+COPS: 1
答案 0 :(得分:3)
我认为你对AT+COPS?
返回的内容感到困惑。第一个号码与手机所连接的网络不对应,它是<mode>
值。
该命令在27.007中定义,其语法为
Table 36: +COPS parameter command syntax
Command Possible response(s)
+COPS=[<mode>[,<format> +CME ERROR: <err>
[,<oper>[,<AcT>]]]]
+COPS? +COPS: <mode>[,<format>,<oper>[,<AcT>]]
+CME ERROR: <err>
+COPS=? +COPS: [list of supported (<stat>,long alphanumeric
<oper>,short alphanumeric <oper>,numeric <oper>
[,<AcT>])s][,,(list of supported <mode>s),(list of
supported <format>s)]
+CME ERROR: <err>
和<mode>
定义为
<mode>:
0 automatic (<oper> field is ignored)
1 manual (<oper> field shall be present, and <AcT> optionally)
2 deregister from network
3 set only <format> (for read command +COPS?), do not attempt registration/deregistration (<oper> and
<AcT> fields are ignored); this value is not applicable in read command response
4 manual/automatic (<oper> field shall be present); if manual selection fails, automatic mode (<mode>=0) is
entered
因此,回复+COPS: 1
仅告诉您手机已连接到
特定的网络运营商。 AT+COPS?
命令可以给出哪个操作符的详细信息,但这些参数是可选的,因此不需要手机。
为什么模式值0失败我不能说,但可能是模块在某些条件下仅支持自动而不是总是(比如某些AcT
值)。关于交换运营商,请注意这取决于与您的家庭网络运营商和每个访客网络的漫游协议。因为AT+COPS=?
返回N个运算符的列表,这并不意味着您可以切换到其中任何一个。