Gibt es einige Tools oder Befehle, mit denen ich USSD-Codes zum Überprüfen des Guthabens und des Datengleichgewichts der GSM-SIM-Karte in meinem USB-Modem (mobiler Breitbanddongle) senden kann?
Dies sind einige Apps mit Unterstützung für USSD Balance Check:
Prepaid Manager ist ein Applet für den GNOME Desktop, mit dem Sie den Kontostand von mobilen Prepaid-SIM-Karten von GSM überprüfen und aufladen können. Es ist eine einfache und minimalistische App mit USSD-Kontostandprüfung und Aufladung. Aber auf der anderen Seite ist es eine sehr veraltete Anwendung und hat seit langer Zeit keine neuen Updates mehr erhalten. Und wenn Ihr Provider nicht unterstützt wird, müssen Sie ihn manuell konfigurieren, wie auf der Homepage beschrieben . Zum Installieren klicken Sie hier:
Oder führen Sie den folgenden Befehl aus:
sudo apt install prepaid-manager-applet
Die Modem Manager-Benutzeroberfläche ist eine Komplettlösung zur Verwaltung und Überwachung von Modems auf der Basis von Mobilfunknetzen. Es bietet eine Menge Funktionen, und die USSD-Unterstützung ist nur eine davon. Eine vollständige Liste der Funktionen finden Sie auf der offiziellen Homepage . Zum Installieren klicken Sie hier:
Oder führen Sie den folgenden Befehl aus:
sudo apt install modem-manager-gui
V Mobile Broadband ist die ursprüngliche Vodafone Mobile Connect- Software für Linux, die vom Open Source-Betavine Connection Manager-Team von Vodafone so umgeschrieben wurde, dass sie mit Network Manager kompatibel ist. Leider scheint es im Moment nicht sehr aktiv gewartet zu werden und ist in Ubuntu-Repos nicht verfügbar. Sie können jedoch Ihr Glück versuchen, das Projekt aus dem Quellcode zu erstellen. Schauen Sie sich ihre GitHub-Seite an .
Warnung : v-mobile-broadband
hängt davon ab wader
, welche Ubuntu-Standardeinstellung ersetzt wird modemmanager
. Wenn Sie also Probleme mit dem neuen Setup haben und sich für eine Deinstallation entscheiden v-mobile-broadband
, vergessen Sie nicht, das modemmanager
Paket neu zu installieren .
Zu
gammu
diesem Zweck können Sie das Befehlszeilenprogramm verwenden. Wenn der USSD-Code zum Abrufen Ihres Guthabens (sagen wir) * 901 # lautet, würden Sie Folgendes ausführen:Installations- und Konfigurationsanweisungen sowie weitere Details finden Sie hier .
quelle
Sie können AT-Befehle direkt verwenden, um Ihr Guthaben über USSD abzufragen. Dafür verwendet jedes serielles Terminal - Programm , das Sie kommunizieren mit Ihrem Modem kann direkt (
putty
,minicom
etc.).Ich habe mich entschieden,
atinout
weil es sich gut in die Kommandozeile einfügt. Zuerst installieren Sie es:Wenn Sie dann ModemManager verwenden (die Standardeinstellung unter Ubuntu Linux), müssen Sie es möglicherweise zuerst deaktivieren, um
atinout
auf Ihr Modem zugreifen zu können:Um nun einen USSD-Code für die Kontostandsabfrage an das Netzwerk zu senden (z. B. * 901 #) und das Ergebnis anzuzeigen, verwenden Sie diesen Befehl:
Dies setzt voraus, dass sich Ihr Modem in befindet
/dev/ttyUSB1
. DerAT
Befehl im zweitenatinout
Befehl dient nur dazu, die unaufgeforderte USSD-Antwort als Nebeneffekt anzuzeigen, der nach dem hätte eintreffen sollensleep
.Für den Fall, dass für die Abfrage Ihres Guthabens ein USSD-Menü erforderlich ist: Dies ist auch mit möglich
atinout
, siehe diese Antwort .quelle
Sie können sie mit dem Paket machen
modem-manager-gui
. Es ist aber nur für 13.10 verfügbar. In anderen Versionen müssen Sie sie im Terminal mit dem Paket verwaltenmodemmanager
.Wenn Sie in Ubuntu 13.10 sind:
In anderen Versionen von Ubuntu können Sie dies mit der Anwendung tun
prepaid-manager-applet
quelle
Sie können das Linux-Befehlszeilentool verwenden
gsm-ussd
, um USSD-Codes zu senden, Antworten zu erhalten und sogar in USSD-Menüs zu navigieren (obwohl dies für mich nicht stabil / verwendbar war).Detaillierte Anweisungen zur Installation und Konfiguration finden Sie hier . Das dort zur Installation angebotene Debian-Paket der Version 0.4 ist die neueste Version des Entwicklungszweigs .
Wenn der USSD-Code, um Ihr Guthaben zu erhalten, (sagen wir) * 901 # ist und Ihr Modem dies ist
/dev/ttyUSB1
, würden Sie dies ausführen, um einen einfachen USSD-Code zu senden und die Antwort des Netzwerks anzuzeigen (was nicht zu einem Menü führt):quelle
Sie können den
mmcli
Befehlszeilenclient von Ubuntus Standard-ModemManager verwenden, um einen USSD-Code zu senden und die Antwort zu erhalten:Beginnen Sie mit der Auflistung Ihrer Modems :
mmcli -L
. Dies zeigt einen Modem-Gerätepfad wie/org/freedesktop/ModemManager1/Modem/0
. Die Nummer am Ende ist der Modemindex. Denken Sie daran.Aktivieren Sie das Modem (vorausgesetzt, Ihr Modemindex ist 0):
mmcli -m 0 -e
Senden Sie die USSD-Anfrage und zeigen Sie die Antwort an. Angenommen, der USSD-Code Ihres Netzbetreibers zum Abrufen des Guthabens lautet * 901 #, lautet der Befehl:
Für den Fall, dass für die Abfrage Ihres Guthabens ein USSD-Menü erforderlich ist: Dies ist auch mit möglich
mmcli
, siehe diese Antwort .quelle
error: couldn't initiate USSD session: 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Unsupported: Operation not supported.'
Für mich funktionieren beide ModemManager-basierten Lösungen
gammu
nicht richtig mit der mehrzeiligen USSD-Antwort. zB hat mein Operator einen USSD-Befehl*104#
, auf den er etwa reagiert:Es ist enttäuschend, nur die erste nutzlose Zeile zu sehen :
You have:
.Schließlich fand ich eine Problemumgehung mit
picocom
und manuellen AT-Befehl. Jedes Mal, wenn ich mein Guthaben überprüfen möchte, muss ich Folgendes tun:Beenden Sie zunächst den Modem-Manager:
Jetzt müssen Sie Ihren Modemport kennen. in meinem Fall ist es
/dev/ttyACM0
.Wenn Sie Ihren Port nicht kennen, versuchen Sie Folgendes:
Und suchen Sie den Eintrag mit
Mobile Broadband Modem
. ZB sieht meine Ausgabe wie folgt aus:Weitere Informationen zum richtigen Port finden Sie unter folgendem Link: https://gist.github.com/heyalexej/cc6c97b1ea42736b3ff7
Verwenden Sie dann picocom, um eine Verbindung zu Ihrem Port herzustellen:
Sie sollten so etwas sehen:
(Wenn Sie dies nicht sehen
*EMRDY: 1
, bedeutet dies wahrscheinlich, dass Sie den Modem Manager nicht gestoppt haben, siehe oben)Dann geben Sie ein:
Und nach einigen Sekunden sollten Sie Ihre Antwort erhalten, die mehrzeilig sein kann:
Verwenden Sie zum Beenden von picocom Ctrl-A Ctrl-X
Starten Sie den Modem-Manager erneut:
quelle
Sie können die virtuelle Open-Source-PBX-Lösung FreeSwitch zusammen mit der Erweiterung GSMopen verwenden , um USSD-Befehle [ source ] zu senden .
Wenn der USSD-Code zum Abrufen Ihres Guthabens beispielsweise (901 #) lautet, würden Sie Folgendes ausführen:
In den anderen Antworten gibt es natürlich einfachere Lösungen, aber falls Sie GSMopen trotzdem verwenden (… zum Beispiel, weil dies die einzige Möglichkeit ist, GSM-Sprachanrufe unter Linux zu tätigen…).
quelle