Guía para la solución de problemas de Device Update para Azure IoT Hub
En este documento se enumeran varios problemas y preguntas comunes que los usuarios de actualizaciones de dispositivos han comunicado. Si se topa con algún problema que no aparece en esta guía, consulte la sección de contacto con el soporte técnico de Microsoft para documentar la situación.
Importación de actualizaciones
P: tengo problemas para conectar una instancia de Device Update a una instancia de IoT Hub
Asegúrese de que las rutas de mensajes de IoT Hub estén configuradas correctamente, tal como se indica en la documentación de los recursos de Device Update .
P: aparece un error relacionado con el rol (un mensaje de error de Azure Portal o error 403 de API)
Es posible que los permisos de acceso no se hayan configurado correctamente. Asegúrese de que ha configurado los permisos de acceso correctamente, tal como se indica en la documentación sobre el control de acceso de Device Update.
P: aparece un error del tipo 500 al importar contenido en el servicio Device Update
Un código de error del rango 500 puede indicar que hay un problema en el servicio Device Update. Espere 5 minutos y vuelva a intentarlo. Si continúa el mismo error, siga las instrucciones de la sección Contacto con el Soporte técnico de Microsoft para presentar una solicitud de soporte técnico a Microsoft.
P: Quiero mantener las mismas propiedades de compatibilidad (es decir, establecer como destino de la actualización el mismo tipo de dispositivo), pero necesito cambiar el proveedor o el nombre en el manifiesto de importación. Cuando lo hago, se indica que se produjo un error al importar la actualización debido a que se ha superado el límite
No se puede usar el mismo conjunto exacto de propiedades de compatibilidad con más de una combinación de Proveedor de actualización y Nombre. Esto permite al servicio de actualización de dispositivos determinar con certeza qué actualizaciones deben estar disponibles para implementarse en un dispositivo determinado. Si necesita actualizar varios componentes o particiones en un único dispositivo, la característica de actualizaciones de proxy proporciona esta funcionalidad.
P: recibo un mensaje de error al importar contenido y me gustaría obtener más información al respecto
Consulte la documentación de códigos de error de actualización de dispositivos para obtener información más detallada sobre los mensajes de error relacionados con la importación.
Errores de dispositivo
P: ¿cómo puedo asegurarme de que un dispositivo está conectado a Device Update para IoT Hub?
Para comprobar si un dispositivo está conectado a Device Update para IoT Hub, fíjese en si aparece en la sección de dispositivos desagrupados de la vista de cumplimiento de Azure Portal.
P: uno o varios dispositivos no se actualizan
Si un dispositivo no se actualiza, puede deberse a varias causas principales. Compruebe que: el dispositivo está conectado a una instancia de IoT Hub, el dispositivo está conectado a una instancia de Device Update y el servicio de optimización de distribución (SO) está en ejecución. Si los tres condicionantes se dan en el dispositivo, siga las instrucciones de la sección Contacto con el Soporte técnico de Microsoft para presentar una solicitud de soporte técnico a Microsoft.
P: mi agente de Device Update no se inicia
Una de las razones más comunes para un error en el inicio del agente de Device Update es un archivo de configuración con formato incorrecto (du-config.json). Consulte la documentación del archivo de configuración y asegúrese de que el agente está configurado correctamente. Tenga en cuenta que todos los valores del archivo de configuración deben usar comillas dobles.
Implementación de una actualización
P: he implementado una actualización en los dispositivos, pero el estado de cumplimiento indica que no es la más reciente. ¿Qué debo hacer?
El estado de cumplimiento del dispositivo puede tardar hasta 5 minutos en actualizarse. Espere un tiempo y vuelva a comprobarlo.
P: el estado de implementación del dispositivo muestra que no es compatible, ¿qué debo hacer?
Es posible que se hayan cambiado propiedades de fabricante y modelo de un dispositivo de destino después de conectar el dispositivo a IoT Hub, lo que hace que el dispositivo se considere ahora incompatible con el contenido de actualización de la implementación actual.
Compruebe la interfaz principal de ADU para ver qué fabricante y modelo indica el dispositivo al servicio Device Update, y asegúrese de que coinciden con el fabricante y modelo que especificó en el manifiesto de importación del contenido de actualización que se va a implementar. Estas propiedades se pueden cambiar para un dispositivo determinado mediante el archivo de configuración de Device Update.
P: veo que una implementación está en la fase "Activa" (Activo), pero ninguno de los dispositivos está "In progress" (En curso) con la actualización. ¿Qué debo hacer?
Asegúrese de que la fecha de inicio de la implementación no se ha establecido en el futuro. Cuando se crea una implementación, una forma de protegerla es hacer que el valor predeterminado de su fecha de inicio sea el día siguiente al de la creación, salvo que se cambie explícitamente. Puede esperar a que llegue la fecha de inicio de la implementación, o bien cancelar la implementación en curso y crear una implementación con la fecha de inicio deseada.
P: intento agrupar varios dispositivos, pero no veo la etiqueta en la lista desplegable al crear un grupo
Asegúrese de que ha configurado correctamente las rutas de mensajes de IoT Hub, tal como se indica en la documentación sobre los recursos de Device Update. Tras configurar la ruta, tendrá que volver a etiquetar el dispositivo.
Otra causa principal podría ser que aplicó la etiqueta antes de conectar el dispositivo a Device Update for IoT Hub. Asegúrese de que el dispositivo ya esta conectado a Device Update. Para comprobar si un dispositivo está conectado a Device Update para IoT Hub, fíjese en si aparece en los dispositivos "desagrupados" de la vista de cumplimiento. Agregue temporalmente una etiqueta de otro valor y, después, vuelva a agregar la etiqueta pretendida una vez que el dispositivo esté conectado.
Si usa Device Provisioning Service (DPS), asegúrese de que etiqueta los dispositivos después de aprovisionarlos, no durante el proceso de creación de dispositivos. Si ya ha etiquetado el dispositivo durante el paso de creación de dispositivos, tendrá que etiquetar temporalmente el dispositivo con otro valor después de aprovisionarlo y, a continuación, agregar la etiqueta pretendida.
P: mi implementación se ha completado correctamente, pero algunos dispositivos no se han actualizado
Puede deberse a un error del cliente en los dispositivos que no se han actualizado. Consulte la sección Errores de dispositivo de esta guía de solución de problemas.
P: se ha producido un error en la experiencia del usuario al intentar iniciar una implementación
Puede deberse a un error del servicio o la experiencia del usuario, o bien un problema de permisos de la API. Siga las instrucciones de la sección Contacto con el Soporte técnico de Microsoft para presentar una solicitud de soporte técnico a Microsoft.
P: he iniciado una implementación pero no llega a un estado final
Puede deberse a un problema de rendimiento del servicio, un error del servicio o un error del cliente. Vuelva a intentar realizar la implementación dentro de 10 minutos. Si aparece el mismo problema, extraiga los registros del dispositivo y consulte la sección Errores de dispositivo de esta guía para la solución de problemas. Si continúa el mismo problema, siga las instrucciones de la sección Contacto con el Soporte técnico de Microsoft para presentar una solicitud de soporte técnico a Microsoft.
P: he realizado la migración desde un agente de nivel de dispositivo para agregar el agente como una identidad de módulo en el dispositivo y mi actualización se muestra "en curso" aunque se haya aplicado al dispositivo
Es posible que se deba a que no se ha eliminado el agente anterior que se comunicaba a través del dispositivo gemelo. Al aprovisionar el agente de Device Update como un módulo (consulte los procedimientos) todas las comunicaciones entre el dispositivo y el servicio Azure Device Update se realizarán a través del módulo gemelo, por lo que no olvide etiquetar el módulo gemelo del dispositivo al crear grupos y todas las comunicaciones deben realizarse a través del módulo gemelo.
Descarga de actualizaciones en dispositivos
P: ¿cómo se reanuda una descarga cuando un dispositivo se ha vuelto a conectar después de un período de desconexión?
La descarga se reanudará automáticamente cuando se restaure la conectividad en un período de 24 horas. Tras 24 horas, será preciso que el usuario reinicie la descarga.
Uso de Caché conectada de Microsoft (MCC)
P: surge un problema al intentar implementar el módulo de MCC en un dispositivo de IoT Edge
Consulte la documentación de IoT Edge para implementar módulos de Edge en dispositivos de IoT Edge. Para comprobar si el módulo de MCC se ejecuta correctamente en el dispositivo de IoT Edge, vaya a http://localhost:5100/Summary.
P: un dispositivos de IoT intenta descargar una actualización a través de MCC, pero se produce un error
Hay varios errores que pueden provocar que un dispositivo de IoT no pueda conectarse a MCC. Para diagnosticar el problema, recopile los registros de Ngnix y del cliente de DO del dispositivo con errores (en la sección Contacto con el Soporte técnico de Microsoft encontrará instrucciones sobre la recopilación de registros de cliente).
Es posible que el dispositivo no extraiga contenido de Internet para pasarlo a su módulo de MCC porque la dirección URL que usa no esté permitida. Para determinar si es así, tendrá que comprobar las variables de entorno de IoT Edge en Azure Portal.
Solución de problemas de una instancia ausente en Azure Portal
P: no veo una instancia de Device Update for IoT Hub cuando selecciono el icono de "engranaje"
Hay algunas causas posibles para este problema. Consulte los pasos de solución de problemas a continuación.
Una instancia de Device Update debe estar asociada a un centro de Azure IoT en el mismo grupo de recursos y suscripción. Si ha movido la instancia de Device Update o el centro a otro grupo de recursos o suscripción, es posible que no vea la instancia en Azure Portal. Deberá seguir uno de los pasos siguientes para continuar usando Device Update for IoT Hub:
- Devuelva los elementos movidos a su configuración original.
- Si solo ha movido el centro de IoT de un grupo de recursos a otro, modifique la instancia de Device Update con el nuevo resourceId del centro de IoT.
- Si ha movido elementos de una suscripción a otra, asegúrese de que la cuenta de Device Update y el centro de IoT estén en la misma suscripción y, a continuación, modifique la instancia de Device Update con el nuevo resourceId del centro de IoT.
Se necesitan al menos permisos de nivel de lectura para el centro de IoT y la cuenta de Device Update for IoT Hub con el fin de acceder a la funcionalidad de Device Update a través de la experiencia del centro de IoT en Azure Portal.
- Para administrar los permisos de IoT Hub:
- Seleccione el centro en Azure Portal.
- Seleccione “Control de acceso (IAM)” en el menú de navegación izquierdo.
- Seleccione “Agregar asignación de roles”.
- Seleccione un rol con al menos acceso de lectura y seleccione Siguiente.
- En “Miembros”, seleccione “+Seleccionar miembros”.
- Agregue su cuenta en el control flotante derecho y seleccione el botón "Seleccionar".
- Seleccione “Revisar y asignar”.
- Para administrar los permisos de la cuenta de Device Update for IoT Hub, pida al propietario de la cuenta que realice estos pasos:
- Seleccione la cuenta de Device Update en Azure Portal.
- Seleccione “Control de acceso (IAM)” en el menú de navegación izquierdo.
- Seleccione “Agregar asignación de roles”.
- Seleccione el rol Lector (o uno con permisos equivalentes).
- En “Miembros”, seleccione “+Seleccionar miembros”.
- Agregue su cuenta en el control flotante derecho y seleccione el botón "Seleccionar".
- Seleccione “Revisar y asignar”.
Obtenga más información sobre el control de acceso basado en roles para el servicio Device Update.
Contacto con el soporte técnico de Microsoft
Si surgen problemas que no se pueden resolver mediante las preguntas frecuentes anteriores, puede presentar una solicitud al soporte técnico de Microsoft a través de la interfaz de Azure Portal. En función de la categoría a la que pertenezca el problema, es posible que se le pida que recopile y comparta datos adicionales que ayuden al soporte técnico de Microsoft a investigar el problema.
A continuación encontrará las instrucciones necesarias para recopilar cada tipo de datos.
Puede usar getDevice para comprobar la información adicional de la respuesta de la carga de la API.
Además, la siguiente información puede ser útil para limitar la causa principal del problema:
- El tipo de dispositivo que intenta actualizar (IoT Edge Gateway u otro).
- El tipo de cliente de Device Update que se usa (basado en imágenes, basado en paquetes o simulador).
- El sistema operativo que utiliza el cliente.
- Detalles relativos a la arquitectura del dispositivo.
- Si ha usado correctamente Device Update para actualizar un dispositivo antes.
Si tiene cualquiera de los siguientes datos disponible, inclúyalo en la descripción del problema.
Recopilación de registros de cliente
En el dispositivo Raspberry PI hay dos conjuntos de registros que se encuentran aquí:
/adu/logs
/var/cache/do-client-lite/log
En el caso del cliente con paquetes, los registros se encuentran aquí:
/var/log/adu
/var/cache/do-client-lite/log
En el caso del simulador, los registros se encuentran aquí:
/tmp/aduc-logs
Códigos de error
Es posible que se le pida que incluya códigos de error al notificar un problema relacionado con la importación de una actualización, un error de dispositivo o la implementación de una actualización.
Para obtener los códigos de error, examine la interfaz de ADUCoreInterface. Consulte la documentación de los códigos de error de Device Update, donde encontrará información sobre cómo analizar los códigos de error para el diagnóstico automático y la solución de problemas.
Identificación de seguimiento
Es posible que se le pida que incluya un identificador de seguimiento al notificar un problema relacionado con la importación o implementación de una actualización.
El identificador de seguimiento de una acción de usuario determinada se puede encontrar en la respuesta de la API o en la sección Historial de importación de la interfaz de usuario de Azure Portal.
Actualmente, solo se puede acceder a los identificadores de seguimiento de las acciones de implementación a través de la respuesta de la API.
Id. de implementación
Es posible que se le pida que incluya un identificador de implementación al notificar un problema relacionado con la implementación de una actualización.
El usuario crea el identificador de implementación cuando llama a la API para iniciar una implementación.
Actualmente, los identificadores de implementación para implementaciones que se inician desde la interfaz de usuario de Azure Portal se generan automáticamente y no se muestran al usuario.
Nombre de instancia de IoT Hub
Es posible que se le pida que especifique el nombre de la instancia de IoT Hub al notificar un problema relacionado con los errores de dispositivos o la implementación de una actualización.
El usuario elige el nombre de la instancia de IoT Hub la primera vez que lo aprovisiona.
Nombre de cuenta de Device Update
Es posible que se le pida que especifique el nombre de la cuenta de Device Update al notificar un problema relacionado con la importación de una actualización, los errores de dispositivos o la implementación de una actualización.
El usuario elige el nombre de la cuenta de Device Update al registrarse para el servicio. Puede encontrar más información en la documentación de los recursos de Device Update.
Nombre de instancia de Device Update
Es posible que se le pida que especifique el nombre de la instancia de Device Update al notificar un problema relacionado con la importación de una actualización, los errores de dispositivos o la implementación de una actualización.
El usuario elige el nombre de la instancia de Device Update la primera vez que lo aprovisiona. Puede encontrar más información en la documentación de los recursos de Device Update.
Id. de dispositivo
Es posible que se le pida que especifique un identificador de dispositivo al notificar un problema relacionado con los errores de dispositivos o la implementación de una actualización.
El cliente define el identificador de dispositivo la primera vez que lo aprovisiona. También se puede recuperar del dispositivo gemelo del dispositivo.
Id. de actualización
Es posible que se le pida que incluya un identificador de actualización al notificar un problema relacionado con la implementación de una actualización.
El cliente define el identificador de actualización al iniciar una implementación.
Registros de Nginx
Es posible que se le pida que proporcione registros de Nginx al notificar un problema relacionado con Caché conectada de Microsoft.
ADU-conf.txt
Es posible que se le pida que proporcione el archivo de configuración de Device Update ("adu-conf.txt") al notificar un problema relacionado con la implementación de una actualización.
El archivo de configuración es opcional y lo crea el usuario siguiendo las instrucciones de la documentación de la configuración de Device Update.
Manifiesto de importación
Es posible que se le pida que incluya un archivo de manifiesto de importación al notificar un problema relacionado con la importación o implementación de una actualización.
El manifiesto de importación es un archivo que crea el cliente al importar el contenido de la actualización en el servicio Device Update.