Hayes-Befehlssatz - Hayes command set

Der Hayes-Befehlssatz (auch bekannt als AT-Befehlssatz ) ist eine spezifische Befehlssprache, die ursprünglich 1981 von Dennis Hayes für das Hayes Smartmodem 300 Baud- Modem entwickelt wurde.

Der Befehlssatz besteht aus einer Reihe von kurzen Textzeichenfolgen, die kombiniert werden können, um Befehle für Operationen wie Wählen, Auflegen und Ändern der Parameter der Verbindung zu erzeugen. Die überwiegende Mehrheit der DFÜ-Modems verwendet den Hayes-Befehlssatz in zahlreichen Variationen.

Der Befehlssatz deckte nur die Operationen ab, die von den frühesten 300-Bit/s-Modems unterstützt wurden. Als neue Befehle erforderlich waren, um zusätzliche Funktionen in Modems mit höherer Geschwindigkeit zu steuern, entstanden von jedem der großen Hersteller eine Vielzahl von Einzelstandards. Diese teilten weiterhin die grundlegende Befehlsstruktur und -syntax, fügten jedoch eine beliebige Anzahl neuer Befehle hinzu, die eine Art Präfix verwenden – zum Beispiel &für Hayes und USR und \für Microcom . Viele davon wurden nach der Einführung des SupraFAXModem 14400 und der folgenden Marktkonsolidierung auf die Hayes-Erweiterungen neu standardisiert .

Der Begriff „ Hayes-kompatibel “ war und ist seit 2018 in der Branche wichtig.

Geschichte

Hintergrund

Vor der Einführung des Bulletin Board Systems (BBS) arbeiteten Modems typischerweise an Direktwahl- Telefonleitungen, die immer mit einem bekannten Modem an jedem Ende begannen und endeten. Die Modems arbeiteten entweder im "Ursprungs"- oder "Antwort"-Modus und schalteten manuell zwischen zwei Frequenzsätzen für die Datenübertragung um. Im Allgemeinen schaltet der Benutzer, der den Anruf tätigt, sein Modem auf "Ursprung" und wählt dann die Nummer von Hand. Als das entfernte Modem antwortete, das bereits auf den "Antwort"-Modus eingestellt war, wurde der Telefonhörer ausgeschaltet und die Kommunikation fortgesetzt, bis der Anrufer die Verbindung manuell trennte.

Wenn eine Automatisierung erforderlich war, wurde sie in der Regel nur auf der Antwortseite benötigt – beispielsweise muss eine Bank möglicherweise Anrufe von mehreren Filialen zur Tagesabschlussbearbeitung entgegennehmen. Um diese Rolle zu erfüllen, boten einige Modems die Möglichkeit, das Telefon automatisch abzunehmen, wenn es sich im Antwortmodus befand, und die Leitung freizugeben, wenn der andere Benutzer die Verbindung manuell trennte. Der Bedarf an automatischer ausgehender Anwahl war erheblich seltener und wurde über ein separates Peripheriegerät, einen "Dialer", abgewickelt. Dieser wurde normalerweise an einen separaten Ein-/Ausgabe- Port des Computers (typischerweise ein RS-232- Port) angeschlossen und separat vom Modem selbst programmiert.

Diese Arbeitsweise funktionierte in den 1960er und frühen 1970er Jahren zufriedenstellend, als Modems im Allgemeinen verwendet wurden, um dumme Geräte wie Computerterminals (Auswahl) mit intelligenten Großrechnern (Antworten) zu verbinden. Die Mikrocomputerrevolution der 1970er Jahre führte jedoch zur Einführung kostengünstiger Modems und die Idee einer semi-dedizierten Punkt-zu-Punkt-Verbindung war nicht mehr angemessen. Es gab potenziell Tausende von Benutzern, die möglicherweise einen der anderen Tausende von Benutzern wählen wollten, und die einzige Lösung bestand damals darin, den Benutzer manuell wählen zu lassen.

Die Computerindustrie brauchte eine Möglichkeit, dem Modem über Software mitzuteilen, welche Nummer es wählen soll. Die früheren separaten Dialer hatten diese Fähigkeit, aber nur auf Kosten eines separaten Ports, den ein Mikrocomputer möglicherweise nicht zur Verfügung hat. Eine andere Lösung wäre gewesen, einen separaten Satz von "Befehlspins" zum Senden und Empfangen von Befehlen zu verwenden, eine andere hätte einen Signalpin verwenden können, der anzeigt, dass das Modem eingehende Daten als Befehl interpretieren soll. Beide hatten Hardwareunterstützung im RS-232-Standard. Viele Implementierungen des RS-232-Ports auf Mikrocomputern waren jedoch äußerst einfach, und einige haben viele dieser Pins aus Kosteneinsparungsgründen eliminiert.

Hayes' Lösung

Hayes Communications führte in seinem Smartmodem von 1981 eine Lösung ein, bei der die vorhandenen Datenpins ohne Modifikation verwendet wurden. Stattdessen könnte das Modem selbst zwischen einem von zwei Modi umgeschaltet werden:

  1. Datenmodus, in dem das Modem die Daten an das entfernte Modem sendet. (Ein Modem im Datenmodus behandelt alles, was es vom Computer empfängt, als Daten und sendet es über die Telefonleitung).
  2. Befehlsmodus, in dem Daten als Befehle an das lokale Modeminterpretiert werden(Befehle, die das lokale Modem ausführen soll).

Um vom Datenmodus in den Befehlsmodus zu wechseln, sendeten Sitzungen eine Escape-Sequenz mit drei Pluszeichen ("+++") gefolgt von einer Pause von etwa einer Sekunde. Die Pause am Ende der Escape-Sequenz war erforderlich, um das durch die Inband -Signalisierung verursachte Problem zu reduzieren : Wenn innerhalb einer Sekunde der drei Pluszeichen andere Daten empfangen wurden, handelte es sich nicht um die Escape-Sequenz und würde als Daten gesendet. Um zurückzuschalten, schickten sie das Online- Kommando "ATO". Bei der tatsächlichen Verwendung schalten viele der Befehle nach Abschluss automatisch in den Online-Modus, und es kommt selten vor, dass ein Benutzer den Online-Befehl explizit verwendet.

Um eine Lizenzierung des Hayes-Patents zu vermeiden, haben einige Hersteller die Escape-Sequenz ohne das Zeitüberwachungsintervall ( Time Independent Escape Sequence (TIES)) implementiert . Dies hatte erhebliche Auswirkungen auf die Denial-of-Service- Sicherheit, da es dazu führen würde, dass das Modem die Verbindung beendet, sollte der Computer jemals versuchen, die Bytefolge "+++ATH0" im Datenmodus zu übertragen. Für jeden Computer, der über ein solches Modem mit dem Internet verbunden ist, könnte dies leicht ausgenutzt werden, indem ihm eine Ping-of-Death- Anforderung gesendet wird, die die Sequenz "+++ATH0" in der Nutzlast enthält. Das Computerbetriebssystem würde automatisch versuchen, dem Absender mit derselben Nutzlast zu antworten, und sich sofort selbst vom Internet trennen, da das Modem die Datennutzlast des ICMP- Pakets als einen Hayes-Befehl interpretiert . Derselbe Fehler würde auch ausgelöst, wenn beispielsweise der Benutzer des Computers jemals versucht hätte, eine E-Mail mit der oben genannten Zeichenfolge zu senden.

Befehle

Der Hayes-Befehlssatz enthält Befehle für verschiedene Telefonleitungsoperationen wie Wählen und Auflegen. Es enthält auch verschiedene Steuerungen zum Einrichten des Modems, einschließlich eines Satzes von Registerbefehlen, die es dem Benutzer ermöglichten, die verschiedenen Speicherorte im ursprünglichen Hayes-Modem direkt einzustellen. Der Befehlssatz wurde von fast allen frühen 300-Baud-Modemherstellern, von denen es einige gab, weitgehend wörtlich kopiert, einschließlich der Bedeutung der Register.

Die Erweiterung auf 1200 und 2400 Baud erforderte das Hinzufügen eines kleinen Satzes neuer Befehle, von denen einige mit einem kaufmännischen Und ("&") vorangestellt wurden, um die neuen Funktionen zu kennzeichnen. Hayes selbst war gezwungen, kurz nach 1200 schnell ein 2400-Baud-Modell einzuführen, und die Befehlssätze waren zeitsparend identisch. Dies ermöglichte es den Benutzern bestehender 1200-Baud-Modems, die neuen Hayes 2400-Modelle zu verwenden, ohne ihre Software zu ändern. Dies verstärkte die Verwendung der Hayes-Versionen dieser Befehle. Jahre später erhob die Telecommunications Industry Association (TIA)/ Electronic Industries Alliance (EIA) den 2400-Baud-Befehlssatz zu einem formalen Standard mit dem Titel Data Transmission Systems and Equipment - Serial Asynchronous Automatic Dialing and Control , TIA/EIA-602 .

Hayes Communications veröffentlichte jedoch nur langsam Modems, die höhere Geschwindigkeiten oder Komprimierung unterstützen, und drei andere Unternehmen führten hier den Weg – Microcom , US Robotics und Telebit . Jeder dieser drei benutzte seine eigenen zusätzlichen Befehlssätze, anstatt darauf zu warten, dass Hayes den Weg weist. In den frühen 1990er Jahren gab es vier Hauptbefehlssätze und eine Reihe von Versionen, die auf einem davon basierten. Mit der flächendeckenden Einführung von 14,4- und 28,8-kbit/s-Modems Anfang der 90er Jahre wurde es wieder einfacher. Langsam wurde eine Reihe von Befehlen, die stark auf dem ursprünglichen erweiterten Hayes-Satz basierten, mit "&"-Befehlen populär und dann universell. Nur ein weiterer Befehlssatz ist populär geblieben, der US-Robotics-Satz aus ihrer beliebten Modemlinie.

Beschreibung

Der folgende Text listet einen Teil des Hayes-Befehlssatzes auf, der auch AT-Befehle genannt wird : "AT" bedeutet "Aufmerksamkeit". Jeder Befehlszeichenfolge wird ein "AT" vorangestellt, und eine Reihe von diskreten Befehlen können nach dem "AT" verkettet werden.

Der Hayes-Befehlssatz kann in vier Gruppen unterteilt werden:

  1. grundlegender Befehlssatz – Ein Großbuchstabe gefolgt von einer Ziffer. Zum Beispiel M1.
  2. erweiterter Befehlssatz – Ein "&" (kaufmännisches Und) und ein Großbuchstabe gefolgt von einer Ziffer. Dies erweitert den grundlegenden Befehlssatz. Beispiel: &M1. Beachten Sie, dass sich M1 von &M1 unterscheidet.
  3. proprietärer Befehlssatz – Normalerweise beginnend entweder mit einem umgekehrten Schrägstrich („\“) oder mit einem Prozentzeichen („%“); Diese Befehle variieren stark zwischen den Modemherstellern.
  4. Registerbefehle – Sr=n wobei r die Nummer des zu ändernden Registers und n der neu zugewiesene Wert ist. Ein Register repräsentiert einen bestimmten physikalischen Ort im Speicher. Modems haben kleine Speichermengen an Bord. Der vierte Befehlssatz dient zur Eingabe von Werten in ein bestimmtes Register (Speicherplatz). Beispielsweise weist S7=60 das Modem an, "Register #7 auf den Wert 60 zu setzen". Register steuern normalerweise Aspekte des Modembetriebs (zB Übertragungsstärke, Modulationsparameter) und sind normalerweise spezifisch für ein bestimmtes Modell.

Obwohl die Befehlssatzsyntax die meisten Befehle durch eine Buchstaben-Zahlen-Kombination (L0, L1 usw.) definiert, ist die Verwendung einer Null optional. In diesem Beispiel entspricht "L0" einem einfachen "L". Beachten Sie dies, wenn Sie die folgende Tabelle lesen.

Im Datenmodus kann eine Escape-Sequenz das Modem in den Befehlsmodus zurückversetzen. Die normale Escape-Sequenz besteht aus drei Pluszeichen ("+++"), und um sie von möglichen echten Daten zu unterscheiden, wird ein Guard-Timer verwendet: ihm muss eine Pause vorangehen, keine Pausen zwischen den Pluszeichen enthalten sein und gefolgt von einer Pause; Standardmäßig ist eine "Pause" eine Sekunde und "keine Pause" etwas weniger.

Syntaktische Definitionen

Es gelten die folgenden syntaktischen Definitionen:

  • <CR> Carriage Return Character, ist das Kommandozeilen- und Ergebniscode-Abschlusszeichen, dessen Wert in dezimalem ASCII zwischen 0 und 255 im Register S3 angegeben wird. Der Standardwert ist 13.
  • <LF> Zeilenvorschubzeichen, ist das Zeichen, das als Zeilenvorschubzeichen erkannt wird. Sein Wert in dezimalem ASCII zwischen 0 und 255 wird im Register S4 angegeben. Der Standardwert ist 10. Das Zeilenvorschubzeichen wird nach dem Wagenrücklaufzeichen ausgegeben, wenn ausführliche Ergebniscodes verwendet werden (Option V1 wird verwendet); Andernfalls, wenn Ergebniscodes im numerischen Format verwendet werden (Option V0 wird verwendet), wird sie nicht in den Ergebniscodes angezeigt.
  • <...> Name in spitzen Klammern ist ein syntaktisches Element. Sie erscheinen nicht in der Befehlszeile.
  • [...] Optionaler Unterparameter eines Befehls oder ein optionaler Teil der AT-Informationsantwort wird in eckige Klammern eingeschlossen. Klammern selbst erscheinen nicht in der Befehlszeile. Wenn der Unterparameter in AT-Befehlen mit einem Lesebefehl nicht angegeben wird, entspricht der neue Wert seinem vorherigen Wert. Bei AT-Befehlen, die die Werte eines ihrer Unterparameter nicht speichern und daher keinen Lesebefehl haben, die als Befehle vom Typ Aktion bezeichnet werden, sollte die Aktion auf der Grundlage der empfohlenen Standardeinstellung des Unterparameters ausgeführt werden.

Modem-Initialisierung

Ein String kann viele Hayes-Befehle aneinandergereiht enthalten, um das Modem optimal auf das Anwählen oder Antworten vorzubereiten, zB . Die meisten Modem-Software unterstützte eine vom Benutzer bereitgestellte Initialisierungszeichenfolge , die normalerweise ein langer verketteter AT-Befehl war, der beim Start an das Modem gesendet wurde. Die V.250-Spezifikation erfordert, dass alle DCEs einen Textkörper (nach "AT") von mindestens 40 Zeichen verketteter Befehle akzeptieren . AT&F&D2&C1S0=0X4

Beispielsitzung

Das Folgende stellt zwei Computer dar, Computer A und Computer B, beide mit angeschlossenen Modems, und der Benutzer steuert die Modems mit Terminalemulator- Software. Terminal-Emulator-Software ermöglicht es dem Benutzer normalerweise, Hayes-Befehle direkt an das Modem zu senden und die Antworten anzuzeigen. In diesem Beispiel lässt der Benutzer von Computer A das Modem die Telefonnummer von Modem B unter der Telefonnummer (212) 555-0100 (Ferngespräch) wählen. Nach jedem Befehl und jeder Antwort wird ein Wagenrücklauf gesendet, um den Befehl abzuschließen.

Modem A Modem B Kommentar
ATDT12125550100 Benutzer an Modem A gibt einen Wählbefehl aus: AT-Get the ATtention des Modems; D-Zifferblatt; T-Touch-Ton; 12125550100-Ruf diese Nummer an
RING Modem A beginnt zu wählen. Die Telefonleitung von Modem B klingelt, und das Modem meldet die Tatsache.
AN EINER Computer an Modem B gibt Antwortbefehl aus.
VERBINDEN VERBINDEN Die Modems verbinden sich und beide Modems melden "connect". (In der Praxis melden die meisten Modems weitere Informationen nach dem Wort CONNECT — die die Geschwindigkeit der Verbindung angeben.) Außerdem werden zu diesem Zeitpunkt beide Modems das DCD- oder Data Carrier Detect-Signal an der seriellen Schnittstelle ausgeben.
abcdef abcdef Wenn die Modems verbunden sind, erscheinen alle auf einer Seite eingegebenen Zeichen auf der anderen Seite. Die Person am Computer A beginnt zu tippen. Die Zeichen durchlaufen das Modem und erscheinen auf dem Bildschirm von Computer B. (Benutzer A sieht möglicherweise seine eigenen eingegebenen Zeichen nicht — abhängig von der lokalen Echoeinstellung der Terminalsoftware ).
+++ Die Person am Computer B gibt den Modem-Escape-Befehl aus. (Alternativ und häufiger könnte Computer B das DTR- oder Data Terminal Ready-Signal abbrechen, um einen Auflegen zu erreichen, ohne +++ oder ATH verwenden zu müssen.)
OK Das Modem bestätigt es.
ATH Die Person am Computer B gibt einen Auflegebefehl aus.
KEIN TRÄGER OK Beide Modems melden, dass die Verbindung beendet ist. Modem B antwortet mit "OK" als erwartetes Ergebnis des Befehls; Modem A sagt NO CARRIER, um zu melden, dass die Gegenseite die Verbindung unterbrochen hat. Die Modems auf beiden Seiten lassen auch ihre DCD-Signale fallen.

Kompatibilität

Während der ursprüngliche Hayes-Befehlssatz einen großen Sprung nach vorne in der modembasierten Kommunikation darstellte, traten mit der Zeit viele Probleme auf, von denen fast keines auf Hayes an sich zurückzuführen war :

  • Mangels eines schriftlichen Standards kopierten andere Modemhersteller nur die extern sichtbaren Befehle und (ungefähr) die grundlegenden Aktionen. Dies führte zu einer Vielzahl von subtilen Unterschieden in der Art und Weise, wie sich Modems von Zustand zu Zustand änderten und wie sie mit Fehlerbedingungen, Aufhängen und Zeitüberschreitungen umgingen.
  • Jeder Hersteller neigte dazu, neue Befehle hinzuzufügen, um neue Anforderungen zu erfüllen, die oft nicht mit anderen Modems kompatibel sind. Zum Beispiel erforderte das Einrichten von Hardware- oder Software-Handshaking oft viele verschiedene Befehle für verschiedene Modems. Dies untergrub die praktische Universalität des grundlegenden Hayes-Befehlssatzes .
  • Viele Hayes-kompatible Modems hatten schwerwiegende Macken, die sie effektiv inkompatibel machten. Beispielsweise benötigten viele Modems eine Pause von mehreren Sekunden, nachdem sie den Reset-Befehl "AT Z" erhalten hatten. Einige Modems erforderten Leerzeichen zwischen den Befehlen, andere nicht. Einige würden die Baudrate aus eigenem Antrieb nutzlos ändern, wodurch der Computer keine Ahnung hätte, wie er mit den eingehenden Daten umgehen soll.

Infolgedessen mussten viele Kommunikationsprogramme irgendwann jedes Gefühl aufgeben, mit allen "Hayes-kompatiblen" Modems sprechen zu können, und stattdessen mussten die Programme versuchen, den Modemtyp aus seinen Antworten zu bestimmen oder die Benutzer mit einer Option, mit der sie alle speziellen Befehle eingeben können, die erforderlich sind, um ihr bestimmtes Modem zu zwingen, richtig zu handeln.

Autobaud

Der Hayes-Befehlssatz erleichterte die automatische Erkennung der Baudrate, da "A" und "T" sehr regelmäßige Bitmuster aufweisen; "A" ist "100 0001" und hat daher ein 1-Bit am Anfang und Ende und "T" ist "101 0100", das ein Muster mit (fast) jedem zweiten gesetzten Bit hat. Da die RS-232-Schnittstelle zuerst das niedrigstwertige Bit überträgt , ist das entsprechende Linienmuster mit 8-N-1 (acht Datenbits, kein Paritätsbit, ein Stoppbit) 0 10000010 10 00101010 1 (Start- und Stoppbits kursiv ) als Synchronisationswort verwendet .

Der grundlegende Hayes-Befehlssatz

Die folgenden Befehle werden von praktisch allen Modems verstanden, die einen AT-Befehlssatz unterstützen, egal ob alt oder neu.

Befehl Beschreibung Bemerkungen
A0 oder A Eingehenden Anruf annehmen  
EIN/ Letzten Befehl wiederholen Kein AT voranstellen , kein Wagenrücklauf folgen. Enter bricht normalerweise ab.
D Wählen Wählen Sie die folgende Nummer und dann Handshake

P - Impulswahl
T - Tonwahl
W - Warten auf den zweiten Wählton
R - Zurück in den Antwortmodus nach dem Wählen
@ - Warten Sie bis zu 30 Sekunden auf einen oder mehrere Rückrufe
, - Pause für die in Register S8 angegebene Zeit ( normalerweise 2 Sekunden)
; - Bleiben Sie nach dem Wählen im Befehlsmodus.
! - Flash-Schalter-Hook (legen Sie für eine halbe Sekunde auf, wie beim Weiterleiten eines Anrufs.)
L - Wählen Sie die letzte Nummer

E0 oder E Kein Echo Gibt keine Befehle an den Computer aus
E1 Echo Gibt Befehle an den Computer zurück (damit man sehen kann, was man eingibt, wenn die Computersoftware kein Echo unterstützt)
H0 oder H Hakenstatus Am Haken. Legt das Telefon auf und beendet alle laufenden Anrufe.
H1 Hakenstatus Aus dem Haken. Nimmt die Telefonleitung an (normalerweise hören Sie ein Freizeichen)
I0 bis I9 Anfrage, Auskunft oder Vernehmung Dieser Befehl gibt Informationen über das Modell zurück, z. B. seine Firmware oder seinen Markennamen. Jede Zahl (0 bis 9 und manchmal 10 und höher) gibt eine Zeile mit modemspezifischen Informationen oder das Wort FEHLER zurück, wenn die Zeile nicht definiert ist. Heute verwendet Windows dies für die Plug-and-Play- Erkennung bestimmter Modemtypen.
L0 oder Ln (n=1 bis 3) Lautsprecherlautstärke. Wird nur von einigen Modems mit Lautsprechern unterstützt. Modems ohne Lautsprecher oder mit physischen Lautstärkereglern oder Modems, deren Soundausgabe über die Soundkarte geleitet wird, unterstützen diesen Befehl nicht. 0 schaltet den Lautsprecher aus, 1 bis 3 dienen zum Erhöhen der Lautstärke.
M0 oder M Lautsprecher aus, während des Wählens völlig lautlos M3 ist auch üblich, aber bei vielen Marken anders
M1 Lautsprecher eingeschaltet, bis der Netzbetreiber erkannt wird (Benutzer hört das Wählen und den Modem-Handshake, aber sobald eine vollständige Verbindung hergestellt ist, wird der Lautsprecher stumm geschaltet)
M2 Lautsprecher immer an (Datentöne sind nach zu hören CONNECT)
Ö Online zurückgeben Bringt das Modem nach Unterbrechung durch den Escape-Code "+++" in den normalen Verbindungszustand zurück.
Q0 oder Q Ruhemodus Aus - Zeigt Ergebniscodes an, der Benutzer sieht Befehlsantworten (zB OK)
Q1 Ruhemodus Ein - Ergebniscodes werden unterdrückt, der Benutzer sieht keine Antworten.
Sn Aktuelles Register auswählen

Beachten Sie, dass Sn , ? und = rsind eigentlich drei separate Befehle und können in separaten AT- Befehlen angegeben werden.

Wählen Sie Register n als aktuelles Register
S n? Wählen Sie Register n als aktuelles Register und fragen Sie seinen Wert ab. Verwenden ? automatisch abfragt, welches Register zuletzt ausgewählt wurde.
S n=r Wählen Sie Register n als aktuelles Register und speichern Sie r darin. Bei alleiniger Verwendung von =r wird das zuletzt ausgewählte Register gespeichert.
V0 oder V Ausführlich Numerische Ergebniscodes
V1 Englische Ergebniscodes (z. B. CONNECT, BUSY, NO CARRIERusw.)
X0 oder X Smartmodem Hayes Smartmodem 300 kompatible Ergebniscodes
X1 Fügt in der Regel die Verbindungsgeschwindigkeit zu grundlegenden Ergebniscodes hinzu (z. B. CONNECT 1200)
X2 Fügt normalerweise eine Wähltonerkennung hinzu (verhindert blindes Wählen und manchmal verhindert ATO )
X3 Fügt normalerweise die Besetztzeichenerkennung hinzu.
X4 Fügt normalerweise sowohl Besetztzeichen als auch Wähltonerkennung hinzu
Z0 oder Z Zurücksetzen Setzen Sie das Modem auf die gespeicherte Konfiguration zurück und schaltet das Modem normalerweise auch physisch aus (während es nicht reagiert). Z0' , Z1 usw. sind für mehrere gespeicherte Profile. &F ist insofern ähnlich, als es bei Modems ohne NVRAM (nicht flüchtiger Speicher) auf die werkseitigen Standardeinstellungen zurückgesetzt wird, das Modem jedoch nicht zurückgesetzt wird

Hinweis: Eine Befehlszeichenfolge wird mit einem CR-Zeichen (\r) abgeschlossen

Obwohl dies nicht Teil des Befehlssatzes, eine Tilde Zeichen \ wird üblicherweise in Modem - Befehlssequenzen verwendet. Das ~ bewirkt, dass viele Anwendungen das Senden des Befehlsstroms an das Gerät unterbrechen (normalerweise für eine halbe Sekunde), zB nach einem Reset . Das ~ wird nicht an das Modem gesendet.

Modem-S-Registerdefinitionen

Registrieren Beschreibung Reichweite Standardwert
S0 Anzahl der Rufzeichen vor Auto-Answer 0–255 (0 = nie) 0
S1 Ringzähler 0–255 Rufzeichen 0
S2 Escape-Zeichen 0–255, ASCII dezimal 43 ("+")
S3 Wagenrücklaufzeichen 0–127, ASCII dezimal 13 (Wagenrücklauf)
S4 Zeilenvorschubzeichen 0–127, ASCII dezimal 10 (Zeilenvorschub)
S5 Rücktaste 0–32, ASCII dezimal 8 (Rücktaste)
S6 Wartezeit vor blindem Wählen 2–255 Sekunden 2
S7 Nach dem Wählen auf den Mobilfunkanbieter warten 1–255 Sekunden 50
S8 Pausenzeit für Komma (Wählverzögerung) 0–255 Sekunden 2
S9 Reaktionszeit bei Netzbetreibererkennung 1–255 Zehntelsekunden 6 (0,6 Sekunden)
S10 Verzögerung zwischen Verlust des Mobilfunkanbieters und Auflegen 1–255 Zehntelsekunden 14 (1,4 Sekunden)
S11 Dauer des DTMF-Tons 50–255 Millisekunden 95 Millisekunden
S12 Escape Code Wachzeit 0–255 Fünfzigstelsekunden 50 (1 Sekunde)
S18 Test-Timer 0–255 Sekunden 0 Sekunden
S25 Verzögerung zu DTR 0–255 (Sekunden im Synchronmodus, Hundertstelsekunden in allen anderen Modi) 5
S26 RTS-zu-CTS-Verzögerungsintervall 0–255 Hundertstelsekunden 1 Hundertstelsekunde
S30 Inaktivitäts-Trenn-Timer 0–255 zehn Sekunden 0 (deaktivieren)
S37 Gewünschte Geschwindigkeit der Telekommunikationsleitung 0–10

Befehlsoptionen:

  • 0 Versuchen Sie, eine Verbindung im Automodus herzustellen
  • 1 Verbindungsversuch mit 300 Bit/s
  • 2 Verbindungsversuch mit 300 Bit/s
  • 3 Verbindungsversuch mit 300 Bit/s
  • 5 Verbindungsversuch mit 1200 Bit/s
  • 6 Verbindungsversuch mit 2400 Bit/s
  • 7 Versuchen Sie, eine Verbindung im V.23 75/1200-Modus herzustellen.
  • 8 Verbindungsversuch mit 9600 Bit/s
  • 9 Verbindungsversuch mit 12000 Bit/s
  • 10 Verbindungsversuch mit 14400 Bit/s
0
S38 Verzögerung vor der erzwungenen Trennung 0–255 Sekunden 20 Sekunden

V.250

Die ITU-T hat 1995 in ihren V-Series-Empfehlungen , V.25 ter , einen Standard festgelegt, um wieder einen Standard für den Befehlssatz zu etablieren. Es wurde 1998 in V.250 umbenannt, mit einem Anhang, der nicht den Hayes-Befehlssatz betraf , der in V.251 umbenannt wurde . Ein V.250-kompatibles Modem implementiert die Befehle A, D, E, H, I, L, M, N, O, P, Q, T, V, X, Z, &C, &D und &F auf die durch Der Standard. Es muss auch S-Register implementieren und die Register S0, S3, S4, S5, S6, S7, S8 und S10 für die im Standard angegebenen Zwecke verwenden. Es muss auch jeden Befehl ausführen, der mit dem Pluszeichen „+“ gefolgt von einem beliebigen Buchstaben A bis Z beginnt, nur in Übereinstimmung mit den ITU-Empfehlungen. Modemhersteller können andere Befehle und S-Register nach eigenem Ermessen implementieren und können Standardbefehle um Optionen erweitern.

V.250 – Definierte führende Zeichenfolgen
führende
Zeichen
Enthält Befehle im Zusammenhang mit
+A Probleme mit der Anrufsteuerung (Netzwerkadressierung), häufig, PSTN, ISDN, ITU-T Rec. X.25, digital geschaltet
+C Digitale Mobilfunkerweiterungen
+D Datenkomprimierung, ITU-T Rec. V.42 bis
+E Fehlerkontrolle, ITU-T Rec. V.42
+F Faksimile, ITU-T Rec. T.30 usw.
+G Allgemeine Themen wie Identität und Fähigkeiten
+ich Probleme mit der DTE-DCE-Schnittstelle, ITU-T Rec. V.24 usw.
+M Modulation, ITU-T Rec. V.32bis usw.
+P PCM DCE-Befehle, ITU-T Rec. V.92
+S Gewechselte oder gleichzeitige Datentypen
+T Testprobleme
+V Spracherweiterungen
+W Drahtlose Erweiterungen

GSM

Die ETSI GSM 07.07 (3GPP TS 27.007) spezifiziert Befehle im AT-Stil zur Steuerung eines GSM- Telefons oder Modems. Die ETSI GSM 07.05 (3GPP TS 27.005) spezifiziert Befehle im AT-Stil zum Verwalten der Kurznachrichtendienst- (SMS)-Funktion von GSM.

Beispiele für GSM-Befehle:

Befehl Beschreibung
AT+CPIN=1234 Geben Sie PIN - Code
AT+CPWD="SC","alt","neu" PIN-Code von 'alt' auf 'neu' ändern
AT+CLCK="SC",0,"1234" PIN-Code entfernen
EIN FERNSEHER Status
ATI Status (Hersteller, Modell, Revision, IMEI , Fähigkeiten)
AT+COPS=? Verfügbare Netzwerke auflisten 0-Unbekannt/2-Aktuell/3-Forbidden, Longname, Shortname, Numerical-ID, "AcT"
AT+CSQ Signalstärke abrufen. Antwort: +CSQ: < rssi (more=besser)>, < ber , less=besser>
ATD*99# Zugangspunkt wählen
AT+CGDCONT=1,"IP","access.point.name" Definiert PDP-Kontext

GSM/3G-Modems unterstützen typischerweise die ETSI GSM 07.07/3GPP TS 27.007 AT-Befehlssatzerweiterungen, obwohl die Anzahl der implementierten Befehle unterschiedlich ist.

Die meisten Hersteller von USB-Modems, wie Huawei, Sierra Wireless, Option, haben auch proprietäre Erweiterungen für die Auswahl des Funkmodus (GSM/3G-Präferenz) oder ähnliches definiert. Einige neuere Hochgeschwindigkeitsmodems bieten aus Leistungsgründen eine virtuelle Ethernet-Schnittstelle anstelle eines Point-to-Point-Protokolls (PPP) für die Datenverbindung (die PPP-Verbindung wird nur zwischen dem Computer und dem Modem verwendet, nicht über das Netzwerk). Die Einrichtung erfordert herstellerspezifische AT-Befehlserweiterungen. Manchmal sind die Spezifikationen für diese Erweiterungen offen verfügbar, manchmal benötigt der Anbieter eine NDA für den Zugriff auf diese.

Sprachbefehlssatz

Modems mit Sprach- oder Anrufbeantworterfunktionen unterstützen eine Obermenge dieser Befehle, um die digitale Audiowiedergabe und -aufzeichnung zu ermöglichen.

Siehe auch

Hinweise und Referenzen

Externe Links