PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 3G-Modem ansprechen



rstuby
29.01.15, 09:55
Hallo! Also ich weiß nicht, ob ich jetzt erst mal russische Realien erklären muss: Hier hat man für sein Handy bzw. Simkarte meist einen Vertrag nicht mit fester Abbuchung vom Bankkonto, sondern muss ab und zu mal Bargeld beim Zahlungsterminal einzahlen. Das können auch andere Leute machen, die die Nummer kennen. Jetzt habe ich einem Bekannten, für den ich eine Arbeit gemacht habe, die Telefonnummer von meiner SIM-Karte im 3G-Modem des Tablets (Provider: Megafon) gegeben, und er hat seine Bezahlung für meine Arbeit dort eingezahlt. So habe ich wieder einen kleinen Geldvorrat zur Nutzung vom mobilen Internet. ABER: Jetzt will er wissen, ob das Geld auch angekommen ist! Ich habe aber keine Ahnung, wie ich das unter Xubuntu 14.04 (habe z.Z. probeweise als Zweitoberfläche Enlightenment noch mit drauf) feststellen kann! Eine ältere russische Anleitung habe ich hier http://habrahabr.ru/post/98943/ gefunden, allerdings bezieht die sich auf externe USB-Modems. Wenn ich die Anleitung so übernehme, wird wohl mein Modem nicht angesprochen? Die Ausgabe ist:

ruth@ruth-tablet:~$ sh Skripte/megafonbalance.sh
GNOKII Version 0.6.31
Gnokii serial_open: open: Keine Berechtigung
Konnte ATBUS-Gerät nicht öffnen: Keine Berechtigung
Initialisieren der Telefon-Schnittstelle fehlgeschlagen: Kommando fehlgeschlagen.
Beenden.
Kommando fehlgeschlagen.
GNOKII Version 0.6.31
Gnokii serial_open: open: Keine Berechtigung
Konnte ATBUS-Gerät nicht öffnen: Keine Berechtigung
Initialisieren der Telefon-Schnittstelle fehlgeschlagen: Kommando fehlgeschlagen.
Beenden.
Kommando fehlgeschlagen.
GNOKII Version 0.6.31
Gnokii serial_open: open: Keine Berechtigung
Konnte ATBUS-Gerät nicht öffnen: Keine Berechtigung
Initialisieren der Telefon-Schnittstelle fehlgeschlagen: Kommando fehlgeschlagen.
Beenden.
Kommando fehlgeschlagen.
GNOKII Version 0.6.31
Gnokii serial_open: open: Keine Berechtigung
Konnte ATBUS-Gerät nicht öffnen: Keine Berechtigung
Initialisieren der Telefon-Schnittstelle fehlgeschlagen: Kommando fehlgeschlagen.
Beenden.
Kommando fehlgeschlagen.
sed: kann /home/ruth/.3g-balance.txt nicht lesen: Datei oder Verzeichnis nicht gefunden
grep: .3g-balance.txt: Datei oder Verzeichnis nicht gefunden
ruth@ruth-tablet:~$

Ich vermute mal, die .gnokiirc muss angepasst werden, um das interne 3G-Modem anzusprechen? Aber wie?
Die Ausgabe von lsusb lautet:


ruth@ruth-tablet:~$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 19d2:0117 ZTE WCDMA Technologies MSM
Bus 001 Device 003: ID 0bda:8172 Realtek Semiconductor Corp. RTL8191SU 802.11n WLAN Adapter
Bus 001 Device 008: ID 13d3:3286 IMC Networks
Bus 001 Device 007: ID 0c45:62c0 Microdia Sonix USB 2.0 Camera
Bus 001 Device 006: ID 20b3:0a18 Hanvon 10.1 Touch screen overlay
Bus 001 Device 005: ID 05af:1017 Jing-Mold Enterprise Co., Ltd
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

drcux
29.01.15, 10:05
dmesg | grep tty

gadget
29.01.15, 10:13
Gnokii serial_open: open: Keine Berechtigung
Vielleicht brauchst du root-Rechte?

rstuby
29.01.15, 10:18
dcrux:

ruth@ruth-tablet:~$ dmesg | grep tty
[ 0.000000] console [tty0] enabled
[ 9.168978] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB0
[ 9.171914] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB1
[ 9.182028] usb 1-3: GSM modem (1-port) converter now attached to ttyUSB2
ruth@ruth-tablet:~$

drcux
29.01.15, 10:38
Müsste port = /dev/ttyUSB2 sein...

rstuby
29.01.15, 12:07
Mit ttyUSB2 und Rootrechten bekomme ich folgendes:


ruth@ruth-tablet:~$ sudo sh Skripte/megafonbalance.sh
GNOKII Version 0.6.31
Sperrdatei /var/lock/LCK..ttyUSB2 ist veraltet. Überschreibe sie...
Fehler: Ungültiger Sicherheitscode.
GNOKII Version 0.6.31
Gelöschte SMS (Position 0 im Speicher SM)
Gelöschte SMS (Position 1 im Speicher SM)
Gelöschte SMS (Position 2 im Speicher SM)
Gelöschte SMS (Position 3 im Speicher SM)
Gelöschte SMS (Position 4 im Speicher SM)
Gelöschte SMS (Position 5 im Speicher SM)
Gelöschte SMS (Position 6 im Speicher SM)
Löschen einer SMS schlug fehl (Position 7 im Speicher SM)! (Zeitüberschreitung des Kommandos.)
Gelöschte SMS (Position 8 im Speicher SM)
Gelöschte SMS (Position 9 im Speicher SM)
Gelöschte SMS (Position 10 im Speicher SM)
Gelöschte SMS (Position 11 im Speicher SM)
Gelöschte SMS (Position 12 im Speicher SM)
Löschen einer SMS schlug fehl (Position 13 im Speicher SM)! (Zeitüberschreitung des Kommandos.)
Löschen einer SMS schlug fehl (Position 14 im Speicher SM)! (Zeitüberschreitung des Kommandos.)
Gelöschte SMS (Position 15 im Speicher SM)
Gelöschte SMS (Position 16 im Speicher SM)
GNOKII Version 0.6.31
Senden mit Referenz -1 erfolgreich!
GNOKII Version 0.6.31
Gespeichert in /home/ruth/.3g-balance.txt
Abholen einer SMS schlug fehl (Position 0 im Speicher SM)! (Der gegebene Platz ist leer.)
Abholen einer SMS schlug fehl (Position 1 im Speicher SM)! (Es ist ein Problem innerhalb des Model-spezifischen Codes aufgetreten.)
Abholen einer SMS schlug fehl (Position 2 im Speicher SM)! (Der gegebene Platz ist leer.)
Abholen einer SMS schlug fehl (Position 3 im Speicher SM)! (Der gegebene Platz ist leer.)
Abholen einer SMS schlug fehl (Position 4 im Speicher SM)! (Der gegebene Platz ist leer.)
Abholen einer SMS schlug fehl (Position 5 im Speicher SM)! (Der gegebene Platz ist leer.)
sed: kann /home/ruth/.3g-balance.txt nicht lesen: Datei oder Verzeichnis nicht gefunden
grep: .3g-balance.txt: Datei oder Verzeichnis nicht gefunden
ruth@ruth-tablet:~$

Währenddessen ging die Verbindung zum mobilen Internet verloren. Also irgendeinen Impuls scheint das Modem bekommen zu haben. Ich glaube, ich muss mich jetzt erst mai in gnokii einlesen. Dann muss der Kunde halt warten mit seiner Info, ob ich das Geld bekommen habe :-)

rstuby
30.01.15, 18:33
Hallo noch mal! Anscheinend war gnokii die falsche Fährte. Modem-manager-gui ist eine GUI, die Modemmanager benutzt (ansttt sich mit ihm zu beißen) und problemlos SMS senden und empfangen kann. USSD leider nicht, da gibt es Timeout. Dasselbe geschieht auch bei dem Progrämmchen prepaid-manager-applet. Vielleicht ist mein Modem einfach nicht dafür gebaut? Ich habe jetzt das Guthaben abgefragt, indem ich die SIM-Karte in mein altes Handy gesteckt und dort die USSD *100# (scheint ja ziemlich universal für Guthabenabfragen benutzt zu werden) eingegeben habe. Das Geld war übrigens angekommen :-)
Soll ich noch mal die Konsolenausgaben zu den Versuchen der beiden Programme posten oder ist es eine relativ eindeutige Sache, dass es am Funktionsumfang der Hardware liegt?

gadget
30.01.15, 18:40
oder ist es eine relativ eindeutige Sache, dass es am Funktionsumfang der Hardware liegt?
Wahrscheinlicher ist, dass es am Funktionsumfang der Software liegt...

rstuby
30.01.15, 19:00
Auch wenn die eine Software diese Funktion explizit anbietet und die andere extra dafür gemacht ist?

Leider bringen die Ausgaben aber auch nicht viel:


** (modem-manager-gui:1977): WARNING **: Modem Manager >= 0.7.0: Timeout was reached

sagt nur dasselbe, was die GUI auch mitteilt. Prepaid-Manager macht keinen Timeout, sondern bleibt endlos beim Schritt "Awaiting Modem Response" stehen, bis dahin sieht die Konsolenausgabe so aus:



ruth@ruth-tablet:~$ prepaid-manager-applet
Traceback (most recent call last):
File "/usr/share/prepaid-manager-applet/prepaid-manager-applet.py", line 199, in setup
modems = self.mm.get_modems()
File "/usr/share/prepaid-manager-applet/ppm/modemproxy.py", line 125, in get_modems
ret = mm.EnumerateDevices()
File "/usr/lib/python2.7/dist-packages/gi/overrides/Gio.py", line 171, in __call__
None)
gi._glib.GError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnkn own: The name org.freedesktop.ModemManager was not provided by any .service files
Traceback (most recent call last):
File "/usr/share/prepaid-manager-applet/prepaid-manager-applet.py", line 399, in on_balance_info_renew_clicked
self.controller.fetch_balance()
File "/usr/share/prepaid-manager-applet/prepaid-manager-applet.py", line 79, in fetch_balance
error_func=self.on_modem_error):
File "/usr/share/prepaid-manager-applet/ppm/provider.py", line 80, in fetch_balance
error_func=error_func)
File "/usr/share/prepaid-manager-applet/ppm/modemproxy.py", line 82, in wrapped_f
func(self, *args, **kw)
File "/usr/share/prepaid-manager-applet/ppm/modemproxy.py", line 157, in ussd_initiate
None)
TypeError: Argument 4 does not allow None as a value

Das sieht mir schon irgendwie nach Softwareproblemen aus, aber bei der Modem-Manager-GUI funktioniert ja das Senden und Empfangen von SMS problemlos, sie ist also in der Lage, das Modem prinzipiell anzusprechen.

gadget
30.01.15, 20:59
Das sieht mir schon irgendwie nach Softwareproblemen aus, aber bei der Modem-Manager-GUI funktioniert ja das Senden und Empfangen von SMS problemlos, sie ist also in der Lage, das Modem prinzipiell anzusprechen.
Oder das Modem wird nicht vollständig unterstützt...

Noether
01.02.15, 01:48
Wo gibt es denn das Skript megafonbalance.sh?

rstuby
01.02.15, 06:38
Noether, auf der russischen Seite,die ich am Anfang verlinkt habe. PIN anpassen.

#!/bin/bash
PIN=1234

notify-send "Мегафон-модем" "Запрос баланса..."
echo "$PIN" | gnokii --entersecuritycode PIN
gnokii --deletesms SM 0 end
echo "0" | gnokii --sendsms 000100
sleep 2
gnokii --getsms SM 0 5 -F ~/.3g-balance.txt
sed -ie 's/^M/\n/g' ~/.3g-balance.txt
#^M скопировать не получится, для красоты сообщений желательно ее ввести с помощью <ctrl-v><ctrl-m>
notify-send "Megafon-модем" "`grep 'Баланс.*руб\.' .3g-balance.txt`"

Noether
01.02.15, 21:16
Aha, danke.
Dazu braucht man offbar noch das gnokii, so das ich das praktisch nicht installieren und testen kann in den argentinischen Anden mit dem schmalbandigen Internetzungang.
Aber das Skript scheint ohnehin nur bei dem einen russischen Anbieter zu funktionieren.

rstuby
02.02.15, 10:09
Ich mache mir keine größeren Hoffnungen mehr auf gnokii und Co, seit ich modem-manager-gui und prepaid-manager-applet kenne und ausprobiert habe. Diese (insbesondere ersteres) sind doch offenbar deutlich kompatibler mit meinem System und direkt für meine Zwecke gebaut (und schaffen es trotzdem nicht), während gnokii eigentlich in erster Linie dafür da ist, Computer und Handy miteinander kommunizieren zu lassen.

Edit: Wieso kannst du gnokii nicht installieren? Es ist bei Ubuntu in den repositories vorhanden. Kannst du gar keine Programme installieren? Und möchtest du auch dein Guthaben abfragen oder etwas anderes machen?

Noether
03.02.15, 17:54
Edit: Wieso kannst du gnokii nicht installieren?

Hier in den Anden geht das schlecht, weil meist deutlich unter 100 kBit/s und mit hohem Packet-Loss, so das ich selbst einfache Downloads mit wget -c und in einer while-true-Schleife laufen lassen musste, wegen Hangups/Reconnects.
Das neueste Opera für Linux downzuloaden hat über 5 Stunden gedauert!