設備OTA升級失敗問題
本文介紹設備OTA升級失敗的原因分析和解決方法。
設備升級超時
問題描述
在物聯網平臺控制臺的監控運維>OTA升級頁面,發起升級批次任務時,設置了設備升級超時時間。當設備第一次上報升級進度時就會觸發計時,超出設備升級超時時間,設備未完成升級,物聯網平臺判斷設備OTA升級失敗。
可能原因
設備所屬網絡環境不穩定,下載OTA升級包時間超過設備升級超時時間。
設備第一次下載OTA升級包失敗或升級失敗,設備重啟后獲取物聯網平臺推送的升級任務,重新開始下載OTA升級包并升級,最終升級成功時長超過設備升級超時時間。
解決方法
設置較長的設備升級超時時間(例如1小時以上),或不設置設備升級超時時間,提升設備OTA升級成功率。
僅動態升級的批次任務中,支持修改設備升級超時時間,且可修改多次,修改后的設備升級超時時間僅對增量設備的升級任務生效。
設備上報錯誤版本
問題描述
在物聯網平臺控制臺的監控運維>OTA升級頁面,發起升級批次任務時,設置了待升級版本號。當設備開始下載升級包或開始升級,上報升級進度后,設備離線再上線且上報的版本,既不是源版本,也不是目標版本,物聯網平臺判斷設備OTA升級失敗。
可能原因
設備進行OTA升級(例如從源版本1.0升級到目標版本1.1)時,在設備聯網狀態下,同時進行了本地固件更新(目標版本為1.1.1),設備本地固件更新完成會上報固件版本1.1.1,與物聯網平臺發起升級的版本不一致(既不是1.0也不是1.1)。
解決方法
設備有本地固件更新的操作時,需要先將設備斷網,完成本地固件更新,然后再上線并上報版本。設備上線和上報版本的時間間隔需要控制在2秒內完成。
您可在物聯網平臺控制臺的監控運維>OTA升級頁面,發起升級批次任務時,設置升級重試上限次數,例如5次。當設備上報錯誤版本后,物聯網平臺根據設置的升級重試上限次數,允許設備再次升級,直至升級重試次數用完。此方法可提升設備OTA升級成功率。
設備上報錯誤進度
問題描述
設備升級過程中通過升級進度的Topic,向物聯網平臺上報進度-1(升級失敗)、-2(下載失敗)、-3(校驗失敗)或-4(燒寫失敗),物聯網平臺判斷設備OTA升級失敗。
可能原因
設備在升級過程中,可能會出現多種升級異常。因此,設備端會上報已定義的錯誤進度值(-1、-2、-3、-4)和自定義描述,用于設備OTA升級后的失敗原因分析。
上述-1、-2、-3、-4的描述是物聯網平臺定義的默認值,支持修改。即設備端可上報符合設備升級實際情況的錯誤描述信息。
解決方法
在物聯網平臺控制臺的監控運維>OTA升級頁面,發起升級批次任務時,設置升級重試上限次數,例如5次。
當設備上報錯誤進度后,物聯網平臺根據設置的升級重試上限次數,允許設備再次升級,直至升級重試次數用完。此方法可提升設備OTA升級成功率。
設備升級沖突
問題描述
同一時間,一個設備只能處于一個升級批次任務中。此時,對該設備再次發起新的升級批次任務,導致設備OTA升級的新任務與原任務出現升級沖突,物聯網平臺判斷設備OTA升級的新任務升級失敗。
可能原因
對正在進行OTA升級的設備,再次發起升級批次任務時,選中了是否覆蓋設備之前的升級任務為否。
解決方法
在物聯網平臺控制臺的監控運維>OTA升級頁面,發起升級批次任務時,設置是否覆蓋設備之前的升級任務為是。
在物聯網平臺控制臺,OTA升級的批次詳情頁面,取消待推送、已推送、升級中的任務后,再對該設備發起新的批次升級任務。
升級中的設備OTA升級任務,不支持被覆蓋,僅支持取消。