воскресенье, 6 декабря 2015 г.

Fixing a Seagate 7200.11 hard drive with Arduino | arvydas.co.uk


Fixing a Seagate 7200.11 hard drive with Arduino

I received a Seagate 7200.11 hard disk in a BSY (busy) state. The hard disk drive spins, but it's completely invisible to the BIOS. Apparently all these models are affected by a bug in the drive's firmware: ST31000340AS, ST3500320AS, ST3750330AS and others too.

I found this very well written guide on how to fix the BSY state on Seagate 7200.11 drive. I needed some sort of serial TTL adapter to hook up to the drive's serial port, but didn't have one at hand. Then I remembered that I have an Arduino clone Freeduino lying around and I knew that it already has a FTDI chip that does the USB to serial conversion for the Atmega chip. Ok, so it's not technically Arduino AVR chip used to fix the drive, just the board.


I removed the Atmega IC from the Freeduino board, hooked it up to an oscilloscope and tada! USB to serial works, but it's 5V. No worries, just need a basic voltage divider for the RX line on the drive to drop it down to roughly 3.3V. There is no need for the voltage divider on the TX line from the drive, because FTDI chip understands 3.3V as HIGH input.

A quick schematic to hook everything up is below. Please note, that PIN0 is used for TX and PIN1 is used for RX!

A quick check on the oscilloscope to make sure that voltage is in accepted range:

I didn't have proper connector for the drives serial pins, so made my own:

The metal plates were taken out of another connector that I had lying around, I soldered pins to make it easier to plug the wires into the breadboard.

Then I simply used the COM port registered by the Arduino/Freeduino board's FTDI chip to communicate with the hard drive and recover it from BSY state with the guide mentioned at the beginning of the post to fix the drive.

I also got into one road block. When I was trying to spin up the drive I got the following error:

F3 2>U    Error 1009 DETSEC 00006008  Spin Error  Elapsed Time 22.207 secs  R/W Status 2 R/W Error 84150180

This happened because the HDD connectors did not properly hook up to the logic board when I removed the piece of paper.  They seemed to be very oxidized. I had to shut everything down, take out the board and scrape the contacts with a very sharp knife and start over.

Once the data is recovered, I don't recommend using the drive and suggest properly disposing of it.

A few more links about fixing this issue using alternative hardware:

Комментариев нет:

Отправить комментарий