2015-04-19 1 views
1

J'ai essayé de vérifier ma balance à partir du modem 3g via les commandes AT et j'ai l'impression d'être bloqué.Erreur lors de la vérification de la balance via USSD

Le dispositif infomation est la suivante:

Fabricant: QUALCOMM INCORPORATED
Modèle: M6281
Révision: SSD_M6281A-0.0.1 1 [2 octobre 2008 07:00:00]

Le le modem a la capacité USSD (annoncé et également présent dans le tableau de bord installé en usine).

Je me connecte via putty au port série COM4 qui est mon port d'application de modems. Toutes les commandes AT fonctionnent bien mais je reçois une erreur sur ce qui suit l'émission par l'intermédiaire du mastic:

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

Ce retourne une simple « erreur ». * 111 # est le code de contrôle de solde de mon opérateur. Je soupçonne qu'il y a une erreur de formatage quelque part mais je ne peux pas savoir où.

Note: Si j'envoie une commande USSD vide:

AT+CUSD=1,"",15 

puis-je obtenir un OK (bien que je reçois plus tard une réponse + CME ERROR: opération réessayer) ... Si je vous écris quoi que ce soit au sein de la citation marques cependant, il renvoie une "ERREUR".

+0

Avez-vous vérifié que votre modem est enregistré sur un réseau mobile? Via AT + CREG? – aldridmc

+0

@aldrimic AT + CREG? + CREG: 0,1 –

Répondre

4

Ok, j'ai finalement trouvé le moyen de résoudre ce problème. Apparemment, il y avait un problème dans l'encodage. Voici ce que j'ai fait:

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

Cela fonctionne maintenant très bien.

L'encodage par défaut était UCS2, j'apprécierais que quelqu'un puisse partager comment convertir les codes ussd en codage UCS2 dans le putty.

+1

Vous ne savez pas comment votre modem gère UCS2. Mais j'ai d'autres modems Sierra Wireless dans lesquels vous convertissez simplement les caractères en hexadécimal et cela fonctionne. – aldridmc

+0

Informations très précieuses, merci de fournir cela comme une réponse. – hlovdal

1

Avez-vous essayé d'émettre une demande par AT + CUSD = 1, "* 111 #"? (sans dernier paramètre) AT cmmands diffèrent parfois en raison de la mise en œuvre du fabricant.

+0

Oui, ne provoque aucune différence. La commande vide est également acceptée sans le dernier paramètre ... donc je suppose que cela ne fait pas de différence dans ma configuration. –

+0

@dfgg Veuillez utiliser les commentaires pour demander à un utilisateur des éclaircissements sur sa question. –