| 考えられる原因 | 解決策 | 説明 |
| バッファサイズが小さすぎてダウンロード速度が遅く設定されています。 したがって、ダウンロードがタイムアウトし、無線 (OTA) 更新が失敗します。 | aiot_download_setopt操作のAIOT_DLOPT_BODY_BUFFER_MAX_LENパラメーターの値を確認します。 パラメータ値を増やし、OTA更新を再開します。 Linux環境では、この値を2 KBに設定することを推奨します。 | AIOT_DLOPT_BODY_BUFFER_MAX_LENは、ファームウェア関連のメッセージを受信するために使用されるバッファのサイズを指定します。 ダウンロードされたファームウェアがバッファを完全に占有すると、通知がデバイスに送信されます。 バッファサイズを増やすことで、通知の数を減らし、ダウンロード時間を短縮できます。 バッファサイズが小さすぎると、ダウンロードに時間がかかり、ネットワークジッタが発生しやすくなります。 マルチスレッドシステムでは、低速のダウンロードタスクがCPUを占有し、他のビジネスの通常の動作に影響を与えます。 |
| OTA更新のタイムアウト期間が短すぎます。 | 更新タスクを開始するときに、[デバイスのアップグレードタイムアウト (分)] パラメーターの値を大きくします。 詳細については、「バッチ更新の開始」をご参照ください。 | ビジネス要件に基づいてパラメーター値を設定します。 ネットワークジッタの影響を考慮する必要があります。 値が小さすぎて、デバイスが更新を完了せず、指定された期間内に新しいバージョン番号を送信しない場合、IoT Platformは更新が失敗したと判断し、ダウンロードチャネルを閉じます。 |
| OTA更新スコープを [選択済みデバイス] に設定した場合、宛先デバイスは存在しません。 | IoT Platformコンソールにログインし、指定されたデバイスのバージョン番号を確認します。 詳細については、「更新ステータスの表示」をご参照ください。 デバイスのバージョン番号が更新するバージョン番号と一致しない場合は、バージョン番号を再度送信し、OTA更新を再開します。 | 更新するデバイスがバージョン番号を送信しているかどうかを確認します。
|
デバイスはaiot_download_report_progress操作を呼び出して100% 更新の進行状況を送信しますが、IoT PlatformはOTA更新が失敗したと判断します。 | OTAの更新が完了したら、aiot_ota_report_version操作を呼び出して、最新のバージョン番号を送信します。 | IoT Platformは、ファームウェアのダウンロード率ではなく、送信されたバージョン番号に基づいてOTAの更新が成功したかどうかを判断します。 |
| セグメント化されたダウンロードを構成すると、セグメント化設定は無効です。 | セグメント化されたダウンロードに関連するパラメーターをリセットします。 詳細については、「例」をご参照ください。 | セグメント化されたダウンロードを設定するときは、セグメントが最初から最後までダウンロードされ、セグメント間に重複がないことを確認してください。 たとえば、 |
| ネットワークエラーが発生した場合。 | ネットワーク接続を確認します。 ネットワーク接続が復元されたら、もう一度お試しください。 | ダウンロード中にネットワーク接続が終了した場合、デバイスはメッセージを受信できません。 一般的なエラーメッセージの例を次に示します。 |