0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

远程升级频频失败?原因竟然是…

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-10-14 07:07 次阅读

​最近有客户反馈在乡村里频繁出现掉线的情况。

赶紧排查原因!

通过换货、换SIM卡对比排查测试,发现只有去年采购的那批模块在客户环境附近会出现掉线的情况,而今年采购的模块批次就不会掉线。。。

继续追究原因,联系对应的销售工作人员,了解到差异就是模块内的固件版本不同。

去年采购的那批模块版本是:

AirM2M_780E_LTE_AT_V1138

今年采购的那批模块版本是:

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

    浏览量

    8203
  • FOTA
    +关注

    关注

    0

    文章

    23

    浏览量

    7707
收藏 人收藏

    评论

    相关推荐

    PCM2704的ROM编程好了,竟然是乱码,为什么?

    的说法将ROM编程好,接入系统,插入USB后,显示正在安装驱动,没想到安装完毕后竟然名称显示为乱码,百思不得其解。望各位大神帮我看看问题出在哪里 这是德州仪器官方数据表中关于ROM的三段重要描述 我按照说明编程如下 可是插入电脑后显示是乱码 求助大神,问题出在哪里?
    发表于 11-05 08:04

    异常重启怎么破?多方排查后,原因竟然是。。。

    ​又是异常重启。。。让人摸不到头脑。 这几天,看到客户上报了重启问题,说是查不出原因。 重启现象是 ——有极个别设备在工作中不定时反复异常重启,大部分设备正常;反复重启设备,有时候又能持续正常工作
    的头像 发表于 10-14 07:04 252次阅读
    异常重启怎么破?多方排查后,<b class='flag-5'>原因</b><b class='flag-5'>竟然是</b>。。。

    令人头疼的异常重启,竟然是KV的锅…

    合宙模组异常重启原因排查
    的头像 发表于 09-26 18:14 422次阅读
    令人头疼的异常重启,<b class='flag-5'>竟然是</b>KV的锅…

    晶闸管逆变失败原因和解决方案

    晶闸管逆变失败是电力电子领域中的一个常见问题,它可能由多种因素引起,并可能对系统造成严重的损害。以下是对晶闸管逆变失败原因及解决方法的详细探讨,旨在提供全面且深入的理解。
    的头像 发表于 08-27 16:26 1399次阅读

    ESP8266 OTA升级失败原因

    我正在使用自定义服务器来升级 esp8266。我可以从服务器下载图像,但总是升级失败。 我将以下.bin文件下载到闪存中(下载前,我擦除整个闪存): ------------ 2 MByte
    发表于 07-11 07:45

    ESP8266 OTA升级失败原因

    你好,我使用的ESP8266-12F(32MBit)模组,SDK是旧版本NON-RTOS的(当然新的SDK也尝试过),在烧录云升级的代码之后,在串口看到的是不断打印的乱码。 但是当我改回非云升级
    发表于 07-10 08:10

    人脸识别模型训练失败原因有哪些

    人脸识别模型训练失败原因有很多,以下是一些常见的原因及其解决方案: 数据集质量问题 数据集是训练人脸识别模型的基础。如果数据集存在质量问题,将直接影响模型的训练效果。以下是一些常见的数据集质量问题
    的头像 发表于 07-04 09:17 603次阅读

    esp-ali-smartliving SDK功能OTA升级失败原因

    ,使用阿里生活物联网平台OTA升级失败,提示:Not digestSign key in json doc of OTA,如下图 请问如何解决呢?
    发表于 06-28 08:50

    晶体为什么会老化?原因竟然是....

    晶体
    TROQ创捷电子
    发布于 :2024年06月25日 08:52:52

    ESP-IDF4.4 OTA升级失败原因

    ESP-IDF4.4 OTA 功能,在启动OTA功能后下载固件过程中出现wifi无Internet访问,然后很快网络恢复,需要等待很久后OTA升级失败
    发表于 06-06 08:19

    光纤熔接机熔接失败原因

    光纤熔接机是一种用于将光纤进行熔接的设备,它在光纤通信领域中具有非常重要的作用。然而,在使用光纤熔接机的过程中,可能会出现熔接失败的情况。本文将详细介绍光纤熔接机熔接失败原因,包括设备故障、操作
    的头像 发表于 04-07 17:22 2583次阅读

    CY8C4247AZI-M485通过cyflash升级应用程序失败原因

    引导加载程序定义为DUAL_SENSOR_BOX_KIT -Application。 我想通过 UART 和 cyflash 升级图像应用程序。 应用程序 1(有效和激活)升级失败,cyflash
    发表于 03-05 06:21

    GD32 MCU ISP失败原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败原因是什么呢?
    的头像 发表于 02-28 09:23 1456次阅读
    GD32 MCU ISP<b class='flag-5'>失败</b>的<b class='flag-5'>原因</b>

    如何远程登录云服务器?登录失败是什么原因

    口可能被国内屏蔽) 3.远程端口不通进入系统看防火墙有没有放行,查看日志 4.远程端口掉包严重,“80”端口或者IP 长ping正常,考虑是暴力破解,进入系统,cmd窗口使用命令 “netstat -an” , 查看具体情况。 5.其他
    发表于 02-01 15:32

    N9H20 GPIO上电竟然是高电平,有没有办法解决?

    一直很纳闷,GPIO上电竟然是高电平。有没有办法解决,是不是要改动启动程序才能解决问题?
    发表于 01-17 08:27