可能原因 | 解决方法 | 说明 |
---|---|---|
Buffer设置得过小,下载速度慢,从而下载超时,导致OTA升级失败。 |
检查接口aiot_download_setopt的配置项AIOT_DLOPT_BODY_BUFFER_MAX_LEN的值的大小,增大该配置项的值后,重新发起OTA升级。 在Linux环境下,推荐将该值设置为2 KB。 |
AIOT_DLOPT_BODY_BUFFER_MAX_LEN配置项指定用于接收固件报文的Buffer的大小。 每当下载的固件填充满Buffer后,通知设备端。该值越大,发起通知的次数越少,耗时越短。反之,过小的值会导致整体耗时偏长,受网速波动影响的可能性也越大。 同时,在多线程的系统中,如果下载任务执行慢, 会一直占用CPU,影响其他业务的正常运行。 |
OTA升级超时时间设置太短,导致控制台显示升级失败。 | 在发起升级任务时,设置设备升级超时时间(分钟)时,增大该项的值。具体操作,请参见配置OTA升级策略。 |
请根据下载的实际情况, 并充分考虑网络异常带来的波动,保留一定的余量,设置该项的值。 如果该值设置得太小,设备在指定时间内未完成升级并且未上报新的版本号,物联网平台控制台会提示失败,设备端的下载通道直接断开。 |
设置OTA升级的升级范围为定向升级时,无法找到目标设备。 | 登录物联网平台,检查指定升级的设备的版本号。具体操作,请参见查看升级情况。
如果设备的版本号与待升级版本号不符,则重新上报版本号后,重新发起OTA升级。 |
检查待升级设备是否上报过版本号:
|
设备端通过aiot_download_report_progress 上报了100%的升级进度,但物联网平台控制台显示失败。
|
检查设备完成OTA升级后,调用aiot_ota_report_version,上报最新的版本号。 | 物联网平台控制台,根据设备上报的版本号,判断OTA升级成功与否,而非根据设备上报的固件下载百分比。 |
配置分段下载时,分段设置错误。 | 重新配置分段下载的相关参数,更多信息,请参见发起OTA下载请求。 | 分段下载时,请保证以从头至尾的顺序进行分段,且各个分段间不能有重叠区域。
例如,分段参数分别设置为 |
网络原因 | 请检查网络连接。网络连接恢复正常后重试。 |
下载过程中, 如果出现网络断开的情况, 会导致设备收取不到报文。常见的错误提示如下:
|
文档内容是否对您有帮助?