Inhalt

Einleitung

Was sind AT-Befehle?

Warum müssen wir AT-Befehle kennen?

Ausführung von AT-Befehlen auf CG522-E

Grundlegende AT-Befehle

Schlussfolgerung

Einleitung

Dieses Dokument beschreibt die Verwendung von AT-Befehlen für CG522-E-Modem, Sierra Wireless EM9190, die vom CG522-Betriebssystem angewendet werden können.

Was sind AT-Befehle?

AT-Befehle oder Aufmerksamkeitsbefehle sind eine Reihe von Anweisungen, die zur Steuerung von Modems verwendet werden. Der Name "AT" leitet sich vom Aufmerksamkeitspräfix ab, das jedem Befehl vorangestellt werden muss, um die Aufmerksamkeit des Modems zu erhalten. Diese Befehle werden verwendet, um verschiedene Modemfunktionen zu verwalten, darunter Wählen, Auflegen und Ändern von Kommunikationsparametern.

Warum müssen wir AT-Befehle kennen?

AT-Befehle sind aus mehreren Gründen notwendig, insbesondere wenn es um die Modemkommunikation und -steuerung in verschiedenen Anwendungen geht. Im Folgenden finden Sie einige wichtige Gründe, warum AT-Befehle benötigt werden:

1. Gerätesteuerung: AT-Befehle bieten eine standardisierte Methode zur Steuerung von Modemfunktionen wie Wählen von Nummern, Senden und Empfangen von Nachrichten und Verwalten von Netzwerkverbindungen.

2. Konfiguration: Sie ermöglichen die Konfiguration von Modemeinstellungen, einschließlich Netzwerkparametern, Datenübertragungseinstellungen und Energieverwaltung. Dies ist für die Leistungsoptimierung und die Gewährleistung der Kompatibilität mit verschiedenen Netzwerken von entscheidender Bedeutung.

3. Diagnose und Fehlerbehebung: AT-Befehle können verwendet werden, um Statusinformationen vom Modem abzufragen, die Signalqualität zu überprüfen und Fehlercodes abzurufen. Dies hilft bei der Diagnose und Behebung von Verbindungsproblemen.

Insgesamt sind AT-Befehle ein wichtiges Werkzeug für Entwickler, Ingenieure und Techniker, die mit Modem-Hardware effizient und effektiv interagieren und diese verwalten müssen. Sie bieten die notwendige Schnittstelle für eine Vielzahl von Kommunikationsaufgaben und -anwendungen.

Ausführung von AT-Befehlen auf CG522-E

Dazu führen Sie einfach die Befehle einer aktiven CLI-Sitzung auf dem Cellular Gateway aus.

CellularGateway# cellular 1 modem-at-commands

Value for '' (<string>):

cellular_modem_at_cmd: modem-at-response

Grundlegende AT-Befehle

ATI (auch AT Identification-Befehl genannt) ist ein Befehl, mit dem die Modemherstellung, ihr Modell, die laufende Firmware, IMEI und die Seriennummer des Herstellers angezeigt werden können.

CellularGateway# cellular 1 modem-at-commands

Value for '' (<string>): ati

cellular_modem_at_cmd: modem-at-response ati

Manufacturer: Sierra Wireless, Incorporated

Model: EM9190

Revision: SWIX55C_03.09.11.00 7bf975 jenkins 2022/06/10 20:36:01

IMEI: 111111111111

IMEI SV: 22

FSN: XXXXXXXXXXXX

+GCAP: +CGSM

OK

AT!PRIID? zeigt die OEM-PRI-Version und die verfügbaren Carriers-PRI-Optionen.

cellular_modem_at_cmd: modem-at-response AT!PRIID?

PRI Part Number: 9909919

Revision: 001.009

Customer: Cisco

Carrier PRI: 9999999_9909619_SWIX55C_03.09.11.00_01_ATT_030.046_001

Carrier PRI: 9999999_9911061_SWIX55C_03.09.11.00_01_BELL_030.007_001

Carrier PRI: 9999999_9909622_SWIX55C_03.09.11.00_01_DOCOMO_030.041_003

Carrier PRI: 9999999_9909621_SWIX55C_03.09.11.00_01_GENERIC_030.044_006

Carrier PRI: 9999999_9910814_SWIX55C_03.09.11.00_01_KDDI_030.025_001

Carrier PRI: 9999999_9910766_SWIX55C_03.09.11.00_01_SOFTBANK_030.031_004

Carrier PRI: 9999999_9910398_SWIX55C_03.04.03.00_01_TELSTRA_030.016_001

Carrier PRI: 9999999_9910308_SWIX55C_03.10.07.00_01_TMO_030.052_000

Carrier PRI: 9999999_9909620_SWIX55C_03.09.11.00_01_VERIZON_030.046_003

OK

AT!IMPREF? zeigt die verwendete PRI-Firmware und den Carrier neben dem bevorzugten Carrier, sofern konfiguriert.

cellular_modem_at_cmd: modem-at-response AT!IMPREF?

!IMPREF:

preferred fw version: 00.00.00.00

preferred carrier name: AUTO-SIM

preferred config name: AUTO-SIM_000.000_000

preferred subpri index: 000

current fw version: 03.09.11.00

current carrier name: GENERIC

current config name: GENERIC_030.044_006

current subpri index: 000

OK

AT!CPIN? zeigt an, ob die SIM bereit ist oder eine PIN aktiviert werden muss.

cellular_modem_at_cmd: modem-at-response AT+CPIN?

+CPIN: READY

OKAT+CPIN="SIM-PIN" is the command to insert a PIN to unlock the SIM.

cellular_modem_at_cmd: modem-at-response AT+CPIN="3045"

OK

Wenn jedoch das Mobilfunk-Gateway oder das Modem neu gestartet werden, muss die PIN erneut eingegeben werden.

AT+CLCK="SC",0,"SIM-PIN" kann angewendet werden, um die SIM dauerhaft zu entsperren, daher ist es nicht erforderlich, die PIM nach einem Neuladen wieder einzufügen.

cellular_modem_at_cmd: modem-at-response AT+CLCK="SC",0,"3045"

OK

AT+CREG? überprüft den aktuellen Registrierungsstatus des Modems für das leitungsvermittelte Netzwerk (GSM-Netzwerke). Es wird erwartet, dass ein Paar von Werten zurückgegeben wird.

Der erste Wert aus diesem Paar ist der Vorgang:

0 ist die Standardeinstellung, d. h., die Netzwerkregistrierung muss manuell überprüft werden.

1 bezieht sich auf den Ergebniscode, der bei einer Änderung im Netzwerk zurückgegeben wird.

2 zur Anzeige von Registrierungs- und Standortinformationen bei der Registrierung.

Sie müssen diese Werte nur ändern, wenn Sie vom TAC dazu aufgefordert werden. Der zweite Wert dieses Paares ist der Registrierungsstatus und kann interpretiert werden.

- 0- Nicht registriert, das Gerät sucht derzeit keinen neuen Operator.

- 1- Im Heimnetzwerk registriert.

- 2- Nicht registriert, aber das Gerät sucht derzeit nach einem neuen Operator.

- 3- Registrierung verweigert.

- 4- Unbekannt. Beispiel: außerhalb des zulässigen Bereichs.

- 5- Registriert, Roaming. Das Gerät ist in einem ausländischen (nationalen oder internationalen) Netzwerk registriert.

cellular_modem_at_cmd: modem-at-response at+creg?

+CREG: 0,1

OK

In diesem Ausschnitt sehen wir, dass der Vorgang auf 0 und die Registrierung auf 1 festgelegt ist.

AT+CEREG? verifiziert den aktuellen Netzwerkregistrierungsstatus des Modems für das paketvermittelte Netzwerk bzw. den Internetzugang. Es werden Werte zurückgegeben, die mit dem vorherigen Befehl übereinstimmen:

cellular_modem_at_cmd: modem-at-response at+creg?

+CREG: 0,1

OK

AT+CGREG? verifiziert den aktuellen Netzwerkregistrierungsstatus des Modems für das GPRS-Netzwerk. Es werden Werte zurückgegeben, die mit dem vorherigen Befehl übereinstimmen:

cellular_modem_at_cmd: modem-at-response at+cgreg?

+CGREG: 0,0

OK

AT+CIMI gibt den Wert von IMSI zurück:

cellular_modem_at_cmd: modem-at-response AT+CIMI

268069668483162

AT+CCID gibt den Wert von ICCID zurück:

cellular_modem_at_cmd: modem-at-response AT+CCID

+CCID: 89351060001115740710

AT!UIMS? gibt die Steckplatznummer der aktiven SIM-Karte zurück:

cellular_modem_at_cmd: modem-at-response AT!UIMS?

!UIMS: 0

AT!GSTATUS? zum Überprüfen des Verbindungsstatus, Systemmodus ENDC (NSA 5G) zum Überprüfen, ob eine aktive 5G-Verbindung vorhanden ist. Wenn der Systemmodus LTE ist, ist 5G nicht aktiv. Das angegebene LTE-Band ist das 4G-Ankerband für die ENDC-Verbindung.

Die SSC-Bänder (Secondary Serving Cells, sekundäre Serving Cells) sind für die zuletzt verwendeten Bänder für die Carrier-Aggregation, aber da wir hier eine aktive 5G-Verbindung haben, sind die SSC-Bänder inaktiv. Das angegebene NR5G-Band ist das 5G-Band, das für die Datenverbindung verwendet wird.

cellular_modem_at_cmd: modem-at-response AT!GSTATUS?

!GSTATUS:

Current Time: 1730657 Temperature: 44

Thermal Mitigation Level: 0

Reset Counter: 2 Mode: ONLINE

System mode: ENDC PS state: Attached

LTE band: B1 LTE bw: 20 MHz

LTE Rx chan: 500 LTE Tx chan: 18500

EMM state: Registered Normal Service

RRC state: RRC Connected

IMS reg state: REGISTERED IMS mode: Normal

IMS Srv State: FULL SMS,NO VoIP

PCC RxM RSSI: --- PCC RxM RSRP: ---

PCC RxD RSSI: -59 PCC RxD RSRP: -86

PCC RxM1 RSSI: --- PCC RxM1 RSRP: ---

PCC RxD1 RSSI: --- PCC RxD1 RSRP: ---

PCC Tx Power: -20 TAC: bc7a (48250)

RSRQ (dB): -7.8 Cell ID: 00066e2b (421419)

SINR (dB): 14.2

SCC1 NR5G band: n78 SCC1 NR5G bw: 90 MHz

SCC1 NR5G Tx Power: 3 SCC1 NR5G Tx chan: 650332

SCC1 NR5G Rx chan: 650332

NR5G RSRP (dBm): -94 NR5G RSRQ (dB): -11

NR5G SINR (dB): 19.5

NR!INFO? Verbindungsmodus NSA (nicht-standalone), wenn eine aktive 5G-Verbindung besteht. Diese Ausgabe zeigt, dass das NR5G-Band verwendet wird:

cellular_modem_at_cmd: modem-at-response AT!NRINFO?

!NRINFO:

Connectivity Mode: NSA

NR5G Cell ID: 67

NR5G band: n78 NR5G Carrier ID: 0

NR5G dl bw: 90 MHz NR5G ul bw: 90 MHz

NR5G Tx Power: 3 NR5G Tx chan: 650332

NR5G Rx chan: 650332

NR5G dl MIMO: 0 NR5G ul MIMO: 1

NR5G(sub6) RxM RSSI (dBm): -60.6 NR5G(sub6) RxD RSSI (dBm): -60.8

NR5G(sub6) RxM1 RSSI (dBm): -60.1 NR5G(sub6) RxD1 RSSI (dBm): -61.8

NR5G RSRP (dBm): -94 NR5G RSRQ (dB): -11

NR5G SINR (dB): 20.0

AT+CGDCONT? überprüft die programmierten Access Point-Namen (APNs):

cellular_modem_at_cmd: modem-at-response AT+CGDCONT?

+CGDCONT: 1,"IPV4V6","internet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0

+CGDCONT: 2,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0

AT+CGDCONT=X löscht und löscht bestimmte APN anhand ihrer Indexnummer:

cellular_modem_at_cmd: modem-at-response AT+CGDCONT?

+CGDCONT: 1,"IPV4V6","internet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0

+CGDCONT: 2,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0

OK

CellularGateway#

CellularGateway# cellular 1 modem-at-commands

Value for '' (<string>): AT+CGDCONT=2

cellular_modem_at_cmd: modem-at-response AT+CGDCONT=2

OK

CellularGateway#

CellularGateway# cellular 1 modem-at-commands

Value for '' (<string>): AT+CGDCONT?

cellular_modem_at_cmd: modem-at-response AT+CGDCONT?

+CGDCONT: 1,"IPV4V6","internet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0

OK

AT+PCINFO? überprüft den Status des Modems und des Computers mit niedrigerem Stromverbrauch. Wenn einer der LPM-Wähler (Energiesparmodus) ungleich null ist, gibt dies einen Grund an, warum das Modem auf den Energiesparmodus gesetzt wurde. Dies ist einer der häufigsten Gründe.

- Status: Online - gewünschter Status

- Temp: Höchsttemperatur

- Volt: Spannung außerhalb der Spezifikationen

- Benutzer: vom Benutzer erzwungen

- W_DEAKTIVIEREN: vom Benutzer erzwungen

- FOTA: FOTA-Upgrade-Prozess

cellular_modem_at_cmd: modem-at-response AT!PCINFO?

State: Online

LPM voters - Temp:0, Volt:0, User:0, W_DISABLE:0, IMSWITCH:0, BIOS:0, LWM2M:0, OMADM:0, FOTA:0, NVCRIT:0, RFCAL:0, MMWCAL:0, RFC_INIT:0

LPM persistence - None

AT!IMAGE? listet alle Firmware- und PRO-Images auf dem Modem auf:

cellular_modem_at_cmd: modem-at-response at!image?

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID

FW 1 GOOD 2 0 0 ?_? 03.09.11.00_?

FW 2 GOOD 1 0 0 ?_? 03.10.07.00_?

FW 3 GOOD 1 0 0 ?_? 03.04.03.00_?

Max FW images: 3

Active FW image is at slot 1

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID

PRI FF GOOD 0 0 0 030.046_001 03.09.11.00_ATT

PRI FF GOOD 0 0 0 030.007_001 03.09.11.00_BELL

PRI FF GOOD 0 0 0 030.041_003 03.09.11.00_DOCOMO

PRI FF GOOD 0 0 0 030.044_006 03.09.11.00_GENERIC

PRI FF GOOD 0 0 0 030.025_001 03.09.11.00_KDDI

PRI FF GOOD 0 0 0 030.031_004 03.09.11.00_SOFTBANK

PRI FF GOOD 0 0 0 030.016_001 03.04.03.00_TELSTRA

PRI FF GOOD 0 0 0 030.052_000 03.10.07.00_TMO

PRI FF GOOD 0 0 0 030.046_003 03.09.11.00_VERIZON

Max PRI images: 50

AT!IMAGE=<op><type><slot> löscht eine bestimmte Firmware.

- op = 0: Löschen, 1: Liste,

- Typ = 0: FW, 1: Konfig.

- slot = Firmware-slot-Index, keiner impliziert alle slots.

CellularGateway# cellular 1 modem-at-commands

Value for '' (<string>): at!image?

cellular_modem_at_cmd: modem-at-response at!image?

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID

FW 1 GOOD 2 0 0 ?_? 03.09.11.00_?

FW 2 GOOD 1 0 0 ?_? 03.10.07.00_?

FW 3 GOOD 1 0 0 ?_? 03.04.03.00_?

Max FW images: 3

Active FW image is at slot 1

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID

PRI FF GOOD 0 0 0 030.046_001 03.09.11.00_ATT

PRI FF GOOD 0 0 0 030.007_001 03.09.11.00_BELL

PRI FF GOOD 0 0 0 030.041_003 03.09.11.00_DOCOMO

PRI FF GOOD 0 0 0 030.044_006 03.09.11.00_GENERIC

PRI FF GOOD 0 0 0 030.025_001 03.09.11.00_KDDI

PRI FF GOOD 0 0 0 030.031_004 03.09.11.00_SOFTBANK

PRI FF GOOD 0 0 0 030.016_001 03.04.03.00_TELSTRA

PRI FF GOOD 0 0 0 030.052_000 03.10.07.00_TMO

PRI FF GOOD 0 0 0 030.046_003 03.09.11.00_VERIZON

Max PRI images: 50

OK

CellularGateway#

CellularGateway# cellular 1 modem-at-commands

Value for '' (<string>): AT!IMAGE=0,0,3

cellular_modem_at_cmd: modem-at-response AT!IMAGE=0,0,3

OK

CellularGateway#

CellularGateway# cellular 1 modem-at-commands

Value for '' (<string>): AT!IMAGE?

cellular_modem_at_cmd: modem-at-response AT!IMAGE?

TYPE SLOT STATUS LRU FAILURES UNIQUE_ID BUILD_ID

FW 1 GOOD 2 0 0 ?_? 03.09.11.00_?

FW 2 GOOD 1 0 0 ?_? 03.10.07.00_?

FW 3 EMPTY 0 0 0

AT+COPS? gibt den aktuellen Auswahlmodus, das Operatorformat, den Operator und die Funkzugangstechnologie zurück.

COPS: [Auswahlmodus],[Operatorformat],[Operator],[Funkzugangstechnologie] OK

<stat> = Netzwerkstatus.

- 0 = Unbekannt

- 1 = Verfügbar

- 2 = Stromstärke

- 3 = Verboten

<mode> = Auswahlmodus

- 0 = automatische Auswahl

- 1 = manuelle Auswahl

- 2 = Registrierung beim Netzwerk aufheben

<format> = Operatorformat.

- 0 = lang alphanumerisch - "T-Mobile USA"

- 1 = kurz alphanumerisch - "TMO"

- 2 = numerisch alias MCC + MNC - "310260"

<Operator> = Operator Identifier

Ziffernfolge, die die Operatorbezeichner in der Liste <Format> zurückgibt.

<AcT> = Funktechnologie

- 0 = GSM

- 1 = GSM Compact

- 2 = UTRAN

- 3 = GSM mit EGPRS

- 4 = UTRAN mit HSDPA

- 5 = UTRAN mit HSUPA

- 6 = UTRAN mit HSDPA und HSUPA

- 7 = E-UTRAN

- 8 = EC-GSM-IoT (A/Gb-Modus)

- 9 = E-UTRAN (NB-S1-Modus)

- 10 = E-UTRA verbunden mit einem 5GCN.

- 11 = NR verbunden mit einem 5GCN

- 12 = Standalone, 5 G

- 13 = nicht eigenständig (5G)

cellular_modem_at_cmd: modem-at-response AT+COPS?

+COPS: 0,0,"MEO MEO",13

OK

AT!VERINFO zeigt die Host- und Modemdetails an:

cellular_modem_at_cmd: modem-at-response AT!VERINFO

SBL: BOOT.SBL.4.1-00247

TZ: TZ.FU.5.9-00189

AOP: unknown

UEFI: SWIX55C_03.09.11.00

Mpss: SWIX55C_03.09.11.00 7bf975 jenkins 2022/06/10 20:36:01

OS: Linux version 4.14.206 Fri Jun 10 21:25:48 UTC 2022

Yocto: SWIX55C_03.09.11.00 2022 Fri Jun 10 21:25:48 UTC 2022

RootFS: SWIX55C_03.09.11.00 2022 Fri Jun 10 21:25:48 UTC 2022

Security: secure

RF_CAL_TREE: unknown

AT+CGCONTRDP zeigt die Details der aktuellen Verbindung an.

+CGCONTRDP: <cid>,<bearer_id>,<APN>,<IP-Adresse>, <DNS-IP-Adresse>, <Sekundäre DNS-IP-Adresse>

- cid:Verbindungs-ID

- Träger-ID: Kennung für den Träger.

- apn:Name des Access Points.

cellular_modem_at_cmd: modem-at-response AT+CGCONTRDP

+CGCONTRDP: 1,5,internet,<IP Address >,,< DNS Server1 >,<DNS Server2>

OK

AT!FLOG? zeigt den Verlauf von Firmware-Aktionen. Dieser Befehl wird benötigt, wenn ein Stromausfall oder ein Absturz vermutet wird.

cellular_modem_at_cmd: modem-at-response AT!FLOG?

!FLOG:

OK

Class long:

00000,1980/01/06 00:00:40.028,SWIX55C_01.07.2,COMMENT=Log created,LOG_VERSION=1.0

00001,1980/01/06 00:02:46.543,SWIX55C_01.07.2,NV_BACKUP=START,COMMENT=index 1

00001,1980/01/06 00:02:49.981,SWIX55C_01.07.2,NV_BACKUP=COMPLETE,COMMENT=index 1,STATUS=PASS

00001,1980/01/06 00:00:00.000,SWIX55C_,BOOT_HOLD=3,

00001,1980/01/06 00:00:00.000,C3091400,BOOT_HOLD=3,

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_GENERIC.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_ATT.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_VERIZON.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_DOCOMO.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_KDDI.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_TMO.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_SOFTBANK.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_TELSTRA.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/nvup/NVUP_1104703_EM9190_Cisco.020,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,COPY_FROM_BACKUP=/swir/nvdelta/NVUP_BELL.010,STATUS=PASS

00002,1980/01/06 00:06:06.390,C3091100,NV_UPDATE=START,FILE=/nvup/NVUP_1104703_EM9190_Cisco.020

00002,198

AT!GCDUMP, Absturzdatei und Traces, wenn ein Modem abstürzt.

Value for '' (<string>): AT!GCDUMP

cellular_modem_at_cmd: modem-at-response AT!GCDUMP

No crash data available

OK

Schlussfolgerung

Letztendlich geben uns die AT-Befehle die Transparenz, die wir für die Modemoperationen benötigen.

Cisco empfiehlt die Verwendung dieser Parameter mit Bedacht und ohne Änderung von Parametern, da sie zu einem Netzwerkverlust führen können.