Armadillo-IoT ゲートウェイ G4 では、通常の Linux システムと同様、ネットワークインターフェースの設定は NetworkManager を使用します。
NetworkManager はすべてのネットワーク設定をコネクションとして管理します。コネクションには「どのようにネットワークへ接続するか」、
「どのようにネットワークを作成するか」を記述し、 /etc/NetworkManager/system-connections/
に保存します。
また、1つのデバイスに対して複数のコネクションを保存することは可能ですが、1つのデバイスに対して有効化にできるコネクションは1つだけです。
NetworkManager は、従来の /etc/network/interfaces
を使った設定方法もサポートしていますが、本書では nmcli
を用いた方法を中心に紹介します。
nmcli
は NetworkManager を操作するためのコマンドラインツールです。
図7.1「nmcli のコマンド書式」に nmcli
の書式を示します。このことから、 nmcli
は「オブジェクト (OBJECT) というものが存在し、
それぞれのオブジェクトに対してコマンド (COMMAND) を実行する。」という書式でコマンドを入力することがわかります。
また、オブジェクトそれぞれに help
が用意されていることもここから読み取れます。
ここでは nmcli
の、基本的な使い方を説明します。
登録されているコネクションの一覧を確認するには、次のようにコマンドを実行します。
[]
表示された NAME については、以降 [ID] として利用することができます。
コネクションを有効化するには、次のようにコマンドを実行します。
コネクションを無効化するには、次のようにコマンドを実行します。
コネクションを作成するには、次のようにコマンドを実行します。
[ID] にはコネクションの名前(任意)、[type] には ethernet、wifi といった接続タイプ、
[interfacename] にはインターフェース名(デバイス)を入力します。
これにより /etc/NetworkManager/system-connections/
に[ID]の名前でコネクション
ファイルが作成されます。このファイルを vi などで編集し、コネクションを修正する
ことも可能です。
Armadillo-IoT ゲートウェイ G4 を再起動したときにコネクションファイルが消えてしまわないように、
persist_file
コマンドで永続化する必要があります。
persist_file
コマンドに関する詳細は「overlayfs と persist_file について」を参照してください。
| |
---|
別の Armadillo-IoT ゲートウェイ G4 からコネクションファイルをコピーした場合は、コネクションファイルの
パーミッションを 600 に設定してください。
600 に設定後、 nmcli c reload コマンドでコネクションファイルを再読込します。 [armadillo ~]# chmod 600 /etc/NetworkManager/system-connections/<コネクションファイル名>
[armadillo ~]# persist_file /etc/NetworkManager/system-connections/<コネクションファイル名>
[armadillo ~]# nmcli c reload swu イメージを使用してコネクションファイルのアップデートを行う場合は、
swu イメージに含めるコネクションファイルのパーミッションを 600 に設定してから、
swu イメージを作成してください。
アップデート実行時には swu イメージ作成時のパーミッションが維持されるため、
上記のコマンド実行手順は不要です。
swu イメージに関しては 「Armadilloのソフトウェアをアップデートする」 を参考にしてください。 |
コネクションを削除するには、次のようにコマンドを実行します。
これにより /etc/NetworkManager/system-connections/
のコネクションファイルも同時に削除されます。
コネクションの作成と同様に persist_file
コマンドで永続化する必要があります。
DHCP に設定する例を、図7.11「DNS サーバーの指定」に示します。
| |
---|
-ipv4.addresses のように、プロパティ名の先頭に "-" を付けることで設
定したプロパティを削除することができます。反対に "+" を付けることで
プロパティを追加することができます。
|
有効化されているコネクションを修正した場合、かならず修正したコネクションを再
度有効化してください。
デバイスの一覧(デバイス名、タイプ、状態、有効なコネクション)を確認するには、次のようにコマン
ドを実行します。
デバイスを接続するには、次のようにコマンドを実行します。
| |
---|
デバイスを接続するには、接続しようとしているデバイスの有効なコネク
ションが必要です。"Error: neither a valid connection nor device
given" というメッセージが表示された場合には、 nmcli connection など
で有効なコネクションがあるかを確認してください。 |
デバイスを切断するには、次のようにコマンドを実行します。
Armadillo-IoT ゲートウェイ G4 WLAN モデルに搭載されている WLAN + BT コンボモジュールで正常に通信が可能か確認します。
例として、WPA2-PSK(AES) のアクセスポイントに接続します。ここでの説明では、
アクセスポイントの ESSID を [essid]、パスフレーズを [passphrase] と表記します。
7.1.5.1. 無線 LAN アクセスポイントに接続する
[armadillo ~]# nmcli device wifi connect [essid] password [passphrase]
Armadillo-IoT ゲートウェイ G4 を再起動したときに 無線 LAN のコネクションファイルが消えてしまわないように、
図7.6「コネクションファイルの永続化」 を参照してファイルの永続化を行ってください。
同じネットワーク内にある通信機器と PING 通信を行います。以下の例では、通信機器が「192.0.2.20」
という IP アドレスを持っていると想定しています。
有線 LAN と 無線 LAN の両方が有効になっている場合、常に有線 LAN が優先されます。
確実に無線 LAN の接続確認を行う場合は、無線 LAN 以外のインターフェースを無効化するか、
以下の手順で無線 LAN の優先度を他のインターフェースより高くしてください。
ネットワークインターフェースの優先度を確認します。
Metric の値が低ければ優先度は高くなるので、無線 LAN の Metric の値 600 を有線 LAN の 100 よりも低く設定します。
以下の例では、 50 に設定します。
ここの例で使用している無線 LAN コネクションの [ID] に関しては、 「コネクションの一覧」 の手順で確認してください。
|
Metric が 50 になっていることが確認できます。
|
これにより、有線 LAN と無線 LAN が両方有効な場合でも無線 LAN が優先して使われるようになります。
本章では、Armadillo-IoT ゲートウェイ G4 に搭載されている 3G/LTEモジュールの使用方法について説明します。
| |
---|
Quectel 製 3G/LTE 通信モジュール EC25-J はドコモ/KDDI/ソフトバンクそれぞれの相互接続性試験を完了しています。 |
7.1.6.1. 3G/LTE データ通信設定を行う前に
3G/LTEデータ通信を利用するには、通信事業者との契約が必要です。契約時に通信事業者から貸与されたnanoSIM(UIMカード)とAPN情報を準備します。
| |
---|
Armadillo-IoT ゲートウェイ G4 の電源が切断されていることを確認してから nanoSIM(UIMカード)を取り付けてください。 |
| |
---|
本製品は、nanoSIMスロットを搭載しています。 標準/microSIMサイズのSIMカードをnanoSIMサイズにカットしたもの、サイズの異なるものを使用すると、nanoSIMスロットが故障する原因となります。
これらを使用し本製品が故障した場合は、保証期間内であっても保証適用外となります。 |
nanoSIM(UIMカード)の切り欠きを挿入方向に向け、刻印面を上にして挿入してください。挿入位置などは、図4.18「3G/LTE用アンテナおよびnanoSIMカード接続例」 を参照してください。
APNの設定を行うには、次に示す情報が必要です。
-
APN
-
ユーザー名
-
パスワード
-
認証方式(PAP または CHAP)
-
PDP Type(IPのみをサポート)
7.1.6.2. 3G/LTEのコネクションを作成する
表7.3「APN情報設定例」の内容に設定する例を図7.20「3G/LTEのコネクションの作成」に示します。
表7.3 APN情報設定例
項目 | 設定 |
---|
APN | [apn] |
ユーザー名 | [user] |
パスワード | [password] |
ネットワークデバイス | [wwan] |
ネットワークデバイス [wwan] は、表7.4「通信モジュールのネットワークデバイス」 を参照ください。
表7.4 通信モジュールのネットワークデバイス
通信モジュール | ネットワークデバイス |
---|
Quectel 製 EC25-J | ttyCommModem |
コネクション設定を永続化するには、以下のコマンドを入力してください。設定を永続化すると、Armadillo 起動時に自動的にデータ接続を行うようになります。
同一インタフェースへの設定が複数存在する場合、 gsm-[wwan]-1.nmconnection など後ろに数値が付与されますので、図7.20「3G/LTEのコネクションの作成」 入力時のメッセージで生成されたファイル名を確認した上で永続化を実施ください。
7.1.6.3. MCC/MNC を指定した 3G/LTE のコネクションを作成する
マルチキャリア SIM などを使用する際、MCC (Mobile Country Code) と MNC (Mobile Network Code) を指定してコネクションを作成すると 3G/LTE ネットワークに接続できることがあります。指定する場合は 図7.22「MCC/MNC を指定した 3G/LTE コネクションの作成」 に示すコマンドを実行してください。
[mccmnc] には 44010 などの数字を入力してください。実際に設定する値に関しては、ご契約の通信事業者へお問い合わせください。
7.1.6.5. 3G/LTE モジュールの初期化
SIM カードを入れ替えた際、または 「PAP認証を有効にした3G/LTEのコネクションを作成する」 を実施する際には、図7.24「3G/LTEモジュール初期化手順」に示すモジュール初期化を実施してください。
|
再接続サービスを停止します。
|
|
ModemManager を停止します。
|
|
モジュール初期化処理を実行します。
|
|
コンソールに上記ログが表示され、モジュールの再起動を確認後に、再接続サービスを起動します。
|
| |
---|
停止した ModemManager は 3G/LTE モジュール認識時自動的に再起動しますので、手動での起動は不要です。 |
3G/LTEで正常に通信が可能かを確認します。
図7.26「3G/LTEのPING導通確認」に示すコマンドで、アットマークテクノのWebサーバーとPING通信を行います。VPN接続を利用するなどインターネットに接続できない場合は、ネットワーク内の通信機器に読み替えてください。
| |
---|
3G/LTE以外のコネクションが有効化されている場合、ネットワーク通信に3G/LTEが使用されない場合があります。確実に3G/LTEの接続確認をする場合は、事前に3G/LTE以外のコネクションを無効化してください。 |
7.1.6.8. 3G/LTEコネクションを切断する
3G/LTEコネクションを切断するには、図7.27「3G/LTEコネクションを切断する」に示すコマンドを実行します。
3G/LTEコネクションを切断する前に、3G/LTE 再接続サービスを停止しないと再接続処理が実行される為、事前に停止します。
|
3G/LTE 再接続サービスを停止します。
|
|
3G/LTE コネクションを切断します。
|
3G/LTE 再接続サービスは、3G/LTE のデータ接続の状態を定期的に監視し、切断を検出した場合に再接続を行うサービスです。
SIM カードが挿入されており、NetworkManager に有効な 3G/LTE コネクションの設定がされているとき、初期設定では 120 秒に一度コネクションの状態を監視します。オプションで SIM カードの認識ができないときに Armadillo の再起動を実施することも可能です。
コネクションが無効になっている場合、切断状態と判定しコネクションを有効にします。
コネクションが有効になっている場合、特定の宛先に PING を実行します。PING がエラーになったとき切断状態と判定し、コネクションの無効化・有効化を行うことで再接続を実施します。
コネクションの無効化・有効化による再接続を実施しても PING がエラーになる場合、電波のオン・オフまたは 3G/LTE モジュールの電源をオン・オフを実施して再接続を実施します。どちらを実施するかは設定ファイルの WWAN_FORCE_RESTART_COUNT に依存します。
WWAN_FORCE_RESTART_COUNT が初期値の 10 である場合、1 から 9 回目は電波のオン・オフを実施し、10 回目は3G/LTE モジュールの電源オン・オフを実施します。それ以降も NG が続く場合、同じく 10 回に一度 3G/LTE モジュールの電源オン・オフを実施します。
工場出荷状態で本サービスは有効化されており、システム起動時にサービスが自動的に開始されます。PING を実行する宛先は、初期設定ではで "8.8.8.8" です。ご利用の環境に合わせて設定ファイル(/etc/atmark/connection-recover/gsm-ttyUSB2_connection-recover.conf)を適宜変更してください。
設定ファイルの概要を表7.5「再接続サービス設定パラメーター」に示します。必要に応じて設定値を変更してください。
表7.5 再接続サービス設定パラメーター
パラメーター名 | 初期値 | 意味 | 変更 |
---|
PRODUCT_NAME | - | 製品名 | 不可 |
CHECK_INTERVAL_SEC | 120 | 監視周期(秒) | 可 |
PING_DEST_IP | 8.8.8.8 | コネクション状態確認時 PING 送付先 | 可 |
DEVICE | - | ネットワークデバイス名 | 不可 |
TYPE | - | ネットワークタイプ | 不可 |
NETWORK_IF | - | ネットワーク I/F 名 | 不可 |
FORCE_REBOOT | FALSE | TRUE に設定すると PING 導通チェック NG 時 Armadillo を再起動します。 | 可 |
REBOOT_IF_SIM_NOT_FOUND | FALSE | TRUE に設定すると SIM を検出できない時に Armadillo を再起動します。 | 可 |
WWAN_FORCE_RESTART_COUNT | 10 | PING 導通確認を設定した回数連続で失敗した場合モデムの再起動を実行します。設定した回数に満たない場合 、電波のオフ・オン実施のみで 3G/LTE 再接続を試みます。 | 可 |
設定ファイル(/etc/atmark/connection-recover/gsm-ttyUSB2_connection-recover.conf)変更後、変更内容を永続化するには図7.29「3G/LTE 再接続サービスの設定値を永続化する」に示すコマンドを実行してください。
3G/LTE再接続サービスの状態を確認するには、図7.30「3G/LTE 再接続サービスの状態を確認する」に示すコマンドを実行してください。
3G/LTE再接続サービスを停止するには、図7.31「3G/LTE 再接続サービスを停止する」に示すコマンドを実行してください。
3G/LTE再接続サービスを開始するには、図7.32「3G/LTE 再接続サービスを開始する」に示すコマンドを実行してください。
独自に接続状態を確認するサービスを実装されるなどの理由で標準の3G/LTE再接続サービスが不要な場合、図7.33「3G/LTE 再接続サービスを無効にする」に示す手順で再接続サービスを永続的に無効にできます。
|
再接続サービスを停止します。
|
|
再接続サービスを無効にします。
|
|
サービスの設定ファイルを削除を永続化します。
|
3G/LTE再接続サービスを無効化した後、再度有効にする場合、図7.34「3G/LTE 再接続サービスを有効にする」に示す手順を実行してください。
|
再接続サービスを有効にします。
|
|
再接続サービスを開始します。
|
|
サービスの設定ファイルを永続化します。
|
7.1.6.11. ModemManager - mmcli について
ここでは ModemMamager と mmcli について説明します。
Armadillo-IoT ゲートウェイ G4 にはネットワークを管理する NetworkManager とは別に、モデムを管理する ModemManager がインストールされています。
ModemManager はモバイルブロードバンドデバイス(3G/LTEモジュールなど)の操作および、接続状況の管理などを行います。
ModemManager のコマンドラインツールである mmcli を使用することで、3G/LTE通信の電波強度やSIMカードの情報(電話番号やIMEIなど)を取得することが可能です。mmcli の詳しい使いかたについては man mmcli を参照してください。
7.1.6.13. mmcli - モデムの情報を取得する
モデムの情報を取得するには、図7.36「モデムの情報を取得する」に示すコマンドを実行します。
| |
---|
モデムの情報を取得するには、SIM カードが取り付けられている必要があります。正しく SIM カードが取り付けられていることを確認してください。 |
Armadillo-IoT ゲートウェイ G4 WLAN モデルに搭載されている WLAN + BT コンボモジュールによる
BT の動作を確認します。
例として、 bluetoothctl
コマンドを使用して周辺の bluetooth 機器のアドバタイジング・パケットを
受信します。 bluetoothctl
コマンドを使用するには、 bluez パッケージが必要です。
インストール後、 bluetooth.service
を有効化します。
bluetoothctl
コマンドを使用し、 アドバタイジング・パケットをスキャンします。
スキャンを停止するには、 scan off
を実行します。
bluetoothctl
を終了するには、 exit
を実行します。