症状
ncs v.1.7.1
HTTP なら成功するのに、HTTPS を利用すると FOTA に失敗した。
ダウンロード処理の初回でサーバーから強制切断されるのだ。
サーバー側のログを見ると、暗号化通信は正常、分割ダウンロードのログも正常にでていた。
対策
公開鍵の設定やサーバー証明書まわりの問題かと一晩悩んだが、
原因は、暗号化することでダウンロード時のフラグメントサイズの上限を超えてしまっていたことだった。
nRF9160 は、ダウンロード時の フラグメントの大きさが 2048bytes を超えるとエラーになるのだ。
FOTA や DOWNLOD のサンプルプログラムのデフォルト値が 2048bytes なので、そのまま HTTPS に対応させようとすると、必ず失敗する。
prj.conf に
CONFIG_DOWNLOAD_CLIENT_HTTP_FRAG_SIZE_1024=y
を追加すれば不具合が解消する。
以上。