ModemManager: USSD not working on Huawei modems that don't support PDU encoding



When attempting to send the USSD command '*101#' on a Huawei E220,
ModemManager sends
AT+CUSD=1,"AA182C3602",15
Which eventually times out, Instead of sending
AT+CUSD=1,"*101#",15

>From what I can tell, some Huawei modems only support PDU encoded USSD
and others only support plain text USSD.
Some plain text USSD models: E620, E220, and the Vodafone branded
E272, K4505, K4605.
Some PDU USSD models: E160, E1752, E1820.

I do not know of an AT command to determine whether modem supports PDU
or plain text USSD, and maintaining a list of models would be tedious.
The following procedure has worked for me in another project:
Send the USSD command in plain text.
If the modem responds with "ERROR", send the USSD command PDU encoded.
 If successful, set a flag that signifies that for the remainder of
this session, all further USSD commands need to be PDU encoded and all
USSD responses need to be PDU decoded.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]