giovedì 8 ottobre 2009

Riparazione hard disk Maxtor e Seagate

La notizia ormai è nota: alcune unità Seagate 7200.11, Seagate ES2 e Maxtor diamondmax22 prodotte nel 2008 hanno un bug nel firmware che può portare al blocco del disco. Seagate ha rilasciato dei firmware update risolutivi da qualche tempo.

Questi i modelli incriminati:

Barracuda 7200.11
ST31000340AS
ST31000640AS
ST3750330AS
ST3750630AS
ST3640330AS
ST3640630AS
ST3500320AS
ST3500620AS
ST3500820AS
ST31500341AS
ST31000333AS
ST3640323AS
ST3640623AS
ST3320613AS
ST3320813AS
ST3160813AS

Barracuda ES.2 SATA
ST31000340NS
ST3750330NS
ST3500320NS
ST3250310NS

DiamondMax 22
STM31000340AS
STM31000640AS
STM3750330AS
STM3750630AS
STM3500320AS
STM3500620AS
STM3500820AS
STM31000334AS
STM3320614AS
STM3160813AS



La cosa grave è, però, che in alcuni casi quando si manifesta il problema, il disco NON è più rilevato in alcun modo dal bios della scheda madre, col risultato che la procedura di upgrade del firmware diventa impossibile da eseguire.

Per fortuna qualche volenteroso ha pubblicato su Internet una procedura che ci permette di resuscitare i nostri cari dischi affetti dal problema in questione.

Prima di tutto mi sono messo alla ricerca del materiale che mi serviva. Non è stato facile perché i negozi di elettronica ormai sono rari e quindi ho fatto prima a ordinare l’occorrente su internet. Mi sono rivolto a Robot Italy dove ho comprato i seguenti articoli:

Convertitore di livello seriale RS232-TTL (l’interfaccia che ci permetterà di connetterci all’elettronica dell’hard disk)

Convertitore RS232 - TTLCovnertirore RS232 - TTL

Adattatore USB->Seriale in miniatura (nel caso il primo non funzionasse)

Cavi Jumper F/F e Cavi Jumper M/M (che sono molto utili per fare i collegamenti)

Poi qui e la ho comprato un convertitore da USB a seriale RS232 visto che il portatile che ho usato non aveva la seconda, un porta batteria per due microstilo AAA per fornire la corrente di 3V al circuito e un bel saldatore.

Adattatore USB - RS232Pacco Batterie AAA

Una volta assemblato il tutto ecco cosa si ha (consiglio caldamente di organizzarsi su una scrivania bella spaziosa in modo da poter accedere agevolemnte a tutti i componenti):

MaxtorRecovery

Come si può notare dalla foto, bisogna collegare il circuiti convertitore RS232-TTL all’adattatore USB-RS232. Al circuito convertitore poi si deve collegare il pacco batteria ai piedini VCC (cavo rosso delle batterie ovvero il polo positivo +) e a quello GND (Ground, cavo nero quindi il polo begativo -). Il circuito poi tra i vari piedini ha quelli RX e TX per la trasmissione dei dati/segnali. Questi devono essere collegati rispettivamente ai piedini dell’hard disk TX e RX che potete individuare riferendovi alla seguente disegno:

connector

Se vi sbagliate e invertite i due cavetti non vi preoccupate che non fate alcun danno, semplicemente non funzionerà in seguito la procedura e dovrete invertire i cavetti.

A questo punto bisogna lanciare sul proprio computer il programma HyperTerminal o programma equivalente. Per chi non lo sapesse questo programma è (oh mamma credo ormai “era”) usato per connettersi tra l’altro alle vecchie BBS (Bullettin Board System) antenate di Internet. Una volta lanciato il programma bisogna configurare una semplice connessione tramite l’interfaccia seriale che andremo ad usare, sia che sia fisicamente presente del computer sia che sia quella creata dall’adattatore USB-RS232. Le impostazioni della connessione dovranno essere come quelle della figura seguente:

comsettings

A questo punto la procedura differisce a seconda di quale problema si ha: hard disk con il motore che parte ma che non viene riconosciuto dal BIOS del pc (stato BUSY) oppure hard disk riconosciuto ma come 0 LBA.

Io ho avuto il problema più grave, quello dello stato BUSY e quindi illustrerò i passaggi che ho dovuto fare io.

Una volta lanciata la connessione terminale bisogna effettuare una operazione fisica abbastanza delicata sull’hard disk. In teoria bisognerebbe staccare la PCB (cioè la scheda di circuiti elettronici presente in ciascun hard disk) dal case dell’hard disk vero e proprio (la scatolotta metallica in poche parole) ma basta anche svitare un paio di viti in modo da mettere un pezzo di cartoncino tra i contatti del motore interno dell’hard disk (vedere foto seguenti).

hd01 hd02

Nella prima foto subito sopra il quadratino rosso potete notare i tre contatti che portano corrente e segnali dalla PCB al motore interno dell’hard disk. Sono contatti a strusciamento, delle specie di mollettine quindi basta che svitare la vite e infilare un cartoncino per interrompere i contatti. Per svitare le viti della PCB serve un cacciavite Mini Torx da 6… quelli a forma di stellina per intenderci.

Prima di procedere provo a dare una spiegazione tecnica: il problema del drive è che si trova in uno stato cosiddetto BUSY che in pratica blocca la porta SATA impedendo così al BIOS durante i controlli iniziali all’accessione del pc , di rilevare l’hard disk. Quando vi andrete a collegare in terminale all’hard disk apparirà una scritta del tipo “LED: 000000CC FAddr: XXXXXXXX”. Una volta visualizzato questo errore la sessione del terminale è completamente bloccata e non accetterà ulteriori comandi. Per poter aggirare questo problema bisogna quindi staccare la PCB dal corpo dell’hard disk in modo che il comando che invia l’errore non possa essere inviato alla sessione del terminale.

A questo punto quindi, una volta interrotti i contatti possiamo dare corrente all’hard disk ma attenzione è categorico dare corrente all’hard disk utilizzando un connettore di alimentazione SATA presente nei cavi degli alimentatori dei computer. Se si utilizza un case esterno (ad esempio USB) o un adattatore molex-SATA si avrà con tutta probabilità una serie confusa di caratteri nella sessione terminale. Questo perché i connettori di alimentazione SATA hanno un cavetto arancione che porta la corretta alimentazione per gli hard disk SATA. Cercate quindi di organizzare la scrivania in modo da avere accesso all’interno del case del computer e usare uno di questi connettori da attaccare all’hard disk. Una volta data alimentazione all’hard disk nella finestra del terminale bisogna dare il comando CTRL+Z e dovrebbe apparire un prompt del tipo:

F3 T>

Se non lo vedete controllate bene tutti i collegamenti : corretta alimentazione da 3Volts al circuito del convertitore TTL, corretto verso dei cavetti RX e TX, ecc.

Una volta ottenuto il prompt bisogna accedere al livello due dei comandi (non mi dilungo a spiegare i comandi del firmware dell’hard disk) dando il seguente comando:

F3 T>/2 (enter)

F3 2>

Quindi dare il comando per fermare il motore dell’hard disk (anche se in realtà non è collegato):

F3 2>Z (enter)

Spin Down Complete Elapsed Time 0.147 msecs (the time will vary here) F3 2>

Adesso il gioco di magia :) . Togliere il pezzetto di cartoncino che blocca i contatti del motore dell’hard disk e stringere le viti. Attenti durante l’operazione a non staccare i cavi di tutta la giostra ;) Soprattutto l’alimentazione all’hard disk deve essere presente durante questa operazione.

Adesso si deve digitare il seguente comando per far ripartire il motore dell’hard disk:

F3 2>U (enter)

E si dovrebbe leggere una cosa simile a quello che segue:

Spin Up Complete

Elapsed Time 7.093 secs

F3 2>

Oltre ovviamente sentire il motore che parte.

Adesso andare al livello 1 dei comandi digitando:

F3 2>/1 (enter)

Adesso si deve fare una cancellazione dello stato S.M.A.R.T. e ricreare il settore:

F3 1>N1 (enter)

Quindi effettuare la cancellazione della G-List (anche qui non chiedetemi spiegazioni… abbiate fede e basta :) oppure documentatevi nei link sopra):

F3 1>/T (enter)

F3 T>i4,1,22 (enter)

Adesso è molto importante spegnere il disco togliendogli l’alimentazione (staccargli il connettore dell’alimentazione SATA), aspettare 10 secondi e riattacarlo. Nuovamente dare il comando CTRL+Z nella finestra del terminale per riottenere il prompt “F3 T” e dare il seguente comando:

F3 T>m0,2,2,,,,,22 (enter)

Dovrebbe apparire un messaggio simile al seguente:

Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8 User Partition Format 10% complete, Zone 00, Pass 00, LBA 00004339, ErrCode 00000080, Elapsed Time 0 mins 05 secs User Partition Format Successful – Elapsed Time 0 mins 05 secs

Se il messaggio non appare è stato sbagliato qualcosa quindi ricontrollate tutto, anche i collegamenti perché se spegnete il drive prima di ottenere questo messaggio c’è il rischio concreto di rendere totalmente inutilizzabile l’hard disk. Se invece è andato tutto bene spegnete il drive e smontate tutto il baracchino. Ricollegate normalmente l’hard disk al vostro computer e ripartirà tutto come prima… !!!

Mi raccomando seguite questa procedura, solo se siete esperti di pc.
Non è bello spendere 30 euro e non risolvere nulla !!!

Navigando su internet e in special modo su eBay, ho trovato un'azienda che per soli 40 euro, effettua il ripristino dei dati e delle funzionalità degli hard disk Maxtor e Seagate danneggiati.

A giudicare dai loro feedback sono competenti e sopratutto veloci.
Questo è il link: RECUPERO DATI HARD DISK

In bocca al lupo !!

P.s. Scegliete WESTERN DIGITAL e non avrete problemi di questo tipo. ;)