¿Existe algún método que pueda monitorear un dispositivo durante largos períodos de tiempo?
de tiempo con millones de paquetes pasando y encontrar la fuente de la
error?
Sí. El dispositivo se llama "analizador de protocolo USB".
Si solo supervisa el lado del software del host, lo máximo que puede ver es que hubo un "error de transacción" y que el puerto puede o no puede recuperarse después de la caída. El protocolo USB tiene medios asistidos por hardware para volver a intentar las transacciones fallidas y el software no tiene ninguna visibilidad del "recuento de errores". Por lo tanto, debe identificar la causa raíz del error a nivel físico, en los cables D + / D-.
Hay analizadores USB asequibles, especialmente para la tasa de USB 1.1 (FS 12 Mbps). Se puede configurar un buen analizador para un disparador sofisticado mientras se monitorea el tráfico en un bucle largo, o incluso se registra el tráfico completo hasta la capacidad de su disco duro. Recomendaría un pequeño modelo de Mercury T2 de Teledyne / Lecroy , pero otros tipos como Ellisys y Totalphase Beagle están mejorando y mejorando.
Sin embargo, debe tener cuidado, ya que los analizadores son algo invasivos y sus conectores / internos tienen algún efecto sobre la integridad de la señal. En caso de una conexión defectuosa y un índice de error raro, el analizador puede mejorar la señal (y es posible que nunca vea el problema) o puede anular la funcionalidad del enlace (lo que será útil para identificar el problema).
En resumen, debe identificar quién tiene la culpa cuando ocurre la caída del dispositivo. Podría ser (a) que el dispositivo responda incorrectamente a un protocolo USB válido, (b) problema de integridad de la señal del canal o (c) el hardware del host tenga un error al manejar algunas peculiaridades del protocolo USB.
Comenzaría con (b) y verificaría si todas las señales en el bus cumplen con las especificaciones básicas de la señal USB: frecuencia de patrón dentro de 2000 ppm, jitter dentro de la norma, los bordes de la señal son monotónicos, y el ojo de la señal cumple con la máscara del diagrama, todo Sus cables, dispositivos y hosts específicos. Hay procedimientos estándar descritos en el sitio web de USB-IF sobre cómo realizar las pruebas eléctricas dentro del programa de cumplimiento de USB .
Si las señales cumplen con las especificaciones básicas de la señal del FS, el analizador de protocolo sería lo siguiente a implementar. Si pudiera ser difícil configurar el desencadenante adecuado y tener una interpretación correcta de los eventos del bus que llevan a un error. Si no tienes experiencia con los analizadores USB, es posible que necesites un poco de capacitación u obtener un asesor.