SWUpdate+hawkBit OTA:下载安装后状态不上报怎么破?
本页介绍我的一款产品:SWUpdate+hawkBit OTA 下载安装后状态不上报的解决方案。入口如下:

本产品针对下面这个问题给出解决方案。方案是我本人实测通过的,这点可以保证——事实上,我花了一整周才把它拿下。不过下单之前,请务必仔细读一遍下面的问题现象,确认和你眼下要解决的问题是同一个。继续购买即代表你理解:受硬件、系统环境、软件版本、配置参数等差异影响,本方案不一定能解决你的具体问题。又因数字商品的特殊性,文件下载后不再支持退款。
问题现象
-
在 hawkBit 服务端创建 Software module 和 distribution set,并分配给目标设备 Target 后,目标设备上的 SWUpdate 客户端能成功收到这次 OTA 升级指令,完成下载并安装到指定位置,postinstall 脚本也顺利执行完。 见图 2。

-
但问题就来了:① 服务端没收到客户端升级完成的反馈,hawkBit 上的更新进度一直卡在 Pending Update,始终不变成 Updated。② 客户端 SWUpdate 反复报一条 pending testing 的警告,其它更新一律忽略,还提示要重启 SWUpdate 上报测试结果。日志如下:
[TRACE] : SWUPDATE running : [server_get_deployment_info] : Associated Action ID for Update Action is 21 [TRACE] : SWUPDATE running : [do_get_state] : Read state=1 from persistent storage. [WARN ] : SWUPDATE running : [server_has_pending_action] : An already installed update is pending testing, ignoring available update action. [INFO ] : SWUPDATE running : [server_has_pending_action] : Please restart SWUpdate to report the test results upstream.然而重跑一遍 SWUpdate,这条警告照旧;重启系统也没用。
-
软件版本与系统环境
- hawkBit: 1.1.0
- SWUpdate: 2024.04.1, 2026.05.1 均有此问题
- 目标设备系统为 Ubuntu Linux,使用 grub 引导.
原因与解决方案
付费下载 PDF,即可查看问题的根因以及对应的解决方案。
问题解决之后,SWUpdate 下载安装完成,hawkBit 服务端应当能收到 OTA 结果,并把状态切换为 Updated,见图 3。
