Firmware update job stuck on 'pending' status for multiple devices after aziotc rollout

We’re trying to push a firmware update to 50 devices using the aziotc firmware-mgmt module, but the job has been stuck on ‘pending’ status for over 24 hours. The device twin desired properties show the update configuration, but none of the devices are acknowledging or starting the download. Job status monitoring in the portal just shows ‘pending’ with no progress. I’m not sure if this is a device twin issue, a permissions problem with the firmware-mgmt module, or something else entirely.


Job ID: fw-update-2025-08-10
Status: pending
Devices targeted: 50
Devices updated: 0
Desired properties: Set correctly

The firmware file is accessible via the configured blob storage URL. Anyone experienced firmware update jobs that never progress beyond pending?

I’ve seen this when the job configuration itself is malformed. Check the job definition JSON - if the target condition query is wrong or if the desired properties structure doesn’t match what your device expects, the job will stay pending indefinitely. The portal doesn’t always show validation errors clearly.

You can’t directly verify twin subscriptions from the cloud, but you can check the device twin’s reported properties. If a device is properly handling twin updates, it should report back the current firmware version. If the reported properties are empty or outdated, the device isn’t processing twin updates correctly. Also check if the firmware-mgmt module has the right permissions to modify device twins.

This usually means the devices aren’t receiving the twin update notification. Check if your devices are actually connected to IoT Hub when you initiated the job. Devices need to be online to receive the desired property changes.