dslreports logo
uniqs
11

koitsu
MVM
join:2002-07-16
Mountain View, CA
Netgear CM1000
Ubiquiti EdgeRouter X SFP
Ubiquiti Unifi UAP-AC-LITE

koitsu to Gem

MVM

to Gem

Re: [WIN8] windows 8 adversely affects XP hard drives

smartmontools will run on any Windows XP or later system. You can download it from here:

»sourceforge.net/projects ··· download

If used on Vista or later, you will need to make sure you run Command Prompt as Administrator before using smartctl. Use Google to find out how to do this if applicable.

You will probably need to use smartctl --scan first, especially if the system has multiple hard disks. This should return some example syntax parameters which you should try passing to smartctl. For example:

C:\Documents and Settings\jdc>smartctl --scan
/dev/sda -d ata # /dev/sda, ATA device
/dev/sdb -d ata # /dev/sdb, ATA device
/dev/csmi0,0 -d ata # /dev/csmi0,0, ATA device
/dev/csmi0,1 -d ata # /dev/csmi0,1, ATA device
/dev/csmi0,2 -d ata # /dev/csmi0,2, ATA device
 

In this case you would want to try smartctl -a /dev/sda -d ata (note that I added -a). This would attempt to return all relevant SMART data from the first physical hard disk on the system. You will need to look at the output (particularly the top portion) to see if you've got the data for the correct drive (you should know the model and capacity already). If the output is for the wrong drive, try the next listed device, e.g. smartctl -a /dev/sdb -d ata and so on. Continue to do this until you find the correct drive.

You can redirect all the output of smartctl to a file by doing something like smartctl {whatever flags} > C:\output.txt and then open up C:\output.txt in Notepad and copy-paste the contents here within a [code]
block (to retain formatting -- this makes my job a lot easier).
Gem
Premium Member
join:2005-09-10

1 edit

Gem

Premium Member

Okay, what exactly should the [codes] be to paste the output here.

I've never understood the codes to the right of our composition window when composing posts.

Off to download smartmon and to move the hard drive in question to another computer after dinner.

Wahoo. Got the output on the 160GB Seagate drive. It appears to show errors. Need more complete instructions on how to send to a file and how to submit in a post so it saves the formatting that you need.

Thank you for your help and for the detailed "how to do it" instructions.

norwegian
Premium Member
join:2005-02-15
Outback

norwegian

Premium Member

Click for full size
For code, see below:

produces this 
 
norwegian

norwegian

Premium Member

Just copy/paste all report data in between the 2 code blocks
Gem
Premium Member
join:2005-09-10

Gem to norwegian

Premium Member

to norwegian
Good that appears to be clear enough.

Now I just need more complete instructions on how to send the smartmon output to a text file in a way that will preserve the formatting of the output.

I don't understand the business about "flags".

It doesn't look like we can simply cut and paste from the DOS command window.

norwegian
Premium Member
join:2005-02-15
Outback

norwegian to Gem

Premium Member

to Gem
said by Gem:

Wahoo. Got the output on the 160GB Seagate drive. It appears to show errors.

Good you are getting results; thought you might.

If you do not sort it now before you start relying on it to keep your personal data and it does break, you will be in a bigger mess down the road and we don't want that.......wish I had a $1 for every computer I've had to fix that had no backup program and the "oh my family photos" cry from owners.
norwegian

norwegian to Gem

Premium Member

to Gem
said by Gem:

It doesn't look like we can simply cut and paste from the DOS command window.

The command you run at the DOS prompt for the test, just add a space and > C:\output.txt after it in the same line before hitting ENTER to run the test.
Gem
Premium Member
join:2005-09-10

Gem to norwegian

Premium Member

to norwegian
All the data is off the subject drive and already backed up.

What we've got now is a blank drive. Or nearly blank. It may have the small OS tried earlier still on it, but that's all.

Getting ready to try to send the output to the text file.

norwegian
Premium Member
join:2005-02-15
Outback

norwegian

Premium Member

said by Gem:

What we've got now is a blank drive.

Which is why checking the HDD now is worth a million words and heart ache down the road.
Gem
Premium Member
join:2005-09-10

Gem to koitsu

Premium Member

to koitsu
See if this looks like it was done correctly:

smartctl 6.0 2012-10-10 r3643 [i686-w64-mingw32-xp-sp3] (sf-6.0-1)
Copyright (C) 2002-12, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.7 and 7200.7 Plus
Device Model:     ST3160021A
Serial Number:    3JS2W10F
Firmware Version: 3.06
User Capacity:    160,041,885,696 bytes [160 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-6 T13/1410D revision 2
Local Time is:    Fri Feb 22 20:30:40 2013 MST
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:  (0x82)Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status:      (  41)The self-test routine was interrupted
by the host with a hard or soft reset.
Total time to complete Offline 
data collection: (  430) seconds.
Offline data collection
capabilities:  (0x5b) 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.
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:  ( 111) minutes.
 
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   066   055   006    Pre-fail  Always       -       84479117
  3 Spin_Up_Time            0x0003   096   095   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       10
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   087   060   030    Pre-fail  Always       -       475869928
  9 Power_On_Hours          0x0032   088   088   000    Old_age   Always       -       11256
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   020    Old_age   Always       -       1917
194 Temperature_Celsius     0x0022   041   062   000    Old_age   Always       -       41
195 Hardware_ECC_Recovered  0x001a   066   055   000    Old_age   Always       -       84479117
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0000   100   253   000    Old_age   Offline      -       0
202 Data_Address_Mark_Errs  0x0032   100   253   000    Old_age   Always       -       0
 
SMART Error Log Version: 1
ATA Error Count: 1
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.
 
Error 1 occurred at disk power-on lifetime: 11246 hours (468 days + 14 hours)
  When the command that caused the error occurred, the device was active or idle.
 
  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 01 af 9e a1 f0
 
  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  37 00 01 af 9e a1 f0 00      00:09:13.238  SET MAX ADDRESS EXT
  27 00 00 00 00 00 f0 00      00:09:13.238  READ NATIVE MAX ADDRESS EXT
  27 00 00 00 00 00 f0 00      00:09:13.227  READ NATIVE MAX ADDRESS EXT
  ec 00 01 db 97 20 b0 00      00:08:23.104  IDENTIFY DEVICE
  27 d0 00 00 00 00 f0 00      00:08:15.897  READ NATIVE MAX ADDRESS EXT
 
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Interrupted (host reset)      90%     11253         -
# 2  Short offline       Completed without error       00%     11248         -
# 3  Short offline       Completed without error       00%     11247         -
# 4  Short offline       Completed without error       00%     11246         -
 
SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
 
 

koitsu
MVM
join:2002-07-16
Mountain View, CA
Netgear CM1000
Ubiquiti EdgeRouter X SFP
Ubiquiti Unifi UAP-AC-LITE

koitsu

MVM

Yup, that's what I wanted to see (barring some formatting mistakes but it's good enough).

Your drive has no LBA or sector-level issues. LBA 0 is perfectly readable/writeable from my perspective. That's good!

"So then what was that error in SeaTools, talking about sector 0?"

The error, in actuality, was self-induced by the software itself (i.e. a bug or a design mistake).

The error you saw was actually a direct result of what you see in your SMART error log. You can see clearly that roughly 10 hours ago (at power-on hours count 11246) a piece of software attempted to issue ATA command 0x37 (SET MAX ADDRESS EXT) to the drive, which the drive rejected (and a proper error status was returned). That particular command is usually used to modify the HPA region of a hard disk, which contains the advertised maximum LBA count of the drive (i.e. it's maximum capacity).

I'm going to skip all the low-level technical details of the ATA CDB decoding and so on -- yes, I really can read all of that stuff (it takes me some time along with reference materials, but I do understand it!), and yes really the below is the short/terse version! -- and instead try to summarise what happened:

1. SeaTools attempted to issue SET MAX ADDRESS EXT, specifically telling the drive *not* to change the advertised maximum LBA count/capacity if a hardware bus reset occurs or a power-on reset was encountered. (This is a safety net to ensure that if an I/O error is later encountered while, say, testing the drive during an extended/long test or surface scan, that the drive not actually retain that capacity change):

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  37 00 01 af 9e a1 f0 00      00:09:13.238  SET MAX ADDRESS EXT
 

2. In the same command, attempted to set the maximum LBA count to a value which I cannot determine due to limitations of the SMART error log; the SMART error log only saves the least-significant byte of each CDB field, and some of those fields are actually much longer than 8-bits (some are 48-bit for example). So I can't see what it was truly trying to set the limit to, but it tried it. However, the error status (keep reading) indicates the software tried to set the capacity to something smaller than the native maximum LBA count.

3. The drive received the CDB successfully, but rejected it:

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 01 af 9e a1 f0
 
These registers decoded -- specifically ER -- indicates the drive returned 0x10 (bit 4 set). Bit 4 = IDNF (ID Not Found). This behaviour is fully 100% defined per T13/2015-D rev 3 specification:
If the Maximum LBA ... is less than the native max address, then the ID Not Found bit ... shall be set to one if a previous non-volatile SET MAX ADDRESS EXT command has been processed since the last power-on or hardware reset. ...
ST was 0x51, which means bits 0, 4, and 6 were set. Bits 4 and 6 are irrelevant to the situation, and bit 0 being set means an error condition occurred.

4. The same software that submit this CDB did not expect an error condition, and therefore erroneously reported a failure for LBA 0. Naughty naughty -- bug in SeaTools. :-)

So as I said further up -- your drive is perfectly healthy.

I should note, however, that you did not run an actual SMART-level long (sometimes called "extended") scan, which at the firmware level attempts a read of all LBAs and reports back any failures in the SMART self-test log along with an LBA number. You did, though, state that you "ran a surface scan test", which if I remember right, inside SeaTools, simply issues LBA reads from the OS (DOS) itself for every LBA and reports back any failures. That's perfectly fine to do and a good indication that every LBA is readable (and most certainly writeable).

So your issue with MBR problems, partition tables, etc. is something software-level and not disk-level.

Hope this sheds some light on things -- welcome to what engineers do. :-)

P.S. -- Consider yourself extra proud: this thread has given me an idea for a utility to write that would greatly benefit most of the Internet, when/if I have the time.
Gem
Premium Member
join:2005-09-10

Gem

Premium Member

Re: [WIN8] windows 8 wasn't to blame...

Thank you, Koitsu, Norwegian, Ozo, Aurgathor, Plencnerb, Kilroy, and everyone else who helped with this problem...

...especially Koistu and Norwegian who so patiently walked me through everything there was to do.
OZO
Premium Member
join:2003-01-17

OZO

Premium Member

Let me guess, you have resolved your problem?
What was the solution in this case?
Gem
Premium Member
join:2005-09-10

Gem

Premium Member

Drive checked out as A-Okay. To get it to boot in XP it requires changes to be made to make the drive appear to XP to be less than its full 160GB in size.

aurgathor
join:2002-12-01
Lynnwood, WA

aurgathor

Member

That's interesting. I vaguely remember there used to be a 128G limit a while ago, but I'd think an Abit AG8 i915 motherboard should not suffer from that. But you've got it working, and that's what counts.
aurgathor

aurgathor to koitsu

Member

to koitsu

Re: [WIN8] windows 8 adversely affects XP hard drives

said by koitsu:

4. The same software that submit this CDB did not expect an error condition, and therefore erroneously reported a failure for LBA 0. Naughty naughty -- bug in SeaTools.

Hmmm, one would expect a manufacturer's own tool to work error free with their own drives....
Gem
Premium Member
join:2005-09-10

Gem to aurgathor

Premium Member

to aurgathor

Re: [WIN8] windows 8 wasn't to blame...

This drive has always been problematic. It would boot fine on some boards, but not when formatted as a 160GB drive on other older boards. Seagate Barracuda 7200.6 Firmware 3.06.

Perhaps it was a problem because this 160GB was produced around 2004-2006 if I remember correctly. Maybe drive manufacturers have different firmware on later drives that help newer motherboards get around the 128GB barrier more easily than this one can.

Once again, thank to everyone.