Firmware push fails for legacy devices supporting only HTTP

We’re encountering consistent failures when pushing firmware updates to our legacy industrial sensors deployed across multiple sites. These devices were installed 3-4 years ago and only support HTTP communication, not MQTT. When we trigger firmware update jobs through the Device Management interface, the jobs start but fail within minutes with a generic timeout error.

The newer devices using MQTT protocol work perfectly fine with the same firmware update process. I’ve checked the device type configuration and confirmed HTTP is enabled as the transport protocol, but the firmware update job triggers don’t seem to respect this setting. Has anyone successfully pushed firmware to HTTP-only devices in c8y-1020? The blocking issue is critical security patches that need deployment across 200+ legacy sensors.

Configuration changes to device types typically require device reconnection or a manual operation to refresh the device protocol settings. For 200+ devices, you might want to create a bulk operation to trigger a configuration refresh. Also, verify that your firmware management microservice has the HTTP transport enabled - there’s a specific configuration flag for backward compatibility with HTTP-only devices that’s disabled by default in newer versions.

I’ve seen this before. The firmware update job mechanism in Cumulocity has evolved to prioritize MQTT for better reliability and real-time feedback. For HTTP-only devices, you need to ensure the polling interval is properly configured in the device protocol settings. Check if your legacy devices are actually polling the platform frequently enough to receive the firmware job notification. Default HTTP polling might be set too infrequently.

Thanks for the pointer. I checked the device protocol configuration and found the polling interval is set to 30 minutes, which explains the timeout. However, when I try to modify this setting for the device type, the changes don’t seem to apply to existing devices. Do I need to reconnect each device, or is there a way to push this configuration change?