ここでは、Raspberry Pi (Raspberry Pi OS) で Soracom Onyx - LTE™ USB ドングル (SC-QGLC4-C1) (以下、USB ドングル) を利用する際に、AT コマンドを実行する操作を紹介します。
Raspberry Pi OS が bookworm の場合
Raspberry Pi OS が bookworm の場合は、mmcli
(ModemManager CLI) を利用して、USB ドングルが正しく認識されていることやシリアルポートを確認し、cu
を利用して AT コマンドを実行できます。
Raspberry Pi に USB ドングルを接続しない状態で、Raspberry Pi にアクセスします。
IoT SIM 以外の方法で Raspberry Pi にアクセスできる状況で操作してください
この手順では、ModemManager を一時的に停止します。ModemManager を停止している間は IoT SIM を経由した通信 (例: Napter を利用したリモートアクセス) は利用できません。その結果、AT コマンドも実行できません。
そのため、事前に IoT SIM 以外の方法で Raspberry Pi にアクセスできる環境を整えてから手順を行ってください。たとえば Wi-Fi や有線 LAN を経由して Raspberry Pi にアクセスする、Raspberry Pi にキーボードとディスプレイを接続する、といった方法が考えられます。
Raspberry Pi で USB ドングルが正しく認識されていることを確認します。
$ mmcli -m any
(省略) ----------------------------------- Hardware | manufacturer: QUALCOMM INCORPORATED | model: QUECTEL Mobile Broadband Module | firmware revision: EG25Gxxxxxxxxxxx (省略) ----------------------------------- System | device: /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2 | drivers: option, qmi_wwan | plugin: quectel | primary port: cdc-wdm0 | ports: cdc-wdm0 (qmi), ttyUSB0 (qcdm), ttyUSB1 (gps), | ttyUSB2 (at), ttyUSB3 (at), wwan0 (net) ----------------------------------- (省略) ----------------------------------- 3GPP | imei: 123456789012345 | enabled locks: fixed-dialing | operator id: 44051 | operator name: SORACOM (省略) ----------------------------------- SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0 ----------------------------------- (省略)
Hardware
: USB ドングルは、Quectel EG25-G を通信モジュールとして使用しています。System
:ports
に表示されるシリアルポートのうち、(at)
が表示されているもの (例:ttyUSB2
やttyUSB3
) が AT コマンドを実行できます。手順 4 では、AT コマンドを実行できるシリアルポートを指定してください。3GPP
:imei
とoperator name
を確認します。imei
は USB ドングルの IMEI (International Mobile Equipment Identity) です。USB ドングルに挿入した IoT SIM の詳細情報を SORACOM ユーザーコンソールで確認すると、 と一致することを確認できます。IoT SIM の詳細情報を確認する手順について詳しくは、IoT SIM の情報を確認する を参照してください。operator name
に「SORACOM」が表示されていることを確認します。
SIM
: USB ドングルに挿入した IoT SIM の情報を確認するための情報です。primary sim path
の 末尾の0
は、ModemManager が管理する IoT SIM の識別番号です。次の手順で使います。
USB ドングルに挿入した IoT SIM の情報を確認します。
ModemManager が管理する IoT SIM の識別番号 (前の手順で
SIM
に表示されるprimary sim path
の末尾の番号) が0
の場合は、以下のコマンドを実行します。$ mmcli -i 0
(省略) ------------------------------- Properties | active: yes | imsi: 123456789012345 | iccid: 1234567890123456789 (省略)
Properties
:imsi
とiccid
は USB ドングルに挿入した IoT SIM の IMSI (International Mobile Subscriber Identity) と ICCID (Integrated Circuit Card ID) です。IoT SIM の詳細情報を SORACOM ユーザーコンソールで確認すると、 や (または ) と一致することが確認できます。IoT SIM の詳細情報を確認する手順について詳しくは、IoT SIM の情報を確認する を参照してください。
IoT SIM 以外の方法で Raspberry Pi にアクセスできることを確認して、ModemManger を停止します。
$ sudo systemctl stop ModemManager
cu
コマンドで AT コマンドを実行できるシリアルポート (例:/dev/ttyUSB3
) に接続します。$ cu -l /dev/ttyUSB3 -s 57600
Connected.
Line in use
と表示されたときは以下のように表示された場合は、手順 3 の説明に従って ModemManager を終了してください。
$ cu -l /dev/ttyUSB3 -s 57600
cu: /dev/ttyUSB3: Line in use
AT コマンドのエコーバック (自分が入力した内容を表示する機能) を有効化します。
ATE1 (入力しても表示されません)
OK
これ以降、自由に AT コマンドを実行できます。
AT コマンドの実行が終わったら cu コマンドを終了します。
cu コマンドを終了するには、Enter キーを押してから
~.
を入力して少し待ちます。cu コマンドが終了します。
停止した ModemManager を再開するには、以下のコマンドを実行します。
$ sudo systemctl start ModemManager
ModemManager が USB ドングルを認識するまで少し時間がかかります。