Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Hitachi DK23AA-60 terminal szeregowy i co dalej

Hack_leberry Finn 06 Sty 2012 21:47 3157 1
  • #1 06 Sty 2012 21:47
    Hack_leberry Finn
    Poziom 12  

    Witam wszystkich.
    Jak w tytule, mam przed sobą taki dysk. Mogę się dobrać do jego S.M.A.R.T.-a, za pośrednictwem przejściówki USB-ide44pin. Oto dane jakie daje smartctl:

    Code:
    smartctl -a /dev/sdb
    
    smartctl 5.42 2011-10-20 r3458 [i686-linux-3.0.6-gentoo] (local build)
    Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

    === START OF INFORMATION SECTION ===
    Model Family:     HITACHI Travelstar DK23XX/DK23XXB
    Device Model:     HITACHI_DK23AA-60
    Serial Number:    786683
    Firmware Version: 00XEA0A0
    User Capacity:    6,007,357,440 bytes [6,00 GB]
    Sector Size:      512 bytes logical/physical
    Device is:        In smartctl database [for details use: -P show]
    ATA Version is:   5
    ATA Standard is:  ATA/ATAPI-5 T13 1321D revision 1
    Local Time is:    Fri Jan  6 17:31:15 2012 CET
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled

    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED

    General SMART Values:
    Offline data collection status:  (0x00)   Offline data collection activity
                   was never started.
                   Auto Offline Data Collection: Disabled.
    Self-test execution status:      (   0)   The previous self-test routine completed
                   without error or no self-test has ever
                   been run.
    Total time to complete Offline
    data collection:       (  570) seconds.
    Offline data collection
    capabilities:           (0x1b) SMART execute Offline immediate.
                   Auto Offline data collection on/off support.
                   Suspend Offline collection upon new
                   command.
                   Offline surface scan supported.
                   Self-test supported.
                   No Conveyance Self-test supported.
                   No Selective Self-test supported.




    SMART capabilities:            (0x0003)   Saves SMART data before entering
                   power-saving mode.
                   Supports SMART auto save timer.
    Error logging capability:        (0x01)   Error logging supported.
                   No General Purpose Logging support.
    Short self-test routine
    recommended polling time:     (   1) minutes.
    Extended self-test routine
    recommended polling time:     (  10) minutes.

    SMART Attributes Data Structure revision number: 16
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x000d   100   100   050    Pre-fail  Offline      -       0
      4 Start_Stop_Count        0x0032   099   099   050    Old_age   Always       -       1194
      5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
      7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       484
      9 Power_On_Minutes        0x0032   088   088   060    Old_age   Always       -       407h+34m
     10 Spin_Retry_Count        0x0013   100   100   050    Pre-fail  Always       -       0
    196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
    197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
    198 Offline_Uncorrectable   0x0010   100   100   001    Old_age   Offline      -       0
    199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0
    221 G-Sense_Error_Rate      0x000a   100   100   050    Old_age   Always       -       0
    223 Load_Retry_Count        0x0012   100   100   050    Old_age   Always       -       129
    225 Load_Cycle_Count        0x0032   075   075   050    Old_age   Always       -       2528494375028
    250 Read_Error_Retry_Rate   0x000a   100   100   050    Old_age   Always       -       406

    SMART Error Log Version: 1
    No Errors Logged

    SMART Self-test log structure revision number 1
    No self-tests have been logged.  [To run self-tests, use: smartctl -t]


    Device does not support Selective Self Tests/Logging

    Po odpytaniu smartctl z flagą -x:
    Code:
    smartctl -x /dev/sdb
    
    smartctl 5.42 2011-10-20 r3458 [i686-linux-3.0.6-gentoo] (local build)
    Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

    === START OF INFORMATION SECTION ===
    Model Family:     HITACHI Travelstar DK23XX/DK23XXB
    Device Model:     HITACHI_DK23AA-60
    Serial Number:    786683
    Firmware Version: 00XEA0A0
    User Capacity:    6,007,357,440 bytes [6,00 GB]
    Sector Size:      512 bytes logical/physical
    Device is:        In smartctl database [for details use: -P show]
    ATA Version is:   5
    ATA Standard is:  ATA/ATAPI-5 T13 1321D revision 1
    Local Time is:    Fri Jan  6 17:50:53 2012 CET
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled

    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED

    General SMART Values:
    Offline data collection status:  (0x00)   Offline data collection activity
                   was never started.
                   Auto Offline Data Collection: Disabled.
    Self-test execution status:      (   0)   The previous self-test routine completed
                   without error or no self-test has ever
                   been run.
    Total time to complete Offline
    data collection:       (  570) seconds.
    Offline data collection
    capabilities:           (0x1b) SMART execute Offline immediate.
                   Auto Offline data collection on/off support.
                   Suspend Offline collection upon new
                   command.
                   Offline surface scan supported.
                   Self-test supported.
                   No Conveyance Self-test supported.
                   No Selective Self-test supported.
    SMART capabilities:            (0x0003)   Saves SMART data before entering
                   power-saving mode.
                   Supports SMART auto save timer.
    Error logging capability:        (0x01)   Error logging supported.
                   No General Purpose Logging support.
    Short self-test routine
    recommended polling time:     (   1) minutes.
    Extended self-test routine
    recommended polling time:     (  10) minutes.

    SMART Attributes Data Structure revision number: 16
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
      1 Raw_Read_Error_Rate     P-SR--   100   100   050    -    0
      4 Start_Stop_Count        -O--CK   099   099   050    -    1194
      5 Reallocated_Sector_Ct   PO--CK   100   100   010    -    0
      7 Seek_Error_Rate         PO-R--   100   100   050    -    485
      9 Power_On_Minutes        -O--CK   088   088   060    -    407h+35m
     10 Spin_Retry_Count        PO--C-   100   100   050    -    0
    196 Reallocated_Event_Count -O--CK   100   100   001    -    0
    197 Current_Pending_Sector  -O--CK   100   100   001    -    0
    198 Offline_Uncorrectable   ----C-   100   100   001    -    0
    199 UDMA_CRC_Error_Count    -O-R--   200   200   000    -    0
    221 G-Sense_Error_Rate      -O-R--   100   100   050    -    0
    223 Load_Retry_Count        -O--C-   100   100   050    -    129
    225 Load_Cycle_Count        -O--CK   075   075   050    -    2528527929462
    250 Read_Error_Retry_Rate   -O-R--   100   100   050    -    408
                                ||||||_ K auto-keep
                                |||||__ C event count
                                ||||___ R error rate
                                |||____ S speed/performance
                                ||_____ O updated online
                                |______ P prefailure warning

    Read SMART Log Directory failed.

    ATA_READ_LOG_EXT (addr=0x00:0x00, page=0, n=1) failed: 48-bit ATA commands not supported
    Read GP Log Directory failed.

    SMART Extended Comprehensive Error Log (GP Log 0x03) not supported
    SMART Error Log Version: 1
    No Errors Logged

    SMART Extended Self-test Log (GP Log 0x07) not supported
    SMART Self-test log structure revision number 1
    No self-tests have been logged.  [To run self-tests, use: smartctl -t]


    Device does not support Selective Self Tests/Logging
    Warning: device does not support SCT Commands
    SATA Phy Event Counters (GP Log 0x11) not supported

    Natomiast hdparm:
    Code:
    hdparm -I /dev/sdb
    

    /dev/sdb:
    SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    ATA device, with non-removable media
    Standards:
       Likely used: 1
    Configuration:
       Logical      max   current
       cylinders   0   0
       heads      0   0
       sectors/track   0   0
       --
       Logical/Physical Sector size:           512 bytes
       device size with M = 1024*1024:           0 MBytes
       device size with M = 1000*1000:           0 MBytes
       cache/buffer size  = unknown
    Capabilities:
       IORDY not likely
       Cannot perform double-word IO
       R/W multiple sector transfer: not supported
       DMA: not supported
       PIO: pio0

    W /proc/partitions mam:
    Code:
    major minor  #blocks  name
    
                     .
                     .
                     .
       8       16    5866560 sdb

    Przyszła więc pora na użycie terminala - ja kupiłem gotowy, konwerter USB<->UART na bazie FT232RL. Ma go w swojej ofercie wiele firm, ja wybrałem mający możliwość ustawiania zworką pracy w standardzie TTL 5V i 3,3V.
    Po to by ułatwić sobie pracę z terminalem przy użyciu kermit-a, można skorzystać z takiego skryptu:
    Kod: bash
    Zaloguj się, aby zobaczyć kod

    Dołączam go do pobrania jako zgzipowany kermithdd.sh, oczywiście można też "copy-paste-ować" powyższy kawałek posta.
    Trzeba sprawdzić, na którym ttyUSB (lub tty gdy jest to konwerter pod rs232) pojawia się używany konwerter, jaka szybkość ma być "odkomentowana" i nanieść odpowiednie poprawki. Trzeba być użytkownikiem w odpowiedniej grupie, albo uruchamiać jako root - to już zależy od sytemu (powinno działać nie tylko pod linuxem ale i BSD, a możliwe że i pod XOS Apple, czy Solarisem).
    Terminal w przypadku tych dysków podłączamy wedle schematu:
    Code:

                +------- TX (na konwerterze)
                |
    ::::::::::: ::
                |
                +------- RX (na konwerterze)

    Pozostaje podłączyć konwerter do portu USB komputera i uruchomić skrypt, podpiąć zasilanie do dysku. Otrzymamy wtedy:
    Code:
    Connecting to /dev/ttyUSB0, speed 9600
    
     Escape character: Ctrl-\ (ASCII 28, FS): enabled
    Type the escape character followed by C to get back,
    or followed by ? to see other options.
    ----------------------------------------------------
    ASB

    Teraz wciskamy ESC, i pojawia się:
    Code:
    Copyright(C) Hitachi,Ltd 1996
    
    Code Ver: XEA0C600
    Checksum is
    12C6H

    DK23AA>

    W terminalu HITACHI mamy do dyspozycji następujące komendy:
    ESC - opisane wyżej wejście do konsoli dysku
    Q ENTER - wyjście z konsoli (obowiązkowo po zakończeniu pracy z dyskiem trzeba wyjść z konsoli, bo blokuje ona dostęp do dysku przez magistralę ide)
    D <numer> ENTER - zrzut 256 bajtów ROM-u od adresu wskazanego w numerze (ROM ma wielkość 262144 bajtów czyli od 0 do 3FFFFh).
    R <numer> ENTER - zrzut 256 bajtów RAM-u od adresu wskazanego w numerze
    D ENTER - zrzut kolejnych 256 bajtów ROM
    R ENTER - zrzut kolejnych 256 bajtów RAM
    W - zapis bajtu do RAM
    E - zapis bajtu do ROM (tylko powyżej adresu 20000h - niżej nie ma błędów, ale nic się nie zapisuje)

    U mnie D 0 daje taki efekt:
    Code:
    DK23AA>D 0
    
    ADDRESS   00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F  0123456789ABCDEF
    --------  ----------- -----------  ----------- -----------  ----------------
    00000000  00 00 B2 64 0F 00 20 00  00 00 B2 64 0F 00 20 00  ...d.. ....d.. .
    00000010  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    00000020  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 AA 86  ...\...\...\....
    00000030  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    00000040  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    00000050  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    00000060  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    00000070  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    00000080  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    00000090  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    000000A0  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    000000B0  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    000000C0  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    000000D0  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    000000E0  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\
    000000F0  00 00 B3 5C 00 00 B3 5C  00 00 B3 5C 00 00 B3 5C  ...\...\...\...\

    Natomiast R 0 taki:
    Code:
    DK23AA>R 0
    
    ADDRESS   00 01 02 03 04 05 06 07  08 09 0A 0B 0C 0D 0E 0F  0123456789ABCDEF
    --------  ----------- -----------  ----------- -----------  ----------------
    00000000  10 00 01 0D 00 64 64 00  00 00 00 00 00 00 04 32  .....dd........2
    00000010  00 63 63 AA 04 00 00 00  00 00 05 33 00 64 64 00  .cc........3.dd.
    00000020  00 00 00 00 00 00 07 0B  00 64 64 E6 01 00 00 00  .........dd.....
    00000030  00 00 09 32 00 58 58 8B  5F 00 00 00 00 00 0A 13  ...2.XX._.......
    00000040  00 64 64 00 00 00 00 00  00 00 C4 32 00 64 64 00  .dd........2.dd.
    00000050  00 00 00 00 00 00 C5 32  00 64 64 00 00 00 00 00  .......2.dd.....
    00000060  00 00 C6 10 00 64 64 00  00 00 00 00 00 00 C7 0A  .....dd.........
    00000070  00 C8 C8 00 00 00 00 00  00 00 DD 0A 00 64 64 00  .............dd.
    00000080  00 00 00 00 00 00 DF 12  00 64 64 81 00 00 00 00  .........dd.....
    00000090  00 00 E1 32 00 4B 4B 7A  50 02 BC 4C 02 00 FA 0A  ...2.KKzP..L....
    000000A0  00 64 64 9A 01 00 00 00  00 00 00 00 00 00 00 00  .dd.............
    000000B0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
    000000C0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
    000000D0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
    000000E0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
    000000F0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ...............

    Komenda Q powoduje coś takiego:
    Code:
    DK23AA>Q
    


    *** RS-232C MONITOR END ***

    Teraz wciskamy CTRL + \ a potem c i jesteśmy w linii poleceń kermit-a:
    Code:
    (Back at Mk1)
    
    ----------------------------------------------------
    C-Kermit 8.0.211, 10 Apr 2004, for Linux
     Copyright (C) 1985, 2004,
      Trustees of Columbia University in the City of New York.
    Type ? or HELP for help.
    (/tmp/) C-Kermit>

    Wpisując q i wciskając ENTER wyjdziemy z kermit-a.

    A teraz prośba do forumowiczów, szczególnie nirvanowca i okzo. Dysk nie daje się zamontować, czy nawet odczytać tablicy partycji, a bios wykrywa że jest hasło i security level jest ustawione na high.

    W MHDD po EID dostaję:
    Security: high, ON.
    WARNING: THIS DRIVE IS LOCKED BY ATA PASSWORD
    Teoretycznie DISPWD 1 i 32 spacje powinny wszystko załatwić.
    Jednak niestety tak się nie dzieje.
    W ATA Password Tool mam:
    S E L F X V
    + + + - - h
    Po wybraniu Disable With Master Password i wpisaniu 32. spacji "command rejected".
    Oczywiście przed MHDD i ATA Password Tool zastosowałem hdparm z takim skutkiem:
    Code:
     hdparm --user-master m --security-disable '                                ' /dev/sdb 
    
    security_password="                                "

    /dev/sdb:
     Issuing SECURITY_DISABLE command, password="                                ", user=master
    SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


    Wygląda na to że uszkodzeniu uległ SA. Czy ktoś pracował z takim dyskiem i może pomóc mi w naprawie SA tego dysku? Czy ktoś ładował naprawione moduły do dysku Hitachi przez "serial terminal"? Czy da się ładować tylko pojedyncze bajty (po długich poszukiwaniach znalazłem tylko takie komendy)? Czy są zainteresowani tworzeniem własnej konstrukcji Terminala na bazie FT232RL? Czy sa zainteresowani oddzielnym tematem pracy z terminalem dyskowym i data recovery pod linuxem?

    0 1
    Załączniki:
  • #2 16 Lut 2012 12:27
    Hack_leberry Finn
    Poziom 12  

    W związku z brakiem jakiejkolwiek odpowiedzi w tym temacie przez ponad miesiąc, sprawę zamykam (choć nie została ostatecznie rozwiązana).

    0