Scritto il 8 febbraio 2009 in Hardware da Savonarola730 Commenti »

Tempo fa ho avuto un problema con uno dei miei hard disk Maxtor STM3500320AS. Il problema in questione è stato causato da un ben noto (ormai) difetto del firmware di questa famiglia (e anche altre) di hard disk della Seagate (che ha acquistato la Maxtor anni fa’).

A quanto pare la Seagate se l’è presa comoda per rilasciare la patch con grosso malcontento di milioni di utenti nel mondo come testimoniato sul forum di supporto (NB nel momento in cui sto scrivendo ho scoperto che il forum in questione non è più disponibile… ma per farvi un’idea della situazione erano più di 70 pagine di messaggi di utenti interessati al caso). E nel frattempo gli hard disk che si bloccavano diventavano sempre più numerosi. Unica soluzione: spedire l’hard disk per farlo riparare e recuperare così l’accesso ai propri dati oltre ovviamente a non avere un delizioso fermacarte sulla scrivania. Si perché il disco non è irrecuperabile quando succede. Semplicemente entra in uno stato cosidetto BUSY e il BIOS del computer non lo vede più… oppure lo vede ma di grandezza 0MB!

Purtroppo mandare il disco alla Segate significherebbe una enorme perdita di tempo… se considerate che più di una settimana fa’ io stesso ho scritto una email alla Segate per chiedere istruzioni sul da farsi e ancora non ho ricevuto alcuna risposta. Per fortuna qualche volenteroso utente ha pubblicato su Internet una procedura per resuscitare i nostri cari dischi affetti dal problema in questione. C’è anche una discreta diatriba sulla paternità della procedura… io per non fare un torto a nessuno pubblico di seguito tutti i link di vari forum e siti in merito alla procedura e poi spiegherò cosa ho fatto io… Starà a chi legge questo mio articolo studiare per bene ;)

Questo è il primo post che ho trovato su un forum con la spiegazione dettagliata della procedura:

http://www.msfn.org/board/index.php?showtopic=128807&pid=828228&mode=threaded&start=100#entry828228

A quanto pare però l’autore avrebbe copiato da questo sito:

http://yura.projektas.lt/files/seagate/720011_ES2.html (non chiedetemi che lingua sia :) )

Anche in questo forum è presente una spiegazione dettagliata della procedura:

http://forum.hddguru.com/tutorial-resolve-lba-seagate-7200-bios-don-recognize-t11040.html

Su questo sito invece ci sono alcuni articoli inerenti il problema:

http://techreport.com/discussions.x/16246

A conti fatti comunque, ecco come ho fatto io.

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.

Pacco 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… almeno per me è stato così!!!

:)

Addirittura nel mio caso il disco faceva parte di un array RAID0 di due dischi e il tutto è ripartito correttamente.

Per qualsiasi consiglio o informazione contattatemi pure! Se non vi rispondo subito è perché sono andato a comparmi degli hard disk della Western Digital!! :D



View My Stats