From: Alexander Shaduri <ashaduri@gm...> - 2011-07-13 18:18:27
Recently I got a report that the new version of GSmartControl (Windows)
shows two drives for each actual drive in the system. Turns out
this is due to an Intel controller. The latest GSmartControl uses
"smartctl --scan-open" to get the drive list under Windows, then adds
the missing pd* entries in case --scan-open doesn't list them (usually
for USB drives, but this is not the problem here).
Motherboard: Gigabyte EP45 DS4 (with ICH10R).
The controller is set to AHCI (not IDE or RAID) in BIOS.
There is no actual RAID setup.
OS: Windows XP with Intel drivers from
/dev/sda -d ata # /dev/sda, ATA device
/dev/sdb -d ata # /dev/sdb, ATA device
/dev/sdc -d ata # /dev/sdc, ATA device
/dev/sdd -d ata # /dev/sdd, ATA device
/dev/csmi2,0 -d ata # /dev/csmi2,0, ATA device
/dev/csmi2,1 -d ata # /dev/csmi2,1, ATA device
/dev/csmi2,2 -d ata # /dev/csmi2,2, ATA device
/dev/csmi2,3 -d ata # /dev/csmi2,3, ATA device
/dev/csmi2,4 -d ata # /dev/csmi2,4, ATA device
As you can see, --scan-open lists them twice as well. Note that both
methods (e.g. sda and csmi2,1) work correctly.
Here's the device distribution:
/dev/csmi2,1: Hitachi 1
/dev/csmi2,2: Hitachi 2
/dev/csmi2,3: WD 1
/dev/csmi2,4: WD 2
pd0 (sda): Hitachi 1 (same as csmi2,1)
pd1 (sdb): Hitachi 2 (same as csmi2,2)
pd2 (sdc): WD 1 (same as csmi2,3)
pd3 (sdd): WD 2 (same as csmi2,4)
pd4 (sde): Kingston USB flash drive (no SMART)
Is there any way I can filter out the duplicates?
Thanks a lot!
On Thu, 14 Jul 2011 19:44:30 +0200
Christian Franke wrote:
> > As you can see, --scan-open lists them twice as well. Note that both
> > methods (e.g. sda and csmi2,1) work correctly.
> Do both methods support 48-bit ATA commands (e.g. -l xerror) ?
I contacted the reporter and he provided me with "-x" logs. They
are identical (and working). I'm attaching one of them.
> The problem is that the two access paths are unrelated:
> sda -> "/.//PhysicalDrive0"
> csmi2,1 -> "/.//Scsi2" CSMI Phy#1
Thanks for the explanation.
> > Is there any way I can filter out the duplicates?
> I didn't find an obvious way to do this, except using the IDENTIFY
> model+serno info to detect duplicates.
> Hmm... adding a platform independent --scan-identify doing this might
> be worth the effort.
Using your idea, I implemented this in GSmartControl and it seems
to have helped. Right now I only match the pd* serials against the the ones
with ports from --scan-open (I don't use the ordinary /dev/sd* entries from
--scan-open since they don't contain USB drives), and it seems sufficient.
Thanks a lot!