Switch to full style
In-depth technology research: finding new ways to recover data, accessing firmware, writing programs, reading bits off the platter, recovering data from dust.

Forum rules

Please do not post questions about data recovery cases here (use this forum instead). This forum is for topics on finding new ways to recover data. Accessing firmware, writing programs, reading bits off the platter, recovering data from dust...
Post a reply

SMART Error Log 07 - how to read it ?

July 18th, 2017, 4:43

Hi guru's ,

could you tell me how to read Self-Test EXT Error Log ?
B0 command doesn't work.

Re: SMART Error Log 07 - how to read it ?

July 18th, 2017, 4:49

Drive's vendor, model, family?

Re: SMART Error Log 07 - how to read it ?

July 18th, 2017, 10:44

Martin wrote:Drive's vendor, model, family?


Is it a VSC ? :shock:

HGST HDS722020ALA330

Re: SMART Error Log 07 - how to read it ?

July 18th, 2017, 16:19

Deskstar 7K2000 and Ultrastar A7K2000 Specification v1.0:
https://www.hgst.com/sites/default/files/resources/USA7K2000_DS7K2000_OEMSpec_r1.4.pdf

The SMART Read Log Sector (Subcommand D5h) is documented on page 207.

Note: Log addresses 03h and 07h are used by the Read Log Ext and Write Log Ext commands. If these log addresses are used with the SMART Read Log Sector command, the device shall return command aborted.

The Read Log Ext (2Fh) command is documented on page 144.

Re: SMART Error Log 07 - how to read it ?

July 19th, 2017, 4:14

fzabkar wrote:The Read Log Ext (2Fh) command is documented on page 144.


Yes, but very obscured... :(

I don't get it. Do you?

Re: SMART Error Log 07 - how to read it ?

July 19th, 2017, 4:47

2Fh is a 48-bit command.

    FR = xxxxh (log specific, reserved by ATA standard, maybe set to 0000 ???)
    SC = nnnnh (number of sectors to be read from log)
    SN = 07h
    CL = ssssh (first sector/page of log to be read, 0000 is first sector)
    CH = don't care
    DH = A0h or B0h (master/slave)
    CR = 2Fh

Re: SMART Error Log 07 - how to read it ?

July 19th, 2017, 7:58

fzabkar wrote:
    FR = xxxxh (log specific, reserved by ATA standard, maybe set to 0000 ???)

Maybe "brute force" is needed?

Re: SMART Error Log 07 - how to read it ?

July 19th, 2017, 16:43

Read the ATA standard. If that doesn't help, then you could examine the relevant code in the open source smartmontools project.

Otherwise you could try the following MHDD script (untested).

Code:
; read first sector of Self-Test EXT Error Log 07h
; cycle through values of 0000 - 0x00FF for Features Register

reset
waitnbsy

; get first page

%fr = -1

@loop:
%fr = %fr + 1
if %fr = 256 @end
waitnbsy

regs = $00 $00 $00 $00
waitnbsy

regs = %fr $01 $07 $00 $00 $a0 $2f
waitnbsy

%error = iserror
if %error = 1 @loop
checkdrq
sectorsto = logpages\%fr.bin
goto @loop

@end:
Post a reply