soratun がサポートする 3 種類のブートストラップ方法 のうち、Krypton の「Endorse による SIM 認証」を使用する方法 を説明します。soratun について詳しくは、soratun の概要と機能 を参照してください。
| # | バーチャル SIM/Subscriber の作成方法 | WireGuard インターフェースの作成方法 | 利用するコマンド |
|---|---|---|---|
| (3) | soratun | soratun | soratun bootstrap sim コマンド |
この方法では、IoT SIM に保管された認証情報を使用するため、ほかのブートストラップ方法と比べて、以下の特徴があります。
- soratun で SORACOM API の認証キーを使用してバーチャル SIM/Subscriber をブートストラップする とは異なり、デバイスに認証情報を入力する操作は必要ありません。
- soratun でセルラー回線認証を使用してバーチャル SIM/Subscriber をブートストラップする方法 とは異なり、ブートストラップのために、SORACOM Air for セルラーで SORACOM に接続する必要はありません。
- ブートストラップに使用した IoT SIM に、セカンダリサブスクリプションとしてバーチャル SIM/Subscriber が追加されます。
操作を始める前に準備が必要です (クリックして確認してください)
(1) デバイス、IoT SIM、および USB ドングルを用意する
以下の製品を用意します。
soratunの サポート対象プラットフォーム を利用するデバイスここでは Raspberry Pi OS Bookworm (32 bit) を想定しています。
Krypton の「Endorse による SIM 認証」に対応するサブスクリプションの IoT SIM
対応するサブスクリプションについては、単体で契約するサブスクリプション の表の『Krypton の「Endorse による SIM 認証」』の欄を参照してください。
Soracom Onyx - LTE™ USB ドングル (SC-QGLC4-C1) (以下、USB ドングル)
IoT SIM から認証情報を読み出すために利用します。
(2) デバイスをインターネットに接続する
任意の方法 (例: Wi-Fi) で、デバイスをインターネットに接続します。この時点では、SORACOM に接続できないことを想定しています。
(3) デバイスに soratun をインストールする
デバイスに、soratun をインストールします。
ステップ 1: SORACOM Krypton を有効化する
準備した IoT SIM に対して、Krypton を有効化します。詳しくは、SORACOM Krypton を有効化する を参照してください。

Krypton に Amazon Cognito や AWS IoT の設定を追加しないでください
ここでは Krypton の有効化 (スイッチをクリックして「ON」にする) のみを行います。Amazon Cognito や AWS IoT の設定を追加しないでください。
ステップ 2: SORACOM Air メタデータサービスを有効化する
準備した IoT SIM に対して、メタデータサービスを有効化します。詳しくは、メタデータサービスを設定する を参照してください。

ステップ 3: デバイスにパッケージをインストールする
IoT SIM に保管された認証情報を読み取るために、必要なパッケージをデバイス (例: Raspberry Pi OS Bookworm) にインストールします。
デバイスにログインします。
必要なパッケージをインストールして、デバイスを再起動します。
$ sudo apt install -y libpcsclite-dev pcscd libpcsclite1 cu
ステップ 4: SORACOM Krypton client (Golang version) をインストールする
IoT SIM に保管された認証情報を読み取るために、SORACOM Krypton client (Golang version) (以下、Krypton CLI) をデバイスにインストールします。
デバイスにログインします。
Krypton CLI を公開する GitHub レポジトリ の Releases ページ から、SORACOM Arc のブートストラップをサポートする v0.3.0 以降のファイルをダウンロードします。
利用するプラットフォームにあわせたファイルをダウンロードしてください。たとえば、Raspberry Pi OS Bookworm (32 bit) の場合は
krypton-cli_x.x.x_linux_arm.tar.gz、Raspberry Pi OS Bookworm (64 bit) の場合はkrypton-cli_x.x.x_linux_arm64.tar.gzです。コマンド例:
$ wget https://github.com/soracom/krypton-client-go/releases/download/vx.x.x/krypton-cli_x.x.x_linux_yyyyy.tar.gzダウンロードするための URL (上記のコマンドの場合は
wgetのあとに指定する URL) は、リンクを右クリックして を選択すると取得できます

ダウンロードしたファイルを展開し、実行形式ファイル
krypton-cliを任意のディレクトリにコピーします。$ tar xvf krypton-cli_x.x.x_linux_yyyyy.tar.gz $ sudo cp krypton-cli /usr/local/binkrypton-cliが実行できることを確認します。$ krypton-cli -hUsage of krypton-cli: -baud-rate uint Baud rate for communication device (e.g. -b 57600) (default 57600) -clear-key-cache Remove all items in the key cache -data-bits uint Data bits for communication device (e.g. -s 8) (default 8) :以上で、
krypton-cliのインストールは完了です。
krypton-cli -h の実行結果が異なる場合は
Release ページからダウンロードするファイルが正しくない可能性があります。利用するプラットフォームにあわせて、ファイルをダウンロードしてください。
たとえば、以下のように表示される場合があります。
$ krypton-cli -h
-bash: /usr/local/bin/krypton-cli: cannot execute binary file: Exec format error
デバイスに、Go 言語の環境がインストールされている場合は、以下のコマンドを実行してもインストールできます。
$ go install github.com/soracom/krypton-client-go/cmd/krypton-cli@latest
ステップ 5: Soracom Onyx - LTE™ USB ドングル (SC-QGLC4-C1) を取り付けて機内モードを有効化する
Air for セルラーを利用して SORACOM にアクセスする必要はありません。
IoT SIM を挿入した USB ドングルをデバイスに取り付ける
USB ドングルに IoT SIM を挿入してから、デバイスに取り付けます。詳しくは、Soracom Onyx - LTE™ USB ドングルをセットアップする を参照してください。
Raspberry Pi (Raspberry Pi OS) の設定 の手順に従って setup_air.sh を実行して、自動的にセルラー回線で通信するように設定している場合は、以下のコマンドを実行して wwan0 インターフェースを削除してください。
$ sudo ifdown wwan0
$ ping -c 4 pong.soracom.io # SORACOM から応答が返ってこないことを確認
なお、ifdown: unknown interface wwan0 と表示された場合は、以下のコマンドを実行してみてください。
$ sudo ifconfig wwan0 down
$ ping -c 4 pong.soracom.io # SORACOM から応答が返ってこないことを確認
USB ドングルの機内モードを有効化する
デバイスで AT コマンドを実行できる状態にします。
Raspberry Pi (Raspberry Pi OS) で USB ドングルを利用する場合は、cu コマンドを利用できます。詳しくは、AT コマンドを実行する を参照してください。
ATE1コマンドと、AT+CFUN=4コマンドを実行して、機内モードを有効化します。ATE1OKAT+CFUN=4OKはじめて入力するときは、
ATE1は表示されません。AT コマンドを実行できる状態を終了します。
たとえば、
cuコマンドを利用していた場合は、Enter キーを押してから~.を入力します。
機内モードを解除するには
機内モードを解除するには、上記と同様の手順でシリアルポートに接続し、AT+CFUN=1 (機内モードを無効化) を実行します。
ステップ 6: Krypton CLI で IoT SIM のメタデータを取得できることを確認する
以下のコマンドを実行して、imsi などが取得できることを確認します。
$ krypton-cli -operation getSubscriberMetadata
{
"imsi": "295051234567890",
"msisdn": "423612345678",
"ipAddress": null,
"operatorId": "OP1234567890",
"apn": "soracom.io",
"type": "s1.4xfast",
"groupId": "12345678-abcd-1234-abcd-123456789010",
"createdAt": 1640962800000,
"lastModifiedAt": 1643641200000,
:
}
Krypton CLI がエラーで終了する場合
以下のようなエラーが出力され実行に失敗する場合があります。その場合は、以下の説明に従って追加のオプションを指定してください。ここで追加したオプションは、このあとの ステップ 7: ブートストラップする でも追加します。
no UICC interface is foundUSB ドングルが正しく接続できていないか、自動認識に失敗している可能性があります。以下の手順でシリアルポートを特定し、Krypton CLI を実行する際に、
-interface comm -port-name (シリアルポート)を追加してください。Raspberry Pi の USB ポートに USB ドングルだけを接続し、以下のコマンドを実行して、
Manufacturerなどの情報が表示されるシリアルポートを特定します。以下のように表示された場合は、正しいシリアルポート (
/dev/ttyUSB3) が指定されています。$ krypton-cli -device-info -port-name /dev/ttyUSB3 Manufacturer: Quectel Model: EG25 Revision: EG25ABCDEFGHIJKL S/N: 123456789012345一方、以下のように表示された場合は、誤ったシリアルポートが指定されています。異なるシリアルポートを指定してください。
$ krypton-cli -device-info -port-name /dev/ttyUSB1 Manufacturer: Model: Revision: S/N:正しいシリアルポートが判別できた場合は、Krypton CLI を実行する際に、
-interface comm -port-name /dev/ttyUSB3を追加します。$ krypton-cli -operation getSubscriberMetadata -interface comm -port-name /dev/ttyUSB3 { "imsi": "295051234567890", "msisdn": "423612345678", "ipAddress": null, "operatorId": "OP1234567890", "apn": "soracom.io", "type": "s1.4xfast", "groupId": "12345678-abcd-1234-abcd-123456789010", "createdAt": 1640962800000, "lastModifiedAt": 1643641200000, : }
key agreement url responded with error: 400 Bad Request以下の内容をすべて確認してください。
IoT SIM のステータスを「使用中 (Active)」に変更してください。詳しくは、IoT SIM のステータスを変更する を参照してください。
ステップ 1: SORACOM Krypton を有効化する の手順に従って、Krypton を有効化してください。
plan-K2 (K2-300MB) を USB ドングルに取り付けた場合は、Krypton CLI を実行する際に、
-keys-api-endpoint-url https://api.soracom.io/v1/keys -provisioning-api-endpoint-url https://api.soracom.ioを追加してください。$ krypton-cli -operation getSubscriberMetadata -keys-api-endpoint-url https://api.soracom.io/v1/keys -provisioning-api-endpoint-url https://api.soracom.io
unexpected +CSIM response以下の内容をすべて確認してください。
Krypton CLI が 100ms 待ってもレスポンスが無かったため、タイムアウトしている可能性があります。Krypton CLI を実行する際に、
-inter-character-timeout 200のようにタイムアウトするまでの時間 (ミリ秒。デフォルトは100) を指定してください。USB ドングルの機内モードを有効化してください。詳しくは、USB ドングルの機内モードを有効化する を参照してください。
機内モードを有効化しても同じエラーが表示されるときは、少し待ってから再度実行してください。
ステップ 7: ブートストラップする
Krypton CLI で IoT SIM のメタデータを取得できたら、ブートストラップします。
ブートストラップが完了すると、Krypton および Arc の料金が発生します。詳しくは、以下のページを参照してください。
ブートストラップ時に USB ドングルに取り付けられていた IoT SIM に、バーチャル SIM/Subscriber が追加されます。すでにバーチャル SIM/Subscriber が追加されている場合は、この手順を複数回実行しても新しいバーチャル SIM/Subscriber は追加されません。
Krypton の「Endorse による SIM 認証」を使用する方式でブートストラップします。
--configフラグのあとに指定する soratun 設定ファイルのパス (/path/to/arc.json) は、任意のパスを指定してください。$ soratun bootstrap sim --config /path/to/arc.jsonブートストラップが完了すると、soratun 設定ファイルが作成され、ファイルのパスが表示されます。
Created/updated configuration file: /path/to/arc.jsonsoratun 設定ファイルについて詳しくは、soratun 設定ファイルリファレンス を参照してください。
soratun bootstrap sim がエラーで終了する場合
ステップ 6: Krypton CLI で IoT SIM のメタデータを取得できることを確認する の手順で追加したオプション (
-operation getSubscriberMetadataを除く) を、soratun bootstrap simを実行するときにも追加してください。たとえば、-keys-api-endpoint-url https://api.soracom.io/v1/keys -provisioning-api-endpoint-url https://api.soracom.ioを指定した場合は、各オプションの先頭の-を 2 つに変更して、以下のように指定します。$ soratun bootstrap sim --config /path/to/arc.json --keys-api-endpoint-url https://api.soracom.io/v1/keys --provisioning-api-endpoint-url https://api.soracom.ioUSB ドングルを取り外します。
ブートストラップは完了していますが WireGuard インターフェースは作成されていません
続けて、WireGuard インターフェースを作成して、SORACOM にアクセスします。詳しくは、ステップ 8: SORACOM にアクセスする を参照してください。
USB ドングル以外の SIM カードリーダーを利用する場合は、soratun コマンドリファレンス: soratun bootstrap sim コマンド を参考にポート名、ボーレート、データビットなどを変更してお試しください。
ステップ 8: SORACOM にアクセスする
soratun で WireGuard インターフェースを作成すると、SORACOM にアクセスできます。詳しくは、以下のページを参照してください。
再度 SIM 認証を使用してブートストラップする
以下のようなときは再度ブートストラップする必要があります。
ステップ 5: Soracom Onyx - LTE™ USB ドングル (SC-QGLC4-C1) を取り付けて機内モードを有効化する 以降の手順を行ってください。