Re: smartctl 6.2 for windows, bug: reading data from wrong device?

Christian Franke <[email protected]>
Newsgroups gmane.linux.utilities.smartmontools
Message-ID <[email protected]>
Christoph Gensler wrote:
> Hello
>
> I have installed smartmontools on windows 7 ultimate 64bit yesterday. 
> Very useful, but I guess there's a bug:
>
> I have many disks attached. Besides others, there are three SATA disks 
> (F:, G: and H:), one (F:) connected to main board, and two connected 
> to an AUSS U3S6 controller. All of them are no system disks.
> Drive F was installed in january 2013, drive G is about 3 months old, 
> and drive H: was installed today, just some hours ago. (This is 
> important, so we have a criteria to distinguish them even in smart 
> selftest log lists, as you can see later on.)
>
> smartctl -i <driveX>:\ works fine on all three drives. All of them are 
> different types, and each type gets displayed properly, as expected.
>
> But smartctl -l selftest <driveX>:\ only gives back log information 
> from drive F: and drive H:, drive G: is not available - better to say: 
> requesting information on drive G: always seems to show the log from 
> drive H:!!! Remark: both of them are attached to the ASUS U3S6 
> controller.
>
> I proved:
> -- smartctl -A <drive> reports 855 power-on-hours for G: and 5 for H: 
> - both values are correct.
> -- smartctl -l selftest <drive> always reports selftest logs from 
> drive H:, even when called with drive G: Both logs are identic 1 by 1, 
> regardless of G: or H: is addressed.
> -- Starting a short selftest on H: and executing smartctl -l selftest 
> <drive> will result in displaying a running selftest on both (!) 
> drives, H: and G:, both completed with same percent value.
> -- Starting a short selftest on G: and executing smartctl -l selftest 
> <drive> will result in displaying no running selftest, neither on H: 
> nor on G:
> -- Any change in log of H: seems to be "mirrored" 1 by 1 in log from 
> G:, if you would trust smartctl -l
> -- Drive F: seems to be handled correctly any time, no weird displays 
> seen so far
>

When drive letters are used as device names, smartctl relies on the 
(undocumented) fact that Windows routes pass-through I/O controls to the 
underlying physical drive ("\\.\PhysicalDriveN") if a logical drive path 
("\\.\X:") is opened.

Using physical drives instead may work better: sda, sdb, ..., or pd0, 
pd1, ..., see man page. Try "smartctl --scan".

If a driver does not support IOCTL_ATA_PASS_THROUGH, smartctl tries 
other I/O-control as a fallback. In this case, e.g. SMART logs 
(IOCTL_SCSI_MINIPORT) may be read via a different I/O-control than SMART 
data (SMART_RCV_DRIVE_DATA). This may explain why the wrong drive is 
accessed for some functions only.

Try "smartctl -r ioctl,2 ..." for debug output. It prints the 
I/O-controls used.

Thanks,
Christian


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.