Question

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 ?

Was it helpful?

Solution

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

OTHER TIPS

I solve this problem by using ATZ it's like this

AT+CMGF=1
ATZ
At+CUSD=1,"*100#",15

And it works great

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top