Ich habe eine Datenkarte ZTE MF190. Ich möchte AT-Befehle verwenden, um in 2G oder 3G zu registrieren und Internet über Datacard zuzugreifen. Dieser Artikel enthält Informationen zum Aufruf von Daten :
%Vor%Aber Ping von OS-Terminal zeigt 100% Paketverlust. Ich habe auf Ubuntu 14 und Windows 7 versucht.
Wie kann ich Internet mit AT-Befehlen verbinden, die Datenkarte auf Ubuntu verwenden?
Ich habe die Antwort von @ tripleee geopfert, weil sie voller ist als die erste und alle meine Fragen beantwortet hat. Aber ich bin nicht mit den Antworten zufrieden, also werde ich meine eigene Frage in einer Woche beantworten.
In meiner Antwort werde ich zeigen, wie man diesen Prozess mit Java umgehen kann. Bitte verschiebe diese Frage nicht auf andere Stack Exchange-Websites.
Soweit ich weiß wvdial verwendet ppp-Daemon , um über Modem eine Verbindung zum Internet herzustellen. wvdial ist auf der Desktop-Version von Ubuntu vorinstalliert.
wvdial verwendet eine Konfigurationsdatei, die sich /etc/wvdial.conf
befindet. Lassen Sie uns diese Datei bearbeiten. Gib dein Terminal ein
und Sie werden so etwas sehen
%Vor%Erklärung aller Schlüssel finden Sie in der wvdial.conf (5) - Linux man-Seite . Wenn Sie die Einwahlnummer, den Benutzernamen, das Passwort oder andere Informationen zu Verbindung und Gerät ändern müssen, können Sie den Dateiinhalt ändern und speichern.
Es gibt 3 serielle Anschlüsse für ZTE MF190 . Normalerweise ist es ttyUSB0
, ttyUSB1
und ttyUSB2
. Und in meinem Fall ist ttyUSB2
für die Internetverbindung. An anderen Ports würde es nicht funktionieren. Sie müssen also den richtigen seriellen Anschluss für Ihr Modem finden.
Es gibt einen automatischen Konfigurator, der die Datei wvdial.conf bearbeitet, die Baudrate für die serielle Schnittstelle usw. festlegt. Da die Konfiguration nicht immer korrekt ist, würde ich die Verwendung nicht empfehlen :
%Vor%Es wäre besser, wenn Sie wvdial manuell konfigurieren.
Wenn Ihr Gerät nun verbunden und wvdial für die Verwendung mit dem Gerät konfiguriert wurde, können Sie diese Zeile vom Terminal aus ausführen:
%Vor%Sie werden viele Linien sehen. Aber wenn Sie diese Zeilen sehen - Sie haben Erfolg gehabt.
%Vor%Nun, wie können wir es beim Programmieren verwenden? Ich werde etwas Code zur Verfügung stellen, um damit auf Java zu arbeiten. Sie können diesen Code zum Wählen verwenden.
%Vor%Und hier ist eine Trennermethode. Sie müssen nur wvdial beenden und der Thread wird zerstört:
%Vor%Das Herstellen einer Verbindung zwischen der Karte und Ihrem Provider ist nicht ausreichend. Sie benötigen einen Mechanismus zum Erstellen einer Netzwerkschnittstelle aus dieser Verbindung und richten Ihren Netzwerkstapel ein, um Pakete über diese Schnittstelle zu routen.
Traditionell ist der pppd
-Daemon eine beliebte Wahl für diese Aufgabe. Sie würden ein "Chat-Skript" mit den Befehlen zum Einrichten eines Datenaufrufs erstellen (in diesen Tagen könnte pppd
mit einem geeigneten vordefinierten Skript geliefert werden) und der Daemon würde den gesamten Prozess des Anrufs, der Authentifizierung, der Einrichtung eines Netzwerkschnittstelle über die Verbindung und Konfiguration des Systems, um Pakete darüber zu routen, sowie DNS usw. zu konfigurieren, um es für Resolver - Abfragen usw. zu verwenden.
Ich habe versucht, den USB-Anschluss zu schnüffeln, aber in diesem Fall kann das Dashboard wegen des belegten Anschlusses keine Verbindung herstellen
Es ist sicherlich möglich. Siehe diese Frage
Diesen Artikel über zum Aufruf von Daten
In diesem Artikel geht es darum, wie man den Anruf einrichtet und nicht wie man ihn macht.
Nachdem Sie die korrekte Einrichtung vorgenommen haben, verbinden Sie sich mit dem folgenden Befehl mit dem Internet:
ATD*99***1#
UPDATE1 : Nach ein bisschen Forschung glaube ich, dass dieser Artikel nur geschrieben wurde, um seine Software zu bewerben und keinen praktischen Nutzen hat. In Wirklichkeit wird mit pppd
oder wvdial
UPDATE2 : Wir haben Wege zur Lösung des Problems in besprochen ein Chatraum (auf Russisch) . Es stellte sich heraus, cnetworkmanager wird der Weg sein
Tags und Links java ubuntu at-command