Cargando...
 
Imprimir

El error BSY en un disco duro Seagate Barracuda 7200.11

Image
Soy el afortunado poseedor de un disco duro Seagate Barracuda 7200.11.

Algunos discos de esta serie -entre ellos el mío-, tenían algún error en su firmware que producía que al cabo de un cierto tiempo, el disco quedase inutilizado.

En ese caso, podía ser por dos errores bien diferenciados:
  • El error llamado LBA 0, produce como síntoma que tanto el BIOS como el sistema operativo reconocen la unidad, pero indican que su capacidad es 0 bytes.
  • El error llamado BSY produce como síntoma que el BIOS no reconoce la unidad (la unidad indica que está "ocupada" -BuSY- durante el arranque)... con lo que el programa de inicialización del BIOS, transcurridos unos segundos, descarta la unidad y no la reconoce. Por tanto, los sistemas operativos ignoran también su existencia.
En mi caso, el disco produjo el segundo error: BSY... con lo cual, pensé que estaba inutilizado.

No obstante, en el mundo hay gente muy lista y lo suficientemente generosa como para compartir una solución a través de Internet.

Después de comparar varias fuentes, intentamos reparar el disco y tuvimos éxito.

En éste artículo vamos a contarte cómo lo hicimos y las cosas que descubrimos, por si pudiera ayudar a alguien más.

avisoImportante
Este artículo es simplemente el resultado de nuestra experiencia, y NO indicaciones precisas.

Por supuesto, cualquier reparación que realices queda bajo tu absoluta responsabilidad, y, probablemente, invalide la garantía de los aparatos.

Éste método no lo hemos inventado nosotros, y desconocemos el porqué de su funcionamiento.


El fabricante de la unidad, ha puesto a disposición de los clientes una actualización del firmware que soluciona el problema... pero dicho firmware sólo se puede instalar si la unidad está operativa. Es decir... antes de que se produzcan los errores.

En nuestro caso, detectamos el problema cuando se produjo el error y ya era tarde para actualizar el firmware.

En la inicialización del BIOS no se detectó la unidad (-no sale el canal SATAII_2, que es donde estaba la unidad-)

Image

Así pues, primero era necesario desbloquearla, dejarla otra vez funcionando, y luego aplicarle la actualización del firmware para evitar que se produjera un error.

Éstos son los pasos que seguimos

1) Conectar el disco duro al ordenador mediante un canal serie

El disco, en su parte posterior lleva un conector que permite comunicarse con él. La controladora del disco lleva incorporada una consola de administración que admite una serie de comandos.

Puedes ver las conexiones en la foto de abajo.

Por supuesto, esos comandos no son especialmente conocidos ni difundidos, y dependen de cada modelo de disco. Para poder realizar las operaciones, no utilizaremos el cable de datos SATA, sino una conexión serie que deberemos construir a propósito para acceder a la consola de administración.

Image

Es decir... no conectaremos el disco con un cable de datos SATA a la placa base, sino a un puerto de comunicaciones del ordenador: Los puertos indicados para ésta operación, son o bien un puerto USB o bien un puerto SERIE RS232.

Nosotros hemos elegido el puerto serie por dos motivos: 1) Es más familiar para nosotros, y sus señales son más sencillas. 2) El dispositivo que necesitaremos para conectar el disco al puerto serie es más barato.

Comunicación
8 bits
Sin paridad
1 bit de espera
38400bps
Control de flujo:ninguno

La consola de administración del disco duro puede comunicarse a través de un protocolo serie sencillo de 8 bits, sin paridad y con un 1 bit de espera, es decir "8N1", a 38400 bps y sin ningún control de flujo. Un puerto serie RS232 puede ofrecernos ese tipo de comunicación... pero hay un pequeño problema. Los niveles de tensión de un puerto serie son del rango de 9 Voltios, mientras que el disco duro utiliza niveles de tensión TTL/CMOS, es decir, de 5V.

Necesitamos, pues, un circuito que convierta las señales. Afortunadamente, existe un circuito integrado que realiza esa función: se llama MAX232 (external link)y su utilización es muy sencilla.

No obstante, y para no complicarnos la vida con el soldador, hemos recurrido al ebay y hemos comprado un adaptador RS232 a TTL que básicamente es una plaquita que integra el chip MAX232 con un conector serie por un lado, y unos pines sueltos para conectar al dispositivo TTL (el disco duro).

Image Image

Como puedes ver en la foto de la derecha, para conectar al disco duro hay seis pines, pero sólo utilizaremos los cuatro primeros:
  • VCC: Debemos proporcionar una corriente de +5V al circuito. Hay muchos sitios en un ordenador de donde se pueden sacar +5V. Lo más cómodo, quizá, sea sacarlos del cable rojo de un conector molex(external link)
  • GND: Es la masa. Lo conectaremos al pin GND del disco duro.
  • RXD: Es la recepción de datos: Lo conectaremos al pin TXD del disco duro
  • TXD: Es la transmisión de tatos: Lo conectaremos al pin RXD del disco duro.
Es decir, GND con GND, pero la recepción y la transmisión se cruzan, entre éste circuito y el disco duro: RXD con TXD, y TXD con RXD.

Para realizar las conexiones a los pines, necesitaremos unos conectores hembra para crimpar(external link) y un poco de cable... Aunque si tienes algún viejo conector, puedes sacar los cables con los conectores ya crimpados. Te valdrán perfectamente.

Utiliza un poco de cinta para que no hagan contacto unos con otros cuando los insertes. Nosotros los sacamos del cable de audio de un viejo cd-rom

Image

2) Desconectar la controladora del disco duro

Además de conectar el ordenador con el disco duro, una parte de la operación debe llevarse a cabo con la placa controladora del disco duro desconectada del disco duro, y otra parte con ella conectada

La placa controladora va atornillada al propio disco duro mediante tornillos de tipo torx.

Image

Para hacer más sencilla la operación, en lugar de separarla físicamente del disco duro y realizar las operaciones, vamos a desmontar tranquilamente la placa controladora antes de empezar a montar todo el tinglado. Para evitar tener que montarla luego cuando todo el proceso esté en marcha, colocaremos un papelito en los contactos... volveremos a montar la controladora en el disco sin apretar del todo los tornillos. Cuando sea necesario montar la controladora, simplemente sacaremos el papelito que bloquea los contactos, apretamos un par de tornillos y seguimos.

La placa controladora va fijada con seis tornillos torx. Los quitamos y retiramos la placa.
Fíjate en que los dos tornillos que coinciden con las esquinas del disco son más grandes que el resto.

Image

Con la placa desmontada, podemos ver un bloque de contactos en la parte izquierda. Éstos son los que taparemos con el papel, de tal manera que el papel sobresalga por la derecha del disco (y lo podamos retirar luego tirando).

Image

Colocamos de nuevo la placa en su sitio, y apretamos los dos tornillos de la izquierda, y el que queda más abajo, también hacia la izquierda. Encajamos los dos de la derecha, pero los dejamos flojos, para poder sacar el papel. Sobre los contactos queda un agujero para tornillo. No lo podremos poner. queda sobre el papel.

Image


3) Al lío

Conectamos el disco duro al puerto serie con tres cables, mediante el adaptador. Proporcionamos+5V (Voltios) al adaptador de un conector molex.

Enchufamos la alimentación SATA al disco duro. Notaremos como empieza a girar el motor.

Necesitamos un programa de terminal para la comunicación. En windows XP se puede utilizar el Hyperterminal. En otros sistemas (Windows Vista, 7, Unix, etc... se puede utilizar Putty(external link)).

Abrimos con nuestro programa de terminal una conexión serie 8N1, 38400 bps.

Pulsamos CTRL+Z, y si el disco duro reconoce la conexión, contestará con el siguiente prompt:
F3 T>


Si no es así, debemos repasar todos los pasos

A partir de aquí es importante hacer cada paso con extremo cuidado. Atención a las mayúsculas.

Tecleamos /2 (enter)
El prompt cambia a "F3 2>"

Tecleamos Z (enter)

Nos contestará con un mensaje indicando que se está parando el motor, y el tiempo transcurrido.

F3 T>/2

F3 2>Z

Spin Down Complete
Elapsed Time 0.147 msecs


Es el momento de retirar el papel, para que la controladora haga contacto.
Apretamos los dos tornillos que dejamos flojos, con el pulso firme, insertamos el tornillo que no pudimos poner antes y que queda justo encima de los contactos.

Tecleamos U (enter).
El motor se pondrá en marcha y nos informará del tiempo transcurrido en ponerlo en marcha

F3 2>U
Spin Up Complete
Elapsed Time 6.960 secs


Tecleamos /1 (enter)
El prompt cambia, y nos responde con "F3 1>"

Luego tecleamos N1 (enter)
Luego /T (enter)
El prompt cambia a "F3 T>"
Tecleamos i4,1,22 (enter)

F3 2>/1

F3 1>N1

F3 1>/T

F3 T>i4,1,22


Ahora se desconecta la corriente del disco duro (retirando el conector de corriente SATA), se esperan 10 segundos y se vuelve a conectar.

Apretamos CTRL-Z
Nos responderá con el prompt "F3 T>"

F3 T>


Finalmente, tecleamos m0,2,2,,,,,22

Nos responderá con una serie de mensajes similares a estos:__

F3 T>m0,2,2,,,,,22
Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8

User Partition Format Successful - Elapsed Time 0 mins 00 secs


Ya está... podemos retirar todos los cables raros, terminar de apretar la tornillería y montar el disco duro.

4) El firmware.

Bueno... al final el disco duro "revivió". En el siguiente arranque, el BIOS lo reconoció perfectamente, así que para que no nos vuelva a pasar, actualizamos el firmware desde la página de SEAGATE:

Actualización de firmware para ST3500320AS, ST3640330AS, ST3750330AS, ST31000340AS 207951(external link)

La actualización no tiene misterios.

Si tienes Windows, ejecuta el programa de actualización... pedirá que reinicies windows... y durante el inicio (antes de que vuelva a cargar Windows) aparecerá el programa de actualización del firmware. Es muy sencillo y sólo afectará a los modelos para los que está preparado. El resto de discos no los toca.

Image

Si no tienes windows, hay una versión que se puede grabar en un CD autoarrancable a partir de una imagen ISO.

En Youtube, un chavalote se ha currado un vídeo muy majo. Nosotros nos hemos guiado por él.
A diferencia de nosotros, utiliza una conexión USB (en lugar de RS232) recortando el cable de datos de un teléfono Nokia. Ver en Youtube(external link)



Ultima edición por vic .
Página última modificacion en Sábado 04 de Mayo, 2013 13:32:19 CEST.



¿Dónde estoy?

Estás en La tecla de ESCAPE, un sitio web personal en el que nos gusta hablar de algoritmos, metodología de la programación, personajes de informática, tecnología, ingeniería del software, internet, y cualquier otra tontería que se nos ocurra.
Leer más / Términos de uso (ToS)

Este sitio web usa cookies para su funcionamiento. Navegar por éste sitio supone la aceptación de la política de cookies -
Política de cookies +