问题
I'm trying to check the SIM Card Balance via USSD using Huawei E1550 3G modem
But when i always send
AT+CUSD=1,"*100#",15
I Get
+CME Error: 100
And yes my modem support USSD because i have a dashboard application for the modem and i can check the balance and also recharge the SIM Card.
I'm using GSMComm library in C# i've also tried it in putty termainl but keep getting the same error
I searched for the error 100 and found that it's "Unknown Error" no really helpful :)
I did also tried changing text mode to pdu mode before sending but nothing changed
AT+CMGF=0
Note: I've also tried
AT+CUSD=1,"*100#"
the same error
and the response of
AT+CUSD=?
is
(0-2)
UPDATE
I've Converted the request "*100#" to 7bit "2A31303023" like this
AT+CUSD=1,"2A31303023" ,15
response
+CUSD: 2
I believe that the problem is about to be solved but what the response mean ?
回答1:
You have to encode the message to PDU format
gsmcomm PDUConverter can be used to do this
https://github.com/welly87/GSMComm/blob/master/PDUConverter/GsmComm.PduConverter/SmsPdu.cs
回答2:
I solve this problem by using atz
it's like this
AT+CMGF=1
ATZ
At+cusd=1,"*100#",15
And it works great
来源:https://stackoverflow.com/questions/20111517/gsm-modem-ussd-check-balance-getting-cme-error-100