【问题标题】:How to block a PIN on sim/uicc如何在 sim/uicc 上阻止 PIN
【发布时间】:2019-12-23 07:11:03
【问题描述】:

我尝试自动化一些测试,测试将验证 pin 的解锁,但要重复测试,pin 应该再次被阻塞。

我找不到再次阻止引脚的方法(重置除外)。
即使是像 ETSI TS 102 221 这样的规范,也只提到了如何解锁、启用、禁用该引脚。

为什么在任何地方都没有描述像阻止/注销这样简单的事情?

重置有效(调制解调器重置,AT!RESET),但它很慢而且似乎是一个令人讨厌的解决方案(现在,甚至可以在不重新启动 PC 的情况下从 Windows 注销)。

其他信息:我希望使用标准调制解调器命令或至少使用标准 SIM 命令(如 AT+CSIM=...)提供通用解决方案。
但似乎没有,所以解决方案取决于调制解调器/制造商。

就我而言,我使用的是 Sierra EM7565

【问题讨论】:

  • 我可能会帮助你...但是在圣诞节假期期间我的办公桌上没有模块会很困难。同时:重置有什么问题?通常需要 1s 左右才能完成。
  • @Cubo78 那太好了。目前我也不在工作。但你的评论让我重新思考我的重置。 (我在 Linux 系统上)目前我重置了调制解调器,这导致设备 /dev/ttyUSB2 暂时消失并在几秒钟后重新出现,可能涉及一些服务。但是当我只重置 sim 卡时,应该不会出现问题
  • 硬件重置您的 sim 卡,如果您可以访问这些引脚(GPIO?),可能就足够了。

标签: at-command modem umts pin-code


【解决方案1】:

不幸的是,当您说规范从未描述在蜂窝调制解调器使用的 SIM 中再次设置 PIN 待定状态的标准方法时,您是对的

推荐的解决方案是重置调制解调器。当你写

重置有效,但速度很慢,而且似乎是一个讨厌的解决方案 (现在,甚至可以在没有 重启电脑)。

您可能指的是 主机 PC 重置,我同意它可能会变慢。但是,只要您可以重新启动调制解调器,您就不需要重置主机。

你也可以

  • 移除它的电源,这肯定会移除 SIM 的电源。这当然取决于您的设备与主机的连接方式。
  • 为设备重启提供 AT 命令。通常所有供应商都有执行此操作的自定义命令。例如,Telit 模块支持命令 AT+REBOOT 可重新启动调制解调器和 SIM 状态。

创造性的解决方案:+CFUN=4/+CFUN=1

我试图在我的两个 Telit 调制解调器上找到另一种解决方案,它们属于 GE910 和 LE910 系列。只有第一个有效。出于这个原因我不能保证它适用于世界上所有的蜂窝调制解调器

如标题所述,解决方案在于按顺序提供

AT+CFUN=4
AT+CFUN=1

+CFUN 命令设置电话功能。第一个命令关闭 RF,第二个命令恢复完整功能模式。

但是+CFUN=4 命令通常用作某种省电模式,因此关闭 SIM 卡电源可以进一步降低功耗。这就是我的 GE910-QUAD 模块中发生的情况。

因此,它可能也适用于您正在使用的未指定设备。

【讨论】:

  • 感谢您的建议。目前我进行调制解调器重置,但这很慢,因为在我的 Ubuntu 上,这会导致 /dev/ttyUSBx 被删除,一段时间后设备又回来了。我希望至少存在一种仅重置 SIM 卡的通用方法,但星期一我会尝试您的 AT+CFUN=4/1 提示。
  • Telit 模块实际上确实有一些方法可以通过自定义命令重置 SIM。我省略了它们,因为我试图提供仅使用标准命令的解决方案。
  • 您的解决方案 AT+CFUN=4 后跟 AT+CFUN=1 不适用于我的调制解调器。但是你给我指出了正确的方向。谢谢
【解决方案2】:

我找到了适用于 Sierra EMEM7565 调制解调器的解决方案。
选择第二个 SIM 接口会禁用第一个接口的电源。
这实际上是对 SIM 卡的重置。

AT!UIMS=1   -- Select active SIM interface 1
... wait 1 second
AT!UIMS=0   -- Select active SIM interface 0

也可以通过

实现
AT+CFUN=0   -- Power Down Sim
AT+CFUN=1   -- Power Up Sim

但这仅适用于SIM power state during Low Power Mode 配置为2 = Power down SIM with AT+CFUN=0;
这可以通过 AT!CUSTOM="SIMLPM",2,但还要求之前使用at!entercnd="<pwd>" 启用对受密码保护的命令的访问

因此,AT!UIMS=1 后跟 AT!UIMS=0 的解决方案似乎更好。

【讨论】:

  • 我明白了。无论如何使用自定义命令(我试图使用标准命令),Telit 设备也有一个 100% 有效的解决方案,使用 #SIMDET 命令。我明天会更新我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多