Archive:Reparación de errores de datos en dispositivos IDE
tagline: De openSUSE
| |
¡Este artículo debe ser archivado! Este artículo no cumple los estándares esperados en la Wiki de OpenSUSE. |
Contenido |
Síntoma:
Los errores o corrupción de datos pueden manifestarse de distintas maneras. La mejor forma de identificar el problema es mediante los métodos estándar de exclusión y búsqueda de errores. A continuación presentamos algunos incidentes que señalan la presencia de errores de datos:
- La instalación de SuSE parece funcionar en un principio pero fracasa posteriormente. Los intentos repetidos de instalación fallan en distintos estadios de la misma. *
- La instalación se ha completado con éxito, pero un número considerable de programas se comportan de manera extraña, se colapsan por fallos de acceso a la memoria, etc. *
- El ordenador tiene problemas, da errores o se "cae" cuando está sometido a alta carga E/S, por ej., al compilar un kernel. *
- Múltiples copias de datos copiados por una unidad de CD-ROM IDE no son idénticas.
- - nótese que estos errores pueden obedecerse también a otras causas, como memoria, procesador o caché.
Una prueba muy sencilla pero muy útil consiste en copiar grandes cantidades de datos desde o hacia el dispositivo IDE para, posteriormente y por medio de diff, comprobar si las copias son idénticas. Por ejemplo: copie unos cientos de megabytes del CD-ROM al disco duro. Para ello inserte el primer CD de SuSE e introduzca los siguientes comandos como usuario "root":
dd count=20000 if=/dev/hdc of=/tmp/junk
dd count=20000 if=/dev/hdc of=/tmp/junk2
diff /tmp/junk /tmp/junk2
Si diff descubre diferencias, se trata definitivamente de un error de datos.
Causa:
Los errores en el flujo de datos de IDE pueden estar ocasionados por múltiples problemas. Algunos de éstos se describen a continuación:
- Un cable de mala calidad o cuya longitud sobrepasa el valor permitido (60 cm para PIO Modo 4 y 40 cm para UDMA33).
- Errores en los controladores IDE. Por lo general los controladores IDE Linux tienen en cuenta estos errores y los evitan. Sin embargo no todos los errores son conocidos y constantemente aparecen nuevos fallos.
- Errores en los dispositivos IDE. Debido a que, con mucho, existen más dispositivos IDE que controladores en el mercado, y que el ciclo de productos de hardware para PC es tan corto, los errores aparecen con frecuencia.
- El dispositivo/controlador no soporta correctamente los valores seleccionados en la BIOS.
Solución:
Varias soluciones son posibles y puede que necesite más de una. Cuando se trate de modos IDE puede consultar la breve descripción incluida más abajo o bien una descripción más detallada por ejemplo aquí o aquí.
- En primer lugar asegúrese de que está utilizando el cable correcto. Ultra-66 requiere un cable especial Ultra-66 distinto del tradicional. Los cables IDE antiguos emplean la misma disposición de pines, pero ha de asegurarse de utilizar un cable de la calidad adecuada. Por lo general altas cadencias de transmisión requieren cables cortos de buena calidad. Le recomendamos por tanto que contacte con un vendedor de cables de ordenador de confianza para adquirir los cables adecuados para la cadencia de transmisión y dispositivos que usted utilice.
Merece la pena excluir problemas con cables, ya que la fiabilidad aumenta y además permite cadencias de transmisión más altas.
- También puede comprobar si la configuración de BIOS ofrece opciones para configurar dispositivos IDE. La mayoría de los BIOS modernos le permiten configurar el modo de transmisión IDE específicamente para cada dispositivo. Los controladores IDE actuales se atienen al modo configurado en BIOS.
Basándose en la documentación del dispositivo, asegúrese de que éste soporta realmente la cadencia de transmisión seleccionada por usted. Si tiene problemas a este respecto, reduzca la cadencia de transmisión hasta que el problema desaparezca. Piense que el error puede presentarse tanto en el controlador como en el cable.
- Otra posible solución que ha ayudado en muchas ocasiones es el uso de productos de limpieza especiales. Con ellos puede por ejemplo limpiar el CD para eliminar posibles residuos de la superficie.
- En caso de que BIOS carezca de esta función o no admita la opción elegida por usted, puede ajustarla manualmente en Linux con ayuda del programa
hdparm. Puede hacerlo durante la instalación de SuSE o posteriormente. En caso de problemas con el CD-ROM o discos duros es mejor que realice una nueva instalación.
Para cambiar a la línea de comandos durante la instalación de la versión 6.3 o anterior con YaST 1, pulse ALT-F2 una vez que YaST se haya iniciado. Para volver a YaST pulse ALT-F1.
Para acceder a la línea de comandos durante una instalación con YaST 2, pulse STRG-ALT-F2 una vez que YaST 2 se haya iniciado. Para volver a YaST 2 pulse ALT-F7.
Una buena medida a la hora de reducir los problemas IDE es desconectar el DMA, lo que puede hacerse mediante el comando hdparm -d0 /dev/<device>. Si por ejemplo su CD-ROM está conectado como master al controlador secundario, utilice el comando
hdparm -d0 /dev/hdc Si esto no es suficiente, puede también reducir la cadencia de transmisión de datos.hdparm -XNN /dev/devicedefine el modo de transferencia. Éstos son los valores válidos para NN: 08 - PIO Modo 0 09 - PIO Modo 1 10 - PIO Modo 2 11 - PIO Modo 3 12 - PIO Modo 4 13 - PIO Modo 5 A veces es mejor pecar de paranoico y configurar el dispositivo a la mínima cadencia, aunque por supuesto sustituyendo/dev/hdcpor el dispositivo IDE válido en su caso. hdparm -d0 /dev/hdc hdparm -X08 /dev/hdc Esto hará que su dispositivo vaya más despacio, pero si los síntomas desparecen con esta acción, habrá localizado la fuente del problema.
Referencia de modos:
A continuación se incluye una lista de modos, desde los más fiables a los más rápidos:
PIO (programmed I/O) Modo 0 no está disponible para todas las interfaces
DMA Modo 0
PIO Modo 1
PIO Modo 2
PIO Modo 3
DMA Modo 1
PIO Modo 4 DMA Modo 2
PIO Modo 5 DMA Modo 3 (también conocidos como DMA 33 o UDMA33)
DMA-66
Los modos PIO están en general mejor soportados que los modos DMA. <keyword>errordedatos,IDE,PIO</keyword> code>hdparm -d0 /dev/
