2023/07/17 18:32

1/2

SORACOM ブート ﬁrmware

目次
SORACOM ブート ﬁrmware .............................................................................................................. 1
Firmware ........................................................................................................................................ 1
Release ......................................................................................................................................... 1
α/β/rc ............................................................................................................................................ 1
更新履歴 ........................................................................................................................................ 1
使用方法 ........................................................................................................................................... 2
準備 (SORACOM 設定) ................................................................................................................... 2
MA-S1xx の起動 ............................................................................................................................ 7
実行例 ............................................................................................................................................... 7
ファームウェア更新 ...................................................................................................................... 8
オーバーレイ更新 ........................................................................................................................ 11

MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/

Last
update:download_software:mas1xx:soracom_boot:start https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
2023/04/24
17:44

https://centurysys.jp/

Printed on 2023/07/17 18:32

2023/07/17 18:32

1/13

SORACOM ブート ﬁrmware

SORACOM ブート ﬁrmware
起動すると自動的に下記処理を行い、キッティング作業を自動化することができるファームウェアです。
1. SORACOM Air SIM を用いて、PPP 接続をする。
2. SORACOM メタデータサービス から動作設定を取得する。
3. SORACOM Harvest Files から ファームウェア/オーバーレイ保存ファイル をダウンロードする。
4. ファームウェア更新 / オーバーレイファイル更新 を行う。
5. 完了するとシャットダウンする。
※SORACOM 公式ブログ にも記事が掲載されていますので併せて参照下さい。

FirmwareReleaseFile

STAT
SHA1SUMNote
2023/01/20 14:59
soracom_boot_v1_0_0.img
41b8f898c36450e0aﬀca0291b304f78d184a00a v1.0.0
10.7 MB2023/04/12 13:24
soracom_boot_v1_1_0.img
bfe43474956409db06127828a9bf93736e3d70fd v1.1.0
10.7 MB※MA-X3xx シリーズのファームウェアはこちらからダウンロード下さい。

α/β/rcFile STAT SHA1SUM Note

更新履歴
v1.1.0
Alpine Linux Firmware 更新対応
v1.0.0
新規リリース

MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/

Last
update:download_software:mas1xx:soracom_boot:start https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
2023/04/24
17:44

使用方法
準備 (SORACOM 設定)
ファイルのアップロード
Harvest Files にアップデートに使用するファイルをアップロードしておきます。
他の用途と混在しないよう、下記のようなディレクトリ構成にしています。
ファームウェアの場合[例]/<プロジェクト名>/<シリアルNo.>1)/firmware/firmware_file_name.img※ ファームウェアの場合、拡張子 “.img” で終わるファイル名である必要があります。

オーバーレイ保存ファイルの場合の例[例]/<プロジェクト名>/<シリアルNo.>2)/config/overlay_updates.zip※ オーバーレイ保存ファイルの場合、名前が “overlays” で始まる ZIP 形式のファイル、もしくはMA-S1xx の 『設定データ管理』ページ からダウンロードした設定データ3)である必要があります。
[例] etc 領域のオーバーレイファイルを更新~$ unzip -l overlays_update.zip
Archive: overlays_update.zip
Length
Date
Time
Name
--------- ---------- -------17236 2022-11-30 13:49
overlays_etc.tar.zst--------------17236
1 fileファイル配置例

https://centurysys.jp/

Printed on 2023/07/17 18:32

2023/07/17 18:32

3/13

SORACOM ブート ﬁrmware

この例は、プロジェクト名: “projectA”
更新対象: ファームウェア (全機器共通)
ファームウェアファイル名: soracom_boot_ﬁrm.imgとなります。

この例は、プロジェクト名: “projectA”
更新対象: オーバーレイ (機器毎)オーバーレイアーカイブファイル名: overlays_update.zipとなります。

SIM グループの作成
メタデータサービスを利用するため、SIM グループを作成し、使用する SIM を作成した SIM グループに所属させておきます。
MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/

Last
update:download_software:mas1xx:soracom_boot:start https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
2023/04/24
17:44

Harvest Files の有効化作成した SIM グループで、Harvest Files を有効化 します。

https://centurysys.jp/

Printed on 2023/07/17 18:32

2023/07/17 18:32

5/13

ユーザーデータ の作成『ユーザーデータ』 を登録しておきます。

MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/

SORACOM ブート ﬁrmware

Last
update:download_software:mas1xx:soracom_boot:start https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
2023/04/24
17:44

JSON のキーはそれぞれ下記の意味を持ちます。
preﬁx : Harvest Files のディレクトリ名4)
useSerial: 機器のシリアル No, をディレクトリ名につけるかどうか

速度クラスの変更(オプション)
大きなファイルをダウンロードする場合、速度クラスを変更5)しておいたほうが短時間で処理が完了します。

https://centurysys.jp/

Printed on 2023/07/17 18:32

2023/07/17 18:32

7/13

SORACOM ブート ﬁrmware

MA-S1xx の起動
DIPSW の設定
DIPSW を 左から ON - OFF - ON - OFF に設定します。
DIPSW が下向きの状態 が ON となります。

起動SIM グループに所属させた SORACOM SIM を挿入し、機器の電源を入れます。

処理待ち
処理が完了すると電源が OFF になり、LED が全消灯になります。
電源を抜き、DIPSW を元6)に戻して完了です。

実行例
コンソールを接続しておくと、実行時のログが出力されます。トラブル発生時に確認できます。

MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/

Last
update:download_software:mas1xx:soracom_boot:start https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
2023/04/24
17:44

ファームウェア更新
2022-11-29T10:36:36.661495+09:00 [localhost] PPP Manager[758]: Machine Type:
MA-S1xx series.
2022-11-29T10:36:36.674751+09:00 [localhost] PPP Manager[758]: Started.
2022-11-29T10:36:36.683807+09:00 [localhost] PPP Manager[758]: Wait for
device: /dev/ttyQtel0 ...
2022-11-29T10:36:38.691824+09:00 [localhost] PPP Manager[758]: Device:/dev/ttyQtel0 found.
2022-11-29T10:36:38.691978+09:00 [localhost] PPP Manager[758]: Just after
startup, wait 10 seconds...
2022-11-29T10:36:39.509193+09:00 [localhost] soracom_boot[800]: start...
2022-11-29T10:36:39.511289+09:00 [localhost] soracom_boot[800]: *wait_ppp_up: wait for 2022/11/29 10:37:39... <--- SORACOMブートアプリケーショ
ン: PPP接続完了待ち
2022-11-29T10:36:48.693310+09:00 [localhost] PPP Manager[758]: LTE module
found, check config/status.
2022-11-29T10:36:48.766216+09:00 [localhost] PPP Manager[758]: SIM is ready,
IMSI: 44010xxxxxxxxxx
2022-11-29T10:36:48.767815+09:00 [localhost] PPP Manager[758]: Automatic
PLMN.
2022-11-29T10:36:48.769086+09:00 [localhost] PPP Manager[758]: Clear PLMN.
2022-11-29T10:36:49.043166+09:00 [localhost] PPP Manager[758]: No need to
set PDP Context (Same APN: soracom.io).
2022-11-29T10:36:49.117623+09:00 [localhost] pppd[837]: pppd 2.4.9 started
by root, uid 02022-11-29T10:36:50.184234+09:00 [localhost] chat_ng[841]: LTE Module: EC25
2022-11-29T10:36:50.197507+09:00 [localhost] chat_ng[841]: Module Firmware:
EC25JFAR06A06M4G.
2022-11-29T10:36:50.218248+09:00 [localhost] chat_ng[841]: SIM is Ready,
IMSI: 44010xxxxxxxxxx.
2022-11-29T10:36:50.229195+09:00 [localhost] chat_ng[841]: Antenna Level:
RSSI: -61.0 [dBm] (Level: 3)2022-11-29T10:36:50.240559+09:00 [localhost] chat_ng[841]: Wait for
attaching to LTE Network...
2022-11-29T10:36:50.254684+09:00 [localhost] chat_ng[841]: Attached to LTE
Network? Yes
2022-11-29T10:36:50.256430+09:00 [localhost] chat_ng[841]: Start dialing...
2022-11-29T10:36:50.282101+09:00 [localhost] chat_ng[841]: Connected.
2022-11-29T10:36:51.289300+09:00 [localhost] pppd[837]: Serial connection
established.
2022-11-29T10:36:51.309011+09:00 [localhost] pppd[837]: Using interface ppp02022-11-29T10:36:51.317111+09:00 [localhost] pppd[837]: Connect: ppp0 <-->
/dev/ttyQtel02022-11-29T10:36:52.365089+09:00 [localhost] pppd[837]: CHAP authentication
succeeded
2022-11-29T10:36:52.366439+09:00 [localhost] pppd[837]: CHAP authentication
succeeded
2022-11-29T10:36:52.628662+09:00 [localhost] pppd[837]: Could not determine
https://centurysys.jp/

Printed on 2023/07/17 18:32

2023/07/17 18:32

9/13

SORACOM ブート ﬁrmware

remote IP address: defaulting to 10.64.64.64
2022-11-29T10:36:52.639128+09:00 [localhost] pppd[837]: local IP address
10.178.122.249
2022-11-29T10:36:52.644011+09:00 [localhost] pppd[837]: remote IP address
10.64.64.64
2022-11-29T10:36:52.651973+09:00 [localhost] pppd[837]: primary
DNS
address 100.127.0.53
2022-11-29T10:36:52.653386+09:00 [localhost] pppd[837]: secondary DNS
address 100.127.1.53
2022-11-29T10:36:52.667358+09:00 [localhost] PPP Manager[758]: PPP
connected. <------------ PPP接続完了
2022-11-29T10:36:55.130574+09:00 [localhost] soracom_boot[800]: *firmup_needed: Current MD5: e6d94e5017572d621826c7d18b6c86c9
2022-11-29T10:36:55.132417+09:00 [localhost] soracom_boot[800]: *firmup_needed: New MD5:9cf9b3fbfb3ebc95da3062bb2375231f <--- etag(MD5)による更新要否判定
2022-11-29T10:36:55.133735+09:00 [localhost] soracom_boot[800]: *firmup_needed: --> need update? true2022-11-29T10:36:55.294873+09:00 [localhost] soracom_boot[800]: !
SoracomAPI::getContent: code = 404 Not Found.
2022-11-29T10:36:55.296732+09:00 [localhost] soracom_boot[800]: *list_files: kind[config] file not found.
2022-11-29T10:36:55.298064+09:00 [localhost] soracom_boot[800]: *find_overlays: not found.
2022-11-29T10:36:55.299691+09:00 [localhost] soracom_boot[800]: *download_loop: overlays not found. <--- オーバーレイ保存ファイルは Harvest Filesに無い、更新しない
2022-11-29T10:36:55.312735+09:00 [localhost] soracom_boot[800]: * get_file:filesize: 11229628.
2022-11-29T10:36:56.710723+09:00 [localhost] soracom_boot[800]: *downloaded: 1000000 [bytes].
2022-11-29T10:36:57.739905+09:00 [localhost] soracom_boot[800]: *downloaded: 2000000 [bytes].
2022-11-29T10:36:58.770365+09:00 [localhost] soracom_boot[800]: *downloaded: 3000000 [bytes].
2022-11-29T10:36:59.790130+09:00 [localhost] soracom_boot[800]: *downloaded: 4000000 [bytes].
2022-11-29T10:37:00.812815+09:00 [localhost] soracom_boot[800]: *downloaded: 5000000 [bytes].
2022-11-29T10:37:01.843332+09:00 [localhost] soracom_boot[800]: *downloaded: 6000000 [bytes].
2022-11-29T10:37:02.862658+09:00 [localhost] soracom_boot[800]: *downloaded: 7000000 [bytes].
2022-11-29T10:37:03.891949+09:00 [localhost] soracom_boot[800]: *downloaded: 8000000 [bytes].
2022-11-29T10:37:05.002729+09:00 [localhost] soracom_boot[800]: *downloaded: 9000000 [bytes].
2022-11-29T10:37:05.940984+09:00 [localhost] soracom_boot[800]: *downloaded: 10000000 [bytes].
2022-11-29T10:37:06.966168+09:00 [localhost] soracom_boot[800]: *downloaded: 11000000 [bytes].
MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/

Last
update:download_software:mas1xx:soracom_boot:start https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
2023/04/24
17:44

2022-11-29T10:37:07.205155+09:00 [localhost] soracom_boot[800]: * download
finished, downloaded size: 11229628.
2022-11-29T10:37:09.104304+09:00 [localhost] soracom_boot[800]:
MD5(dest):
9cf9b3fbfb3ebc95da3062bb2375231f <--- ダウンロードしたファイルの MD5 sum チェック2022-11-29T10:37:09.105802+09:00 [localhost] soracom_boot[800]:MD5(etag):
9cf9b3fbfb3ebc95da3062bb2375231f
2022-11-29T10:37:09.107051+09:00 [localhost] soracom_boot[800]: * get_file:MD5sum matched.
2022-11-29T10:37:09.108842+09:00 [localhost] soracom_boot[800]: *download_file[firmware]: download completed, size: 11229628.
2022-11-29T10:37:09.120955+09:00 [localhost] soracom_boot[800]: * update
firmware: area: 0...
2022-11-29T10:37:10.103994+09:00 [localhost] fuse-zip[868]: Mounting filesystem on /tmp/soracom_boot_firm.img (cwd=/)
2022-11-29T10:37:11.566343+09:00 [localhost] fuse-zip[868]: File system
unmounted
2022-11-29T10:37:12.184273+09:00 [localhost] soracom_boot[800]: * firmup
area: 0 -> result: true.
2022-11-29T10:37:12.191771+09:00 [localhost] soracom_boot[800]: * update
firmware: area: 1...
2022-11-29T10:37:13.164952+09:00 [localhost] fuse-zip[889]: Mounting filesystem on /tmp/soracom_boot_firm.img (cwd=/)
2022-11-29T10:37:14.723901+09:00 [localhost] fuse-zip[889]: File system
unmounted
2022-11-29T10:37:15.336246+09:00 [localhost] soracom_boot[800]: * firmup
area: 1 -> result: true.
2022-11-29T10:37:15.732252+09:00 [localhost] PPP Manager[758]: signal
received, 152022-11-29T10:37:15.732721+09:00 [localhost] PPP Manager[758]: Stop PPP
manager.
2022-11-29T10:37:15.735329+09:00 [localhost] pppd[837]: Terminating on
signal 15
2022-11-29T10:37:15.737790+09:00 [localhost] pppd[837]: Connect time 0.4
minutes.
2022-11-29T10:37:15.738048+09:00 [localhost] pppd[837]: Sent 135487 bytes,
received 11674375 bytes.
2022-11-29T10:37:15.759986+09:00 [localhost] pppd[837]: Connection
terminated.
2022-11-29T10:37:15.796041+09:00 [localhost] pppd[837]: Exit.
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff[
68.140361] reboot: Power down

https://centurysys.jp/

Printed on 2023/07/17 18:32

2023/07/17 18:32

11/13

SORACOM ブート ﬁrmware

オーバーレイ更新
2022-11-30T14:51:15.564933+09:00 [localhost] PPP Manager[755]: Started.
2022-11-30T14:51:15.574303+09:00 [localhost] PPP Manager[755]: Wait for
device: /dev/ttyQtel0 ...
2022-11-30T14:51:17.578714+09:00 [localhost] PPP Manager[755]: Device:/dev/ttyQtel0 found.
2022-11-30T14:51:17.578866+09:00 [localhost] PPP Manager[755]: Just after
startup, wait 10 seconds...
2022-11-30T14:51:18.436896+09:00 [localhost] soracom_boot[798]: start...
2022-11-30T14:51:18.439210+09:00 [localhost] soracom_boot[798]: *wait_ppp_up: wait for 2022/11/30 14:52:18...
2022-11-30T14:51:27.580236+09:00 [localhost] PPP Manager[755]: LTE module
found, check config/status.
2022-11-30T14:51:27.654182+09:00 [localhost] PPP Manager[755]: SIM is ready,
IMSI: 44010xxxxxxxxxx
2022-11-30T14:51:27.655543+09:00 [localhost] PPP Manager[755]: Automatic
PLMN.
2022-11-30T14:51:27.656710+09:00 [localhost] PPP Manager[755]: Clear PLMN.
2022-11-30T14:51:27.918119+09:00 [localhost] PPP Manager[755]: No need to
set PDP Context (Same APN: soracom.io).
2022-11-30T14:51:27.998746+09:00 [localhost] pppd[835]: pppd 2.4.9 started
by root, uid 02022-11-30T14:51:29.059840+09:00 [localhost] chat_ng[838]: LTE Module: EC25
2022-11-30T14:51:29.080758+09:00 [localhost] chat_ng[838]: Module Firmware:
EC25JFAR06A06M4G.
2022-11-30T14:51:29.117385+09:00 [localhost] chat_ng[838]: SIM is Ready,
IMSI: 44010xxxxxxxxxx.
2022-11-30T14:51:29.128796+09:00 [localhost] chat_ng[838]: Antenna Level:
RSSI: -67.0 [dBm] (Level: 3)2022-11-30T14:51:29.139513+09:00 [localhost] chat_ng[838]: Wait for
attaching to LTE Network...
2022-11-30T14:51:29.154140+09:00 [localhost] chat_ng[838]: Attached to LTE
Network? Yes
2022-11-30T14:51:29.155537+09:00 [localhost] chat_ng[838]: Start dialing...
2022-11-30T14:51:29.180464+09:00 [localhost] chat_ng[838]: Connected.
2022-11-30T14:51:30.187571+09:00 [localhost] pppd[835]: Serial connection
established.
2022-11-30T14:51:30.207805+09:00 [localhost] pppd[835]: Using interface ppp02022-11-30T14:51:30.219258+09:00 [localhost] pppd[835]: Connect: ppp0 <-->
/dev/ttyQtel02022-11-30T14:51:31.243344+09:00 [localhost] pppd[835]: CHAP authentication
succeeded
2022-11-30T14:51:31.244727+09:00 [localhost] pppd[835]: CHAP authentication
succeeded
2022-11-30T14:51:31.525953+09:00 [localhost] pppd[835]: Could not determine
remote IP address: defaulting to 10.64.64.64
2022-11-30T14:51:31.538793+09:00 [localhost] pppd[835]: local IP address
10.178.122.249
2022-11-30T14:51:31.546183+09:00 [localhost] pppd[835]: remote IP address
MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/

Last
update:download_software:mas1xx:soracom_boot:start https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
2023/04/24
17:44

10.64.64.64
2022-11-30T14:51:31.547622+09:00 [localhost] pppd[835]: primary
DNS
address 100.127.0.53
2022-11-30T14:51:31.548903+09:00 [localhost] pppd[835]: secondary DNS
address 100.127.1.53
2022-11-30T14:51:31.567004+09:00 [localhost] PPP Manager[755]: PPP
connected.
2022-11-30T14:51:33.662800+09:00 [localhost] soracom_boot[798]: *SoracomAPI::init: serialNo = 111402xxxxx.
2022-11-30T14:51:33.664600+09:00 [localhost] soracom_boot[798]: *list_files: URL: http://harvest-files.soracom.io/projectA/firmware/2022-11-30T14:51:33.850787+09:00 [localhost] soracom_boot[798]: *find_firmware: not found.
2022-11-30T14:51:33.852427+09:00 [localhost] soracom_boot[798]: *download_loop: firmware not found.
2022-11-30T14:51:33.854120+09:00 [localhost] soracom_boot[798]: *list_files: URL:
http://harvest-files.soracom.io/projectA/111402xxxxx/config/
2022-11-30T14:51:34.055953+09:00 [localhost] soracom_boot[798]: *download_loop: overlays archive found.
2022-11-30T14:51:34.058028+09:00 [localhost] soracom_boot[798]: *download_file[config]: filename: overlays_update.zip, start donwloading...
2022-11-30T14:51:34.071095+09:00 [localhost] soracom_boot[798]: * get_file:filesize: 17426.
2022-11-30T14:51:34.362620+09:00 [localhost] soracom_boot[798]: * download
finished, downloaded size: 17426.
2022-11-30T14:51:34.368141+09:00 [localhost] soracom_boot[798]:
MD5(dest):
6182e0dcab5dc169b878b985a9da58a2
2022-11-30T14:51:34.369580+09:00 [localhost] soracom_boot[798]:
MD5(etag):
6182e0dcab5dc169b878b985a9da58a2
2022-11-30T14:51:34.371121+09:00 [localhost] soracom_boot[798]: * get_file:MD5sum matched.
2022-11-30T14:51:34.372949+09:00 [localhost] soracom_boot[798]: *download_file[config]: download completed, size: 17426.
2022-11-30T14:51:34.382827+09:00 [localhost] soracom_boot[798]: * update
overlay files...
2022-11-30T14:51:34.583990+09:00 [localhost] fuse-zip[858]: Mounting filesystem on /tmp/overlays_update.zip (cwd=/)
2022-11-30T14:51:34.760539+09:00 [localhost] fuse-zip[858]: File system
unmounted
2022-11-30T14:51:34.842491+09:00 [localhost] soracom_boot[798]: * overlay
update -> result: true.
2022-11-30T14:51:35.598401+09:00 [localhost] PPP Manager[755]: signal
received, 152022-11-30T14:51:35.598717+09:00 [localhost] PPP Manager[755]: Stop PPP
manager.
2022-11-30T14:51:35.599260+09:00 [localhost] pppd[835]: Terminating on
signal 15
2022-11-30T14:51:35.600337+09:00 [localhost] pppd[835]: Connect time 0.1
https://centurysys.jp/

Printed on 2023/07/17 18:32

2023/07/17 18:32

13/13

SORACOM ブート ﬁrmware

minutes.
2022-11-30T14:51:35.600486+09:00 [localhost] pppd[835]: Sent 3639 bytes,
received 22247 bytes.
2022-11-30T14:51:35.627360+09:00 [localhost] pppd[835]: Connection
terminated.
2022-11-30T14:51:36.645260+09:00 [localhost] pppd[835]: Exit.
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff[
48.886395] reboot: Power down

1)

, 2)
機器ごとに分ける必要がある場合
3)

conﬁg_*.img, これも ZIP 形式のファイルです4)『プロジェクト名』としていたもの
5)

s1.4xfast など
6)

全て OFF(上側)From:
https://centurysys.jp/ - MA-X/MA-S/MA-E/IP-K Developers' WiKi
Permanent link:
https://centurysys.jp/doku.php?id=download_software:mas1xx:soracom_boot:start
Last update: 2023/04/24 17:44

MA-X/MA-S/MA-E/IP-K Developers' WiKi - https://centurysys.jp/