|
From: Bruce A. <ba...@gr...> - 2003-03-14 20:43:23
|
Hi Hans-Georg,
Thanks very much for the quick feedback. I've seen quite a lot of
newsgroup traffic recently about these Samsung disks and am very
interested in resolving these issues as quickly as possible.
Below, I've asked you to do several things to help me sort this out. I'd
be very grateful if you could spend the time to do them.
> I just compiled smart-5.1-9. It works fine with an IBM
> IC35L060AVER07-0 but delivers totaly odd values for a SAMSUNG SV4012H
> on another computer.
I see what you mean. Virtually ALL the raw values are exactly zero.
> This disk is only a few hours in use but look at timestamps.
>
> One thing I noticed is that the Power_On_Hours value gets incremented
> by one every 30 seconds
Interesting. We have smartmontools options (-v 9,minutes and -v
9,seconds) to cover the cases where this counter is in minutes or in
seconds. It looks like we will need ANOTHER option to handle the case
where this counter is once overy thirty seconds (-v, 9,30seconds). Could
you please verify this by trying the (-v 9,minutes) option and seeing if
the timestamps are then off by exactly a factor of two?
You can also verify this by running smartd with the -R 9 option and then
looking at /var/log/messages after a few hours.
Since I see that many of the raw values are zero, could you also perhaps
run:
smartctl -a -v N,raw16 /dev/hda
and post the results so that I can see all six bytes of all of the raw
values?
> SMART Error Log Version: 1
> Warning: ATA error count 10496 inconsistent with error log pointer 5
This is REALLY strange. Unlike much of the SMART standards, the ATA error
logs ARE completely specified by the ATA standards. It looks as if
Samsung is not complying with the spec -- I just compared the ATA-6 rev 1
spec with the ATA-5 rev 1 spec and don't see any significant changes.
It's possible that Samsung is only including the "Comprehensive" and not
the "Summary" error log. I think this violates the spec but who cares, if
the info is in the Comprehensive log, let's take it! Would you be willing
to rebuild the code with one change and run smartctl -a again?
In atacmds.c, find the block:
int ataReadErrorLog (int device, struct ata_smart_errorlog *data){
unsigned char buf[HDIO_DRIVE_CMD_HDR_SIZE+ATA_SMART_SEC_SIZE] =
{WIN_SMART, 0x01, SMART_READ_LOG_SECTOR, 1,};
and modify the last line to read:
int ataReadErrorLog (int device, struct ata_smart_errorlog *data){
unsigned char buf[HDIO_DRIVE_CMD_HDR_SIZE+ATA_SMART_SEC_SIZE] =
{WIN_SMART, 0x02, SMART_READ_LOG_SECTOR, 1,};
and try running smartctl -a again.
> Is the firmware of the disk broken?
No, I doubt it.
The fact that the raw values of the Attributes appear to mostly be zero
still complies with the spec -- since the spec says that these are "vendor
specific".
The fact that the Summary SMART error log appears to contain garbage,
well, this might violate the spec. But let's see if the comprehensive
smart error log (new to ATA 6) contains some useful data. As I said,
changing 0x01 to 0x02 and rebuilding the code will check this.
Let me know if you can do this, or if you need assistance.
Thanks!
Bruce Allen
|