GSM Telit GL865-QUAD AT command, error: 314 (SIM card busy)
GSM Telit GL865-QUAD AT command, error: 314 (SIM card busy)
我正在尝试使用 AT 命令通过 UART 与 GSM click 模块(Telit GL865-QUAD 模块)通信。首先我想阅读所有收到的消息,但由于某种原因我得到了error 314,意思是SIM卡正忙。 GSM的其他答案都可以。
这是我的配置(连续发送几个 at 命令):
AT\r\n
(检查 GSM)
ATE0\r\n
(回声禁用)
AT+CMGF=1\r\n
(设置短信文本模式)
AT+IPR?\r\n
(查询当前波特率)
AT+CMGL=\"ALL\"\r\n
(终于看完所有留言)
在 gsm 得到肯定 (OK
) 答复后,所有命令都有 1 秒的延迟。例如:send AT\r\n
wait for OK
然后等待1秒;延迟后发送另一个 AT 命令。
结果: 当我发送第一个 4 AT 命令时,GSM 得到了很好的响应。但是在第五个调制解调器 returns 错误 310(有时)之后是错误 314:
AT+CMGL="ALL"
+CMS ERROR: 310
AT+CMGL="ALL"
+CMS ERROR: 314\r\n
我用 2 张不同的 SIM 卡试过,得到了相同的结果。
欢迎任何想法或评论。
首先,GE865-QUAD是一个老设备,所以我建议你至少更新到最新的FW版本。您可以通过发出 AT+CGMR
AT 命令查询任何 GSM 调制解调器的当前固件版本。
编辑: 因为你有一个非常旧的版本(10.00.144
的日期是 2009/2010!)我强烈建议更新它,因为很多错误都可以修复自那时候起。您将能够从 Telit 站点获取最新版本,并通过 UART 闪存。
错误解释
您似乎收到错误 314,有时是错误 310。
+CMEE Error: 314
表示 SIM 卡忙,如您的问题主题所述
+CMEE Error: 310
表示 SIM 未插入
可能的解决方案
- 首先,请确保SIM卡已正确插入。它必须完全推入。我想你正确地插入了它,但必须进行检查。
- 那么,既然你这么说
I try with 2 sim cards and got same result.
我建议你检查一下SIM卡座的触点(因为不太可能你的两张SIM卡都接触不良)。事实上,SIM 忙 状态,通常在实际读取 SIM 时达到(例如完整的电话簿)也可能意味着发生了一些不一致的操作(也有 SIM 故障 在这些情况下可以显示按摩)。
- 确保您等待 SIM 卡就绪。事实上,即使 SIM 初始化通常只需要不到一秒的时间,在一些旧的 SIM 模型中也可能需要更长的时间。
泰利特提供查询SIM状态的命令:AT#QSS。正如 AT guide 所描述的,它可以为任何 SIM 状态更改启用未经请求的消息。但它也允许允许,通过它的读取命令异步查询状态:
AT#QSS?
Read command reports whether the unsolicited indication #QSS is currently enabled or not, along with the SIM status, in the format:
#QSS: mode,status
mode - the verbosity level of #QSS
URC, set with AT#QSS=mode
. Default value is 0; 2 enables the maximum verbosity level.
status - current SIM status
0 - SIM NOT INSERTED
1 - SIM INSERTED
2 - SIM INSERTED and PIN UNLOCKED (Note: available only if mode=2!)
3 - SIM INSERTED and READY (SMS and Phonebook access are possible) (Note: available only if mode=2!)
所以你必须等到状态 3。 我建议每 1/2 秒发出一次读取命令,直到达到所需的状态。 在达到该状态之前发出涉及 SIM 存储的命令将导致 SIM 忙错误。
非常重要:因为 status=3 只会在 mode=2 时显示,发出以下串联的 AT 命令以发现 SIM 卡是否已插入并且 READY 状态实际上已经在没有启用 URC 的情况下收到:
AT#QSS=2;#QSS?;#QSS=0
这样,就在读取命令之前设置mode=2,以便支持完整的状态列表。然后mode恢复为0值,避免URC出现。
- 确保已输入 PIN!
可以用PIN码锁定SIM卡。通过查询 AT+CPIN?
来验证它。如果响应是 +CPIN: SIM Ready
就没问题。否则,如果响应为 +CPIN: SIM PIN
,则必须通过发出
来插入 PIN 码
AT+CPIN=<PIN>
我找到问题所在了。 GSM 的电源没有足够的电流。对于 GSM,您必须从电源单元提供 3.3V 和 3A。如果你认为GSM一直需要3A,GSM就没有6.5W的功耗。 GSM 的峰值电流高达 2A,这就是您需要更多安培的原因。
我正在尝试使用 AT 命令通过 UART 与 GSM click 模块(Telit GL865-QUAD 模块)通信。首先我想阅读所有收到的消息,但由于某种原因我得到了error 314,意思是SIM卡正忙。 GSM的其他答案都可以。
这是我的配置(连续发送几个 at 命令):
AT\r\n
(检查 GSM)ATE0\r\n
(回声禁用)AT+CMGF=1\r\n
(设置短信文本模式)AT+IPR?\r\n
(查询当前波特率)AT+CMGL=\"ALL\"\r\n
(终于看完所有留言)
在 gsm 得到肯定 (OK
) 答复后,所有命令都有 1 秒的延迟。例如:send AT\r\n
wait for OK
然后等待1秒;延迟后发送另一个 AT 命令。
结果: 当我发送第一个 4 AT 命令时,GSM 得到了很好的响应。但是在第五个调制解调器 returns 错误 310(有时)之后是错误 314:
AT+CMGL="ALL"
+CMS ERROR: 310
AT+CMGL="ALL"
+CMS ERROR: 314\r\n
我用 2 张不同的 SIM 卡试过,得到了相同的结果。
欢迎任何想法或评论。
首先,GE865-QUAD是一个老设备,所以我建议你至少更新到最新的FW版本。您可以通过发出 AT+CGMR
AT 命令查询任何 GSM 调制解调器的当前固件版本。
编辑: 因为你有一个非常旧的版本(10.00.144
的日期是 2009/2010!)我强烈建议更新它,因为很多错误都可以修复自那时候起。您将能够从 Telit 站点获取最新版本,并通过 UART 闪存。
错误解释
您似乎收到错误 314,有时是错误 310。
+CMEE Error: 314
表示 SIM 卡忙,如您的问题主题所述+CMEE Error: 310
表示 SIM 未插入
可能的解决方案
- 首先,请确保SIM卡已正确插入。它必须完全推入。我想你正确地插入了它,但必须进行检查。
- 那么,既然你这么说
I try with 2 sim cards and got same result.
我建议你检查一下SIM卡座的触点(因为不太可能你的两张SIM卡都接触不良)。事实上,SIM 忙 状态,通常在实际读取 SIM 时达到(例如完整的电话簿)也可能意味着发生了一些不一致的操作(也有 SIM 故障 在这些情况下可以显示按摩)。
- 确保您等待 SIM 卡就绪。事实上,即使 SIM 初始化通常只需要不到一秒的时间,在一些旧的 SIM 模型中也可能需要更长的时间。
泰利特提供查询SIM状态的命令:AT#QSS。正如 AT guide 所描述的,它可以为任何 SIM 状态更改启用未经请求的消息。但它也允许允许,通过它的读取命令异步查询状态:
AT#QSS?
Read command reports whether the unsolicited indication #QSS is currently enabled or not, along with the SIM status, in the format:
#QSS: mode,status
mode - the verbosity level of
#QSS
URC, set withAT#QSS=mode
. Default value is 0; 2 enables the maximum verbosity level.status - current SIM status
0 - SIM NOT INSERTED
1 - SIM INSERTED
2 - SIM INSERTED and PIN UNLOCKED (Note: available only if mode=2!)
3 - SIM INSERTED and READY (SMS and Phonebook access are possible) (Note: available only if mode=2!)
所以你必须等到状态 3。 我建议每 1/2 秒发出一次读取命令,直到达到所需的状态。 在达到该状态之前发出涉及 SIM 存储的命令将导致 SIM 忙错误。
非常重要:因为 status=3 只会在 mode=2 时显示,发出以下串联的 AT 命令以发现 SIM 卡是否已插入并且 READY 状态实际上已经在没有启用 URC 的情况下收到:
AT#QSS=2;#QSS?;#QSS=0
这样,就在读取命令之前设置mode=2,以便支持完整的状态列表。然后mode恢复为0值,避免URC出现。
- 确保已输入 PIN!
可以用PIN码锁定SIM卡。通过查询 AT+CPIN?
来验证它。如果响应是 +CPIN: SIM Ready
就没问题。否则,如果响应为 +CPIN: SIM PIN
,则必须通过发出
AT+CPIN=<PIN>
我找到问题所在了。 GSM 的电源没有足够的电流。对于 GSM,您必须从电源单元提供 3.3V 和 3A。如果你认为GSM一直需要3A,GSM就没有6.5W的功耗。 GSM 的峰值电流高达 2A,这就是您需要更多安培的原因。