第3章 ソフトウェア仕様変更点

リニューアルモデルと共にリリースされるソフトウェアのバージョンは下記の通りです。

  • ブートローダー: Hermit At v3.5.0

  • カーネル: Linux 3.14-at1 (linux-aiotg-std-v2.00.bin.gz)

  • ユーザーランド: Atmark Dist v20150618(romfs-iotg-std-v2.00.img.gz)

従来モデルとリニューアルモデルで使用可能なソフトウェアの組み合わせは下記の通りとなります。特別な理由がない限り、Linux 3.14カーネル及び最新のAtmark Distの組み合わせでのご利用を推奨いたします。

表3.1 Armadillo-IoT ゲートウェイ スタンダードモデル(従来モデル)

 

Linux 2.6.26

(linux-2.6.26-at)

Linux 3.14

(linux-3.14-at)

カーネル

linux-2.6.26-atで動作

(今後の機能追加は行われません)

linux-3.14-atで動作

ユーザーランド

Atmark Dist v20150424以前で動作

(今後の機能追加は行われません)

Atmark Dist v20150618以降で動作

ブートローダー

従来通り動作

従来通り動作

(Hermit-at v3.5.0以降を推奨)


表3.2 Armadillo-IoT ゲートウェイ スタンダードモデル G2(リニューアルモデル)

 

Linux 2.6.26

(linux-2.6.26-at)

Linux 3.14

(linux-3.14-at)

カーネル

動作不可

linux-3.14-atで動作

ユーザーランド

動作不可

Atmark Dist v20150618以降で動作

ブートローダー

動作不可

Hermit-at v3.5.0以降で動作


3.1. ブートローダー

3.1.1. リニューアルモデル対応

リニューアルモデルはv3.5.0以降のみで動作します。ブートローダーの動作仕様の変更はありません。

3.2. カーネル

3.2.1. Linux 2.6.26ベースのものからLinux 3.14ベースのものに更新

Linux 2.6.26ベースのカーネルには、今後Armadillo-IoT関連の機能追加は行われません。Linux 2.6.26ベースのカーネルは他のArmadillo-400シリーズで使用されているため、今後も重要なバグの修正やセキュリティフィックスは行われる可能性があります。

従来モデル、リニューアルモデルと、Linuxカーネルとの組み合わせは下記のようになります。

  • 従来モデル+linux-2.6.26-atの組み合わせ=これまでの構成(今後機能追加されない)

  • 従来モデル+linux-3.14-atの組み合わせ=既存の開発セット購入者向けにサポート

  • リニューアルモデル+linux-2.6.26-atの組み合わせ=非対応

  • リニューアルモデル+linux-3.14-atの組み合わせ=今後の標準構成

3.2.2. 仕様変更: halt, shutdownコマンドを実行するとrebootする

カーネル内でのハードウェアウォッチドッグタイマのクリア処理方法の変更により、haltコマンドを発行した後、ウォッチドッグタイマがタイムアウト(128秒)するとシステムがリブートします。

3.2.3. カーネルバージョンによる制約: 1-Wire, CAN

linux-3.14-atで1-Wire、CANを動作させるには、Linux カーネルのバージョン v3.14-at4 以降 を使用する必要があります。

3.2.4. 仕様変更: CAN

linux-2.6.26-atは、以下の機能がSocketCANに準拠しておらず、sysfsで設定などを行う独自実装となっていました。

  • 通信速度の設定

  • リモートフレーム受信時の応答

linux-3.14-atでは、SocketCANに準拠した実装となっています。

3.2.4.1. ipコマンドによるCAN 通知速度の設定方法

CAN の通信速度設定には iproute2の ip コマンドを使用します。iproute2はAtmark Dist v20151026以降 に含まれるものを使用してください。

設定方法については、「Armadillo実践開発ガイド 第3部」v3.0.0 以降の「ip コマンドの準備」、「CAN 通信プログラムの準備」、「使用例」を参照してください。

3.2.4.2. アプリケーションによるリモートフレーム受信時の応答方法

リモートフレームを受信した時、応答を返す必要がある場合には、アプリケーションにリモートフレーム受信時の処理を追加してください。

アプリケーションでの対応方法については、Linux カーネルのソースコードに含まれているドキュメント(Documentation/networking/can.txt)を参照してください。

3.3. ユーザーランド

3.3.1. iptablesを1.4.14にアップデート

Linux kernel更新に伴い、iptablesを1.4.1にアップデートしています。

3.3.2. udevをudev-175にアップデート

Linux kernel更新に伴い、udevを175にアップデートしています。

3.3.3. 3G接続関連スクリプトをHL8548対応に

3Gモジュールが変更になったため、3G関連のスクリプトを更新しています。コマンドの使い方には変更ありません。

3.3.4. 3G動作表示用LED(3GLED)制御スクリプト追加

3GLEDがユーザー制御になったことに伴い、制御用スクリプト(3g-hl8548-led)を追加しています。ONまたはOFFの制御のみ可能です。

3.3.5. 3Gモジュールのネットワークインターフェース名を固定

これまで、マニュアル等では3Gモジュールのネットワークインターフェース名がusb0となることを暗黙の前提として記述していましたが、USB-LANアダプタなどを接続して起動すると、3Gモジュールのネットワークインターフェース名がusb1やusb2などに変わってしまう問題がありました。この問題を解消するため、3Gモジュールのネットワークインターフェース名として必ずumts0でアクセスできるようなudevルールを追加しています。

3.3.6. 3Gモジュールのシリアルインターフェース名のシンボリックリンクを作成

ネットワークインターフェース名の問題と同様に、USB-シリアル変換ケーブルなどを接続して起動すると、3Gモジュール制御用のttyデバイスファイル名が変わってしまう問題がありました。この問題を解消するため、3Gモジュールに対してATコマンドを発行するために使用するttyデバイスファイル名を/dev/ttyATCMDとなるようなudevルールを追加しました。

3.3.7. thermaltrigger修正

Linuxカーネルのアップデートに伴い、温度センサの値を取得するsysfsのパスが変更となっています。それに対応するため、thermaltriggerを修正しています。コマンドの使い方に変更はありません。

3.3.8. thermalmonitor修正

従来モデルでは筐体内温度の監視をベースボード上の温度センサの値で行っていましたが、リニューアルモデルでは、より影響の大きい3Gモジュール内蔵の温度センサで監視するよう変更しています。これに伴い、thermalmonitorを修正しています。

3.3.9. vintrigger修正

入力電圧の監視に使用しているADCのドライバがIIO対応となったことに伴いvintriggerを修正しています。

3.3.10. 3G監視用デーモンをデフォルト有効に

3Gのネットワークインターフェースアップ時に、3G接続監視デーモン(ifplugd)を自動で起動するようにしました。これにより、3G接続が意図せず切れてしまった場合でも、自動で再接続を試みるようになります。

監視デーモンは3Gのネットワークインターフェースダウン時に終了されます。

3.3.11. 絶縁IOアドオンモジュール(DA00)のAD値取得方法変更

ADコンバーター用ドライバがIIO対応となったため、AD値の取得方法が変更となっています。