Tengo este nuevo software RAID-1 construido con dos unidades USB externas WD Elements, y puedo ver que Linux repite bastante el siguiente mensaje:
...
[302148.036912] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
[302153.052029] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302186.031481] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302217.050210] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302281.043543] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302312.090158] usb 1-3.3: reset high-speed USB device number 20 using ehci_hcd
[302351.076851] usb 1-3.1: reset high-speed USB device number 19 using ehci_hcd
...
¿Entonces, qué dice? ¿Esto es normal? ¿Es este un problema que debería intentar solucionar?
Actualización
En realidad, estos mensajes no son para las unidades que pensé que eran. También tengo un montón de otras unidades USB conectadas a esta computadora a través de un concentrador USB. De todos modos, mi pregunta es básicamente ¿qué significa este mensaje en inglés simple?
Respuestas:
Déjame intentarlo.
Literalmente, el mensaje dice que la pila USB de Linux ha emitido "USB_RESET" a su dispositivo en particular (dispositivos # 19 y # 20, cualesquiera que sean). El error parece ocurrir una vez cada 10-30 segundos. Después del reinicio, el registro debe tener mensajes de enumeración nuevos, ya que el reinicio del USB forzará al dispositivo conectado a "estado predeterminado". Parece que la verbosidad de su registro es muy reducida.
Restablecer un dispositivo USB en medio de la operación es una situación bastante drástica. El controlador recurre a este restablecimiento de "puerto" si encuentra un "error de transacción". El error de transacción ocurre cuando el enlace no completa todas las fases requeridas de la transacción USB, o tiene un error CRC. En USB normal, el controlador EHCI volverá a intentar automáticamente la transacción fallida (típicamente un máximo de 3 veces), y luego establecerá una interrupción XACT_ERROR. Estadísticamente, según la teoría del error, si un enlace no responde correctamente a tres intentos seguidos, hay un problema con el segmento USB en particular, principalmente de forma eléctrica. Por lo tanto, el error de transacción se considera fatal y el software intenta recuperar el enlace. Si el árbol cuatro intentos de recuperar el enlace falla, el host considera este puerto como muerto y se cierra.
Sin embargo, en Linux, alguien ha decidido que 3 intentos teóricos no son suficientes, y el software de Linux realiza 32 intentos adicionales (treinta y dos), lo que lo convierte en 96 (!!!) en total. Si el enlace de hardware es eléctricamente marginal, los 96 intentos podrían tener éxito en el 99.99% del tiempo. Los gurús del software de Linux afirman que esto ayuda a mejorar la operatividad de los dispositivos / cables cuestionables. En esencia, esta técnica oculta un problema grave con esta conexión USB en particular, que no ayuda a los usuarios a largo plazo.
El problema podría estar en el suministro de voltaje marginal (VBUS) a las unidades, o fallas de VBUS o degradación de la señal en los cables de señal. Primero probaría cables certificados de alta calidad extremadamente cortos y verificaría si las estadísticas de error cambian.
fuente
ehci_hcd
módulo? ¿O es posible forzarohci_hcd
para un dispositivo en particular (por ejemplo,/dev/sda
es manejado porehci_hcd
y "problemático"/dev/sdb
es manejado porohci_hcd
)?Este error se describe en el artículo Linux: restablezca el dispositivo USB de alta velocidad con el error y la solución ehci_hcd :
Si no desea reemplazar la placa base, para eliminar el controlador ehci_hcd edite el archivo
/etc/modprobe.d/blacklist.conf
y agregue la línea:Finalmente, use el script mkinitrd para construir una estructura de directorio que pueda servir como un sistema de archivos raíz initrd sin ehci_hcd:
Reiniciar como prueba.
Un artículo con instrucciones similares es: ¿Por qué se escribe el error "kernel: usb 1-2.2: restablecer dispositivo USB de alta velocidad usando ehci_hcd y dirección 6" en el archivo / var / log / messages?
fuente