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 命令):

  1. AT\r\n(检查 GSM)
  2. ATE0\r\n(回声禁用)
  3. AT+CMGF=1\r\n(设置短信文本模式)
  4. AT+IPR?\r\n(查询当前波特率)
  5. 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。

  1. +CMEE Error: 314 表示 SIM 卡忙,如您的问题主题所述
  2. +CMEE Error: 310 表示 SIM 未插入


可能的解决方案

  1. 首先,请确保SIM卡已正确插入。它必须完全推入。我想你正确地插入了它,但必须进行检查。

  1. 那么,既然你这么说

I try with 2 sim cards and got same result.

我建议你检查一下SIM卡座的触点(因为不太可能你的两张SIM卡都接触不良)。事实上,SIM 忙 状态,通常在实际读取 SIM 时达到(例如完整的电话簿)也可能意味着发生了一些不一致的操作(也有 SIM 故障 在这些情况下可以显示按摩)。


  1. 确保您等待 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出现。


  1. 确保已输入 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,这就是您需要更多安培的原因。