¿Se ralentiza el USB cuando hay demasiado ruido o simplemente falla? El controlador de host USB que estoy usando es ehci-hcd en Linux.
¿Se ralentiza el USB cuando hay demasiado ruido o simplemente falla? El controlador de host USB que estoy usando es ehci-hcd en Linux.
Los paquetes individuales contienen una suma de comprobación, por lo que fallarán. A nivel del sistema operativo, los paquetes fallidos probablemente se reintentan varias veces para transferencias masivas e interrumpidas. Si un paquete isócrono falla, bueno, esos datos desaparecen. Si el host se reintenta, entonces el efecto de nivel superior será que el bus se vuelva más lento.
La especificación de USB no dice nada sobre la política de nivel superior de tratar con paquetes fallidos, solo que los receptores deben ignorar por completo los paquetes con sumas de comprobación erróneas. Depende de la implementación del host, por lo tanto, qué hacer ante las fallas frecuentes de paquetes. Algunos hosts pueden, por ejemplo, descargar un dispositivo después de demasiados errores y tal vez permitir que vuelva a enumerar después de un tiempo. Otros podrían darle una prioridad más baja si hay otros dispositivos que compiten por el ancho de banda. Otros quizás se den por vencidos por ese cuadro y vuelvan a intentarlo. Esto es más una pregunta para la política del controlador USB del host que de USB.