はじめに
このドキュメントでは、CG522オペレーティングシステムから適用できるCG522-Eモデム、Sierra Wireless EM9190のATコマンドの使用方法について説明します。
ATコマンドとは
ATコマンド、つまりアテンションコマンドは、モデムの制御に使用される一連の命令です。「AT」という名前は、モデムを認識させるために各コマンドの前に付ける必要があるアテンションプレフィックスに由来します。これらのコマンドは、ダイヤル、切断、通信パラメータの変更など、さまざまなモデム機能を管理するために使用されます。
なぜATコマンドを知る必要があるのですか。
ATコマンドは、さまざまな理由で不可欠です。特に、さまざまなアプリケーションでモデムの通信と制御を処理する場合は、その重要性が高まります。ATコマンドが必要とされる主な理由を次に示します。
- デバイス制御:ATコマンドは、番号のダイヤル、メッセージの送受信、ネットワーク接続の管理などのモデム機能を制御する標準化された方法を提供します。
- 設定:ネットワークパラメータ、データ伝送設定、電源管理などのモデム設定をユーザが設定できます。これは、パフォーマンスを最適化し、さまざまなネットワークとの互換性を確保するために不可欠です。
- 診断とトラブルシューティング:ATコマンドを使用して、モデムのステータス情報の照会、信号品質の確認、およびエラーコードの取得を行うことができます。これは、接続問題の診断とトラブルシューティングに役立ちます。
全体として、ATコマンドは、モデムハードウェアとの効率的かつ効果的なやり取りと管理を行う必要がある開発者、エンジニア、および技術者にとって重要なツールです。さまざまな通信タスクやアプリケーションに必要なインターフェイスを提供します。
CG522-EでのATコマンドの実行方法
これは、アクティブなCLIセッションからセルラーゲートウェイにコマンドを実行するだけで実行できます。
CellularGateway# cellular 1 modem-at-commands
Value for '' (<string>):
cellular_modem_at_cmd: modem-at-response
基本的なATコマンド
ATI(別名AT Identificationコマンド)は、モデムの製造元、モデル、動作しているファームウェア、IMEI、および工場のシリアル番号を表示するために使用できるコマンドです。
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!PRID? OEM PRIバージョンと利用可能な通信事業者のPRIオプションを表示します。
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?は、優先キャリアが設定されている場合に、優先キャリアのそばにある、使用されているPRIファームウェアとキャリアを表示します。
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?:SIMの準備ができているか、PINのアクティブ化が必要かを示します。
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
ただし、セルラーゲートウェイまたはモデムを再起動した場合は、PINを再入力する必要があります。
AT+CLCK="SC",0,"SIM-PIN"を適用すると、SIMを永続的にロック解除できます。したがって、リロード後にPIMを再度挿入する必要はありません。
cellular_modem_at_cmd: modem-at-response AT+CLCK="SC",0,"3045"
OK
AT+CREG:回線交換ネットワーク(別名GSMネットワーク)へのモデムの現在のネットワーク登録ステータスを確認します。1組の値を返すことが期待されます。
このペアの最初の値はoperation:
0がデフォルトで、これはネットワーク登録を手動でチェックする必要があることを意味します。
1は、ネットワークで変更が発生したときに返される結果コードを指します。
2登録時に登録情報と位置情報を表示します。
TACからの指示がない限り、これらの値を変更する必要はありません。このペアの2番目の値は登録ステータスで、解釈できます。
- 0:登録されていません。デバイスは現在、新しいオペレータを検索していません。
- 1:ホームネットワークに登録されています。
- 2 – 登録されていませんが、デバイスは現在新しいオペレータを検索中です。
- 3 – 登録が拒否されました。
- 4 – 不明。たとえば、範囲外です。
- 5 – 登録済み、ローミング。デバイスが外部(国内または海外)ネットワークに登録されている。
cellular_modem_at_cmd: modem-at-response at+creg?
+CREG: 0,1
OK
このスニペットでは、operationが0に設定され、registrationが1に設定されていることがわかります。
AT+CEREG:パケット交換ネットワーク(別名インターネットアクセス)へのモデムの現在のネットワーク登録ステータスを確認します。前のコマンドと同じ値が返されます。
cellular_modem_at_cmd: modem-at-response at+creg?
+CREG: 0,1
OK
AT+CGREG:モデムのGPRSネットワークへの現在のネットワーク登録ステータスを確認します。前のコマンドと同じ値が返されます。
cellular_modem_at_cmd: modem-at-response at+cgreg?
+CGREG: 0,0
OK
AT+CIMIは、IMSIの値を返します。
cellular_modem_at_cmd: modem-at-response AT+CIMI
268069668483162
AT+CCIDは、ICCIDの値を返します。
cellular_modem_at_cmd: modem-at-response AT+CCID
+CCID: 89351060001115740710
AT!UIMS?:アクティブなSIMのスロット番号を返します。
cellular_modem_at_cmd: modem-at-response AT!UIMS?
!UIMS: 0
AT!GSTATUS?システムモードENDC(NSA 5G)を使用して接続ステータスをチェックし、アクティブな5G接続があるかどうかを確認します。システムモードがLTEの場合、5Gはアクティブではありません。示されているLTE帯域は、ENDC接続用のアンカー4G帯域です。
SSC(Secondary Serving Cells)帯域は、キャリア集約に最も最近使用された帯域ですが、ここではアクティブな5G接続があるため、SSC帯域は非アクティブです。示されているNR5G帯域は、データ接続に使用される5G帯域です。
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:アクティブな5G接続がある場合の接続モードNSA(非スタンドアロン)。次の出力は、NR5G帯域が使用されていることを示しています。
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:プログラムされたアクセスポイント名(APN)を確認します。
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 は、インデックス番号に基づいて特定のAPNをクリアし、消去します。
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? は、低電力の状態とモデムステータスを確認します。LPM(低電力モード)の有権者のいずれかがゼロ以外の場合、これはモデムが低電力状態に設定された理由を示しており、最も一般的な理由のいくつかを示しています。
- 状態:オンラインが望ましい状態
- 温度:高温
- 電圧:規格外の電圧
- User:forced by user
- W_DISABLE:ユーザーによる強制
- FOTA:FOTAアップグレードプロセス
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?モデム上のすべてのファームウェアとPROイメージを表示します。
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>特定のファームウェアを削除します。
- op = 0:削除、1:リスト、
- タイプ= 0:FW、1:Config
- slot = Firmwate slot index, noneはすべてのスロットを示します。
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:現在の選択モード、演算子の形式、演算子、無線アクセステクノロジーを返します。
COPS: [選択モード],[演算子の形式],[演算子],[無線アクセステクノロジー] OK
<stat> =ネットワークの状態。
- 0 =不明
- 1 =使用可能
- 2 =現在
- 3 =禁止
<mode> =選択モード。
- 0 =自動選択
- 1 =手動選択
- 2 =ネットワークからの登録解除
<format> =演算子の形式。
- 0 =長い英数字 – 「T-Mobile USA」
- 1 =短い英数字 – 「TMO」
- 2 =数値、別名MCC + MNC - 「310260」
<oper> =演算子ID。
リストされた<format>内の演算子IDを返す数字の文字列。
<AcT> =無線アクセステクノロジー
- 0 = GSM
- 1 = GSMコンパクト
- 2 = UTRAN
- 3 = GSM(EGPRSあり)
- 4 = UTRAN(HSDPAあり)
- 5 = UTRAN(HSUPAあり)
- 6 = UTRAN(HSDPAおよびHSUPAあり)
- 7 = E-UTRAN
- 8 = EC-GSM-IoT(A/Gbモード)
- 9 = E-UTRAN(NB-S1モード)
- 10 = 5GCNに接続されたE-UTRA。
- 11 = NRは5GCNに接続されています。
- 12 =スタンドアロン5 G
- 13 =非スタンドアロン5 G
cellular_modem_at_cmd: modem-at-response AT+COPS?
+COPS: 0,0,"MEO MEO",13
OK
AT!VERINFOはホストとモデムの詳細を示します。
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は、現在の接続の詳細を表示します。
+CGCONTRDP:<cid>、<bearer_id>、<APN>、<IP Address>、<DNS IP Address>、<Secondary DNS IP Address>
-
cid:接続識別子。
-
bearer_id:ベアラの識別子。
-
apn:アクセスポイント名。
cellular_modem_at_cmd: modem-at-response AT+CGCONTRDP
+CGCONTRDP: 1,5,internet,<IP Address >,,< DNS Server1 >,<DNS Server2>
OK
AT!FLOG?ファームウェア操作の履歴を表示します。このコマンドは、低電力の問題またはクラッシュが疑われる場合に必要です。
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、クラッシュファイル、およびモデムクラッシュが発生した場合のトレース。
Value for '' (<string>): AT!GCDUMP
cellular_modem_at_cmd: modem-at-response AT!GCDUMP
No crash data available
OK
結論
最終的には、ATコマンドによって、モデムの動作に必要な可視性が得られます。
シスコでは、これらを慎重に使用し、パラメータを変更しないことを推奨しています。パラメータを変更すると、ネットワークが失われる可能性があるためです。