【问题标题】:Error on checking balance via USSD通过 USSD 检查余额时出错
【发布时间】:2015-06-26 03:08:52
【问题描述】:

我一直在尝试通过 AT 命令通过 3g 调制解调器检查我的余额,但似乎卡住了。

设备信息如下:

制造商:高通公司
型号:M6281
修订:SSD_M6281A-0.0.1 1 [2008 年 10 月 2 日 07:00:00]

调制解调器具有 USSD 功能(广告并且也出现在工厂安装的仪表板中)。

我通过 putty 连接到 COM4 串行端口,这是我的调制解调器应用程序端口。所有 AT 命令都可以正常工作,但我在通过 putty 发出以下命令时遇到错误:

AT+CUSD=1,"*111#",15

这将返回一个简单的“错误”。 *111# 是我的运营商的余额检查代码。我怀疑某处存在格式错误,但我不知道在哪里。

注意:如果我发出一个空白的 ussd 命令:

AT+CUSD=1,"",15 

然后我得到一个 OK(虽然我后来得到一个响应 +CME ERROR: retry operation)......但是,如果我在引号内写任何东西,它会返回一个“ERROR”。

【问题讨论】:

  • 您是否确认您的调制解调器已注册到移动网络?通过 AT+CREG?
  • @aldrimic AT+CREG? +CREG:0,1

标签: putty at-command modem 3g ussd


【解决方案1】:

好的,我终于找到了解决这个问题的方法。显然编码有问题。这是我所做的:

AT+CSCS="GSM" // change character set to GSM
AT+CUSD=1,"*111#",15 // Issued balance check ussd code

现在可以正常工作了。

默认编码是 UCS2,如果有人可以分享如何在 putty 中将 ussd 代码转换为 UCS2 编码,我将不胜感激。

【讨论】:

  • 不确定您的调制解调器如何处理 UCS2。但是我有一些其他 Sierra Wireless 调制解调器,您只需将字符转换为十六进制就可以了。
  • 非常有价值的信息,感谢您提供此答案。
【解决方案2】:

您是否尝试过通过 AT+CUSD=1,"*111#" 发出请求? (没有最后一个参数) AT 命令有时会因制造商的实施而有所不同。

【讨论】:

  • 是的,没有区别。没有最后一个参数的空白命令也被接受......所以我想它对我的设置没有影响。
  • @dfgg 请使用 cmets 向用户询问有关问题的说明。
猜你喜欢
  • 1970-01-01
  • 2017-03-23
  • 2021-01-06
  • 2015-06-14
  • 2017-02-18
  • 2015-12-28
  • 2021-05-19
  • 1970-01-01
  • 2021-11-08
相关资源
最近更新 更多