?最近有客戶反饋在鄉村里頻繁出現掉線的情況。
趕緊排查原因!
通過換貨、換SIM卡對比排查測試,發現只有去年采購的那批模塊在客戶環境附近會出現掉線的情況,而今年采購的模塊批次就不會掉線。。。
繼續追究原因,聯系對應的銷售工作人員,了解到差異就是模塊內的固件版本不同。
去年采購的那批模塊版本是:
今年采購的那批模塊版本是:
AirM2M_780E_LTE_AT_V1162
看來是高版本對網絡做了優化,但在這個地區出貨的也有150多臺設備了,不可能每個都單獨回收回來給模塊用USB燒錄成高版本固件。
所以,不如直接通過FOTA遠程批量升級。
一、第一次嘗試升級,出現失敗
從合宙DOC社區上找到了FOTA遠程升級的文檔參考,先用手邊的設備用合宙IoT平臺做下測試,看能不能升級。
什么都配置好了,結果到最后模塊發AT+UPGRADE觸發升級的時候,卻老是報錯:
+UPGRADEIND: -1003
通過升級日志查詢結果是“正在生成版本”?
?
在頁面右上角看到有個紅色問號“ ?”,是IoT平臺的幫助中心,往下滑就看到了升級日志返回結果的對應描述。
如下圖示:
?
?
正在生成版本,請稍后再次請求—— 看樣子是版本相差太大了,平臺內部還在做差分包, 那我就等一會兒再請求看看。
二、第二次嘗試升級,再次出現失敗
保險起見間隔了30分鐘再次請求,以看到已經進入下載了,但是結果卻又出現了:
+UPGRADEIND: -1003
這又是什么原因???!
?
先去IoT平臺上看一下升級日志的結果是什么,查詢看到顯示的是“ 成功 ”,但實際上并沒有升級成功啊,反而還報錯了。
?
緊接著找合宙的技術人員咨詢了解到, 差分包大小是有限制的,不能大于480KB, 否則會升級不成功。
至于IoT平臺上升級日志顯示“成功”,原因是這個成功代表的意思不是模塊升級成功——而是給予模塊的升級請求,下發了升級文件成功了。
經過進一步確認,可以通過合宙自己提供的生成差分包工具的網址,把V1138和V1162的dfota.bin文件放上去,制作一個差分包看看,到底有多大。
?
等了大概3分鐘左右,差分包制作出來了,點擊下載后,文件大小有550KB,那確實超出了480KB,升級不了。
?
?
從合宙的技術那里還得到了一份AT固件各個版本之間制作差分包的大小,以及是否可以差分升級的表格,這方便多了啊。
有數字的代表是在480KB以內,可以差分升級的版本;空白的就是不能升級的。
差分升級表格如下圖示:
?
那么通過這張圖來看,例如我當前的模塊版本是V1138,需要升級到1162,對應的交叉格并沒有數字。
而且V1138升級到1147的差分包就已經到480KB的臨界點了,只能先升到V1147,再升到1162。
?
三、事不過三,第三次升級,成功!
那么,先獲取到V1147版本的固件。
然后搜索得到AirM2M_780E_LTE_AT_V1147,
解壓出來找到:
AirM2M_780E_V1147_LTE_AT.dfota.bin文件,
放到IoT平臺上面。
?
發送AT指令走下升級流程:
?
成功從AirM2M_780E_V1138_LTE_AT,
升級到了 AirM2M_780E_V1147_LTE_AT。
接下來就是按照步驟,
升級到 AirM2M_780E_V1162_LTE_AT版本。
?
?
編輯
?
四、總結及建議
從以前的老固件做升級,很重要的一點—— 要考慮到模塊內部對差分升級所分配的FOTA分區有多少。 如果差分包超過了分區(Air780E模塊的FOTA分區看來就是480KB了),超出肯定是升級不了的。
緊接著和領導做了匯報,在本地測試了Air780E模組FOTA升級可以了,流程也寫好了,先找了5臺在外的設備遠程升級,測試一下看升級后掉線的現象也確實減少了,那說明固件沒問題。掉線的麻煩事,也完美解決了!
如果你在項目開發中也遇到類似問題,記得一定一定要先注意差分升級FOTA分區大小。
?審核編輯 黃宇
-
遠程升級
+關注
關注
0文章
21瀏覽量
8200 -
FOTA
+關注
關注
0文章
23瀏覽量
7696
發布評論請先 登錄
相關推薦
評論