Soracom

Users

ドキュメント
Home ドキュメント SORACOM Arc Getting Started

soratun で SIM 認証を使用してバーチャル SIM/Subscriber をブートストラップする

soratun がサポートする 3 種類のブートストラップ方法 のうち、Krypton の「Endorse による SIM 認証」を使用する方法 を説明します。soratun について詳しくは、soratun の概要と機能 を参照してください。

#バーチャル SIM/Subscriber の作成方法WireGuard インターフェースの作成方法利用するコマンド
(3)soratunsoratunsoratun bootstrap sim コマンド

この方法では、IoT SIM に保管された認証情報を使用するため、ほかのブートストラップ方法と比べて、以下の特徴があります。

操作を始める前に準備が必要です (クリックして確認してください)

(1) デバイス、IoT SIM、および USB ドングルを用意する

以下の製品を用意します。

(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) にインストールします。

  1. デバイスにログインします。

  2. 必要なパッケージをインストールして、デバイスを再起動します。

    $ sudo apt install -y libpcsclite-dev pcscd libpcsclite1 cu
    

ステップ 4: SORACOM Krypton client (Golang version) をインストールする

IoT SIM に保管された認証情報を読み取るために、SORACOM Krypton client (Golang version) (以下、Krypton CLI) をデバイスにインストールします。

  1. デバイスにログインします。

  2. 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) は、リンクを右クリックして [リンクのコピー] を選択すると取得できます

  3. ダウンロードしたファイルを展開し、実行形式ファイル krypton-cli を任意のディレクトリにコピーします。

    $ tar xvf krypton-cli_x.x.x_linux_yyyyy.tar.gz
    $ sudo cp krypton-cli /usr/local/bin
    
  4. krypton-cli が実行できることを確認します。

    $ krypton-cli -h
    
    Usage 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 ドングルの機内モードを有効化する

  1. デバイスで AT コマンドを実行できる状態にします。

    Raspberry Pi (Raspberry Pi OS) で USB ドングルを利用する場合は、cu コマンドを利用できます。詳しくは、AT コマンドを実行する を参照してください。

  2. ATE1 コマンドと、AT+CFUN=4 コマンドを実行して、機内モードを有効化します。

    ATE1
    
    OK
    
    AT+CFUN=4
    
    OK
    

    はじめて入力するときは、ATE1 は表示されません。

  3. 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 found

    USB ドングルが正しく接続できていないか、自動認識に失敗している可能性があります。以下の手順でシリアルポートを特定し、Krypton CLI を実行する際に、 -interface comm -port-name (シリアルポート) を追加してください。

    1. 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: 
      
    2. 正しいシリアルポートが判別できた場合は、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-500MB) を 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 は追加されません。

  1. 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.json
    

    soratun 設定ファイルについて詳しくは、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.io
    
  2. USB ドングルを取り外します。

ブートストラップは完了していますが 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) を取り付けて機内モードを有効化する 以降の手順を行ってください。