Découvrez pourquoi les mises à jour over-the-air (OTA) échouent et comment résoudre chaque erreur.
Le délai d'une mise à jour de l'appareil expire
Problème
Dans la console IoT Platform, choisissez Maintenance > OTA Update pour accéder à la page OTA Update. Lorsque vous lancez une mise à jour par lot sur cette page, configurez le paramètre Device upgrade time-out (minutes) . Le décompte du délai commence lorsque l'appareil soumet la progression de la mise à jour pour la première fois. Si l'appareil n'est pas mis à jour dans le délai spécifié pour le paramètre Device upgrade time-out (minutes) , IoT Platform considère que la mise à jour a échoué.
Cause
Le réseau de l'appareil est instable, ce qui prolonge le téléchargement du package de mise à jour OTA au-delà du délai d'expiration spécifié.
L'appareil ne parvient pas à télécharger le package de mise à jour OTA ou la mise à jour échoue lors de la première tentative. L'appareil redémarre, reçoit la tâche de mise à jour depuis IoT Platform, télécharge le package et tente à nouveau la mise à jour. La durée totale de ce processus dépasse le délai d'expiration spécifié.
Solution
Définissez le paramètre Device upgrade time-out (minutes) sur une valeur supérieure à 60, ou laissez-le vide.
Vous pouvez modifier le paramètre Device upgrade time-out (minutes) uniquement pour les tâches de mise à jour dynamiques. Vous pouvez modifier ce paramètre plusieurs fois. Chaque modification s'applique uniquement aux appareils ajoutés après le changement.
Un appareil soumet un numéro de version de firmware invalide
Problème
Dans la console IoT Platform, choisissez Maintenance > OTA Update pour accéder à la page OTA Update. Lorsque vous lancez une mise à jour par lot sur cette page, configurez le paramètre Version number to be upgraded . Après avoir téléchargé un package de mise à jour, démarré la mise à jour et soumis la progression, l'appareil se déconnecte. Lorsqu'il se reconnecte, il soumet un numéro de version de firmware qui ne correspond ni à la version source ni à la version de destination. Dans ce cas, IoT Platform considère que la mise à jour a échoué.
Cause
Pendant une mise à jour OTA, une mise à jour locale du firmware s'exécute simultanément. Une fois la mise à jour locale terminée, l'appareil signale une version de firmware qui ne correspond ni à la version source ni à la version de destination de la tâche de mise à jour par lot.
Solution
Avant de mettre à jour le firmware local d'un appareil, déconnectez-le d'IoT Platform. Une fois la mise à jour locale terminée, l'appareil peut se reconnecter et signaler le dernier numéro de version de firmware. L'appareil doit signaler ce numéro de version dans les 2 secondes suivant sa reconnexion.
Dans la console IoT Platform, choisissez Maintenance > OTA Update pour accéder à la page OTA Update. Lorsque vous lancez une mise à jour par lot sur cette page, configurez le paramètre Max. Retry Times . Par exemple, définissez-le sur 5. Lorsqu'un appareil signale un numéro de version de firmware invalide, IoT Platform retente la mise à jour jusqu'au nombre de fois spécifié par le paramètre Max. Retry Times . Cela améliore le taux de réussite des mises à jour OTA.
Un appareil soumet une valeur d'erreur
Problème
Pendant une mise à jour, un appareil soumet l'une des valeurs d'erreur suivantes via la rubrique spécifique à la progression de la mise à jour : -1 (Update Failed), -2 (Download Failed), -3 (Verification Failed) et -4 (Burn Failed). IoT Platform considère alors que la mise à jour a échoué.
Cause
Diverses erreurs peuvent survenir lors d'une mise à jour OTA. Lorsqu'une erreur se produit, l'appareil signale l'une des valeurs d'erreur accompagnée d'une description personnalisée pour faciliter le dépannage.
Les descriptions des valeurs d'erreur sont prédéfinies par IoT Platform. Vous pouvez modifier ces descriptions. L'appareil peut également signaler une description personnalisée en fonction de l'erreur spécifique.
Solution
Dans la console IoT Platform, choisissez Maintenance > OTA Update pour accéder à la page OTA Update. Lorsque vous lancez une mise à jour par lot sur cette page, configurez le paramètre Max. Retry Times . Par exemple, définissez-le sur 5.
Lorsqu'un appareil signale une valeur d'erreur, IoT Platform retente la mise à jour jusqu'au nombre de fois spécifié par le paramètre Max. Retry Times . Cela améliore le taux de réussite des mises à jour OTA.
Un appareil possède plusieurs tâches de mise à jour simultanées
Problème
Un appareil ne peut avoir qu'une seule tâche de mise à jour en cours. Si vous lancez une autre tâche de mise à jour pour le même appareil, un conflit survient et IoT Platform marque la nouvelle tâche comme ayant échoué.
Cause
Lorsque vous lancez une autre tâche de mise à jour pour un appareil qui possède déjà une tâche de mise à jour en cours, vous définissez le paramètre Override Previous Device Update Tasks sur No .
Solution
Dans la console IoT Platform, choisissez Maintenance > OTA Update pour accéder à la page OTA Update. Lorsque vous lancez une mise à jour par lot, définissez le paramètre Override Previous Device Update Tasks sur Yes .
Sur la page Batch Details de la console IoT Platform, annulez les tâches dont l'état est To Be Pushed, Pushed ou In upgrade. Lancez ensuite une nouvelle tâche de mise à jour sur l'appareil.
Vous pouvez annuler les tâches de mise à jour dont l'état est In upgrade, mais vous ne pouvez pas les écraser.