Tag Archives: firmware

Seagate Barracuda 7200.11 750GB – firmware SD15 – nie wykrywa dysku

Jedno z praw Murphiego mówi: “Awaria komputera wyczekuje cierpliwie na najbardziej niedogodny moment, aby bezlitośnie zaatakować.

No i zaatakowała, na kilka dni przed planowanym oddaniem pracy dyplomowej. Oczywiście pracując na nowych “plikach” zapomniałem ustawić backupów i szlag trafił jakiś miesiąc pracy i środowisko testowe. Przy okazji dało o sobie znać kolejne prawo: “Drobne awarie nie isnieją, jeżeli miała jednak miejsce drobna awaria, oznacza to, że nie poznałeś jeszcze jej rzeczywistych rozmiarów.”  Zaczęło się niewinnie, od problemów z wykryciem dysku po restarcie, gorzej było od momentu jak zadałem sobie sprawę że to TEN najważniejszy w ostatnich dniach dysk.

Objawy:

Dysk twardy wydaje się pracować, nie wydaje niestandardowych dźwięków, nie jest wykrywany przez bios. Pod linuksem widać problemy z dostępem do dysku.

Model i trochę historii:

Seagate Barracuda 7200.11 750GB uzbrojony w najwspanialszy firmware SD15. Nigdy nie posiadałem tyle wolnego miejsca aby wykonać backup całego dysku i podnieść firmware do wersji poprawnie działającej, czyli powyżej SD15. Dysk podziałał dokładnie 5 lat i 2 miesiące, będąc intensywnie używanym.

Co dalej?

Płacz, pisanie od nowa, upicie się. Wyszło jak zwykle Google i szukanie odpowiedzi… Co zrobić gdy padnie Barracuda z czarnej serii. Kilka rozwiązań udało się znaleźć.

Do ciekawostek należy koszt uruchomienia takiego dysku przez firmę zajmującą się odzyskiwaniem danych – 500$ – chyba kogoś zdeczko pogrzało.

Potrzebne narzędzia:

Okazało się że można popróbować zabawy z terminalem dyskowym, wersja USB lub RS-232, bez różnicy. Analogiczne kabelki są używane w przypadku programowania centralek alarmowych. Wersja na USB wygląda mniej więcej tak:

Terminal dyskowy - zdjęcie pozyskane z zasobów publicznej sieci Internet

Ewentualnie na elektroda.pl można schemat jak zrobić taki kabelek.

Kosz gotowego kabla to na dzień dzisiejszy około 18zł, zamówiłem z alledrogo.

Oprócz kabelka należy wyposażyć się w jakiegoś klienta umożliwiającego wysyłanie komunikatów na porcie szeregowym (lub emulowanym szeregowym), np klasyczny Putty lub HyperTerminal.

Kroki naprawy (…a trochę ich jest):

      1. Instalacja sterownika do kabla (w przypadku USB), sterownik dołączony na płytce, najpierw instalujemy sterownik a dopiero później podłączamy kabel.
      2. Podłączenie kabla i automatyczna instalacja sterownika. Weryfikacja jakiego COMa używa sterownik (Menedżer urządzeń -> Porty COM i LPT)
      3. Podłączenie terminala do dysku
        Oczywiście część kabelków posiada 3 piny a nie 2 jak w moim przypadku. W przypadku dysku Seagate mamy dostępne 4 piny, 1 od lewej nie używamy, 2 podłączamy GND (jeśli kabel ma 3 piny), 3 podłączamy RX, 4 podłączamy TX. W przypadku zabaw z innymi dyskami polecam GOOGLE:)
      4. Uruchomienie Putty i konfiguracja:
        Zamiast COM3 podajemy port, na którym zainstalowano sterownik od kabla (patrz -> Menedżer urządzeń -> Porty COM i LPT).
      5. Podłączenie się terminalem
      6. Podłączenie zasilania do dysku
      7. Sprawdzamy czy nie pojawiają się jakieś komunikaty, jeśli nic nie ma to prawdopodobnie został odwrotnie podłączony kabelek
      8. Odświeżamy kilka razy CTRL+Z
      9. Pojawienie F3 T> oznacza że jesteśmy już prawie w domu, w moim przypadku nie było tak łatwo bo pojawił się komunikat:
        LED:000000CC
        FAddr:0025BF67

        Oznacza to tylko tyle że mamy do czynienia z problemem ze SMARTem, uszkodzonym translatorem i w efekcie z zablokowanym dyskiem. W tym przypadku nic nie da się przesłać do dysku poprzez terminal (przynajmniej ja natrafiłem na taki przypadek). Jeśli pojawił się standardowy znak zachęty przejdź od razu do punktu 16
      10. Aby móc przejść do właściwej naprawy należy odizolować płytkę z elektroniką dysku od samego dysku (styki). Odłączamy zasilanie od dysku i odkręcamy 3 śruby jak na rysunku
      11. Po odkręceniu śrub należy delikatnie odgiąć PCB i w okolicach śruby numer 3 włożyć zapałkę, kartę bankomatową lub coś w tym stylu. Ja użyłem karty ze stacji benzynowej 😉
      12. Teraz należy uruchomić zasilanie. Głowice nie mają w tym momencie dostępu do elektroniki dysku. Talerze zaczynają się obracać, po czym zatrzymują się
      13. W tym momencie – Przy włączonym zasilaniu! – wyjmujemy wcześniej włożony element blokujący i przykręcamy PCB
      14. Po przykręceniu na terminalu wciśnięcie CTRL+Z powoduje pojawienie się znaku zachęty: F3 T>
      15. Przystępujemy do naprawy właściwej, w przypadku braku problemów ze SMARTem (punkt 9) można od razu kontynuować od punktu 16.
      16. Wchodzimy na poziom 2, piszemy w terminalu
        /2 i zatwierdzamy enterem
        Zmiana znaku zachęty na F3 2> oznacza że jesteśmy w odpowiednim trybie
      17. Zatrzymujemy silnik wydając na terminalu komendę Z
        Po zatwierdzeniu enterem na terminalu powinien pojawić się fragment zbliżony do:
        F3 2>Z
        Spin Down Complete
        Elapsed Time 0.147 msecs
      18. Ponownie uruchamiamy silnik wpisując na terminalu komendę U
        Po zatwierdzeniu enterem na terminalu powinien pojawić się fragment zbliżony do:
        F3 2>U
        Spin Up Complete
        Elapsed Time 7.363 secs
      19. Przechodzimy spowrotem do trybu 1, w terminalu wydajemy polecenie /1
        Znak zachęty zmieni się na F3 1>
      20. W tym trybie wykonujemy czyszczenie SMARTu wydając polecenie N1.
        Poprawne wykonanie polecenia nie zwróci żadnego wyniku, terminal powróci do poziomu 1 F3 1>
      21. W tym momencie odpinamy zasilanie dysku i czekamy z 10-20sekund – tak dla bezpieczeństwa
      22. Następnie podłączamy spowrotem zasilanie, wciskamy kilka razy CTRL+Z aż spowrotem pojawi się poziom F3 T>
      23. Wydajemy polecenie przeliczenia translatora m0,2,2,0,0,0,0,22
        Przeliczenie spowoduje wyświetlenie analogicznego wyjścia na terminalu:
        F3 T>m0,2,2,0,0,0,0,22
        Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 00, Max Certify Rewr ite Retries = 0000
        User Partition Format Successful - Elapsed Time 0 mins 00 secs
      24. Dodatkowo można sprawdzić czy nie zostały zarejestrowane jakieś błędy, wpisujemy na terminalu V4
        Powinno pojawić się coś na styl:
        F3 T>V4
        Reassigned Sectors List
        Original New log log log phy phy
        LBA PBA cyl hd sctr zn cyl sctr SFI hours msecAlt Pending Total Alted Total
        Entries Entries Entries Alts Alts
        Head 0 0
        Head 1 0
        Head 2 0
        Head 3 0
        Head 4 0
        Head 5 0
        Total 0 0 0 0 0
        Total Alt Removals: 0
        Checksum = 0000
        F3 T>
      25. … jeśli wszystkie operacje przebiegły bez problemów to w tym momencie możemy odłączyć zasilanie i zacząć normalnie korzystać z dysku. Nie powinno być żadnych ubytków w danych.

Oczywiście udało mi się odzyskać wszystkie najpotrzebniejsze dane. Było trochę nerwów ale cała operacja zakończyła się pełnym sukcesem.
Informacje zawarte w tym poście są zlepkiem tego co udało mi się znaleźć na necie (czytaj wygooglać).

 

ASUS WL-500gP V2 – wgranie alternatywnego firmware – TomatoRAF

Słowem wstępu…

Po długich namysłach jaki firmware załadować na mój routerek zdecydowałem się na TomatoRAF.  Od dłuższego czasu czytałem o problemach z wersją V2, jednak dopiero teraz wiem że mogłem wcześniej zabrać się za podmianę softu. Rozważałem dwie wersje Tomato, wersję TomatoUSB (Teddy Bear) i właśnie TomatoRAF (bazuje na Teddy Bear). Zależało mi na wersji posiadającej wsparcie dla IPv6 – jako że ostatnio ogarnęła mnie gorączka implementowania tego właśnie protokołu gdzie tylko się da.  Oczywiście przy drobnych modyfikacjach IPv6 można uruchomić również na innych wersjach alternatywnego firmware, np. OpenWrt. Jednak ostatnio jestem zbyt leniwy 🙂

Zestawienie pozostałych popularnych edycji Tomato można znaleźć na http://en.wikipedia.org/wiki/Tomato_(firmware).

Podstawowe funkcjonalności TomatoRAF: SpeedMod, SFTP, VPN client/server, USB (print, nas), IPv6

 

Wgrać firmware na router Asusa można na kilka sposobów. Najłatwiej jest skorzystać z softu dołączanego do routera: Asus Firmware Restoration Tool.

Procedura wgrania firmware:

  1. Reset do ustawień fabrycznych (nie jest to chyba wymagane – nie sprawdzałem).
  2. Ustawienie na kompie statycznego adresu 192.168.1.x/255.255.255.0 (bez ustawienia bramy) – oczywiście gdzie x!=1
  3. Uruchomienie routera w Diagnostic Mode:
    • Wyłączenie routera
    • Podłączenie komputera do portu LAN1 (koniecznie do tego), najlepiej z wyłączonymi pozostałymi kartami sieciowymi. Restoration Tool trochę wariuje jeśli mamy włączonych kilka kart sieciowych.
    • Wciśnięcie i trzymanie przycisku RESTORE i podpięcie zasilania. Przycisk należy trzymać wciśnięty kilka sekund
    • Jeśli dioda POWER będzie powoli pulsować to oznacza że jesteśmy w trybie Diagnostic
  4. Sprawdzenie czy można nawiązać połączenie z routerem, np. ping 192.168.1.1 – router powinien odpowiadać
  5. Teraz uruchamiamy narzędzie Asusa i wskazujemy plik .trx do wgrania na router.
  6. Po wgraniu firmware następuje etap odzyskiwania, czyli w tym przypadku wgrywania naszego firmware – tak jak na załączonym obrazku
Asus Firmware Restoration Tool
Asus Firmware Restoration Tool

 

Oczywiście krok z Asus Firmware Restoration Tool można pominąć wgrywając firmware za pomocą zwykłego tftp:

tftp 192.168.1.1
tftp> binary
tftp> put tomato-K26USB-1.28.8702MIPSR1_RAF-VPN.trx

 

Linki:

TomatoUSB (Teddy Bear) http://tomatousb.org/

TomatoRAF http://victek.is-a-geek.com/tomato.html (ES)  lub (EN) (PL)

Demo online TomatoRAF http://lampiweb.com/virtual/tomatok26/status-index.html

 

Podsumowując…

Podstawowe funkcjonalności MODu TomatoRAF działają poprawnie. Jest kilka niedoróbek ale da się z nimi przeżyć:

  • domyślne wartości są na niektórych zakładkach załadowane z błędami – nie da się zapisać zmian bez poprawek
  • problem z funkcjonowaniem Static DHCP tuż po restarcie – są przydzielane losowe adresy z puli dostępnej dla DHCP, dopiero po chwili zaczynają być przydzielane wpisy z tablicy static

Pozostałych opcji nie zdążyłem sprawdzić. Router działa prawidłowo od trochę więcej niż doby – max 4 klientów pracujących jednocześnie. Dopiero za jakiś czas będę mógł napisać coś więcej o stabilności tego rozwiązania. Denerwuje mnie jedynie trochę niższa przepustowość Wifi – może to kwestia ustawień, jeszcze eksperymentuję.