Tech Support > Microsoft Windows > Drivers > Windows disk scan out of sync with ASPI disk scan
Windows disk scan out of sync with ASPI disk scan
Posted by hooperbill on March 18th, 2006


I have encountered a problem on a system where I cannot access disks
via the ASPI driver. The problem appears to be in how windows and aspi
map hba ids. For example, I scan for disks as \\.\PHYSICALDRIVEn and I
get the list...

\\.\PHYSICALDRIVE0 PortNumber 2, PathId 0, TargetId 0, Lun 0
\\.\PHYSICALDRIVE1 PortNumber 3, PathId 0, TargetId 3, Lun 0
\\.\PHYSICALDRIVE2 PortNumber 3, PathId 0, TargetId 6, Lun 0
\\.\PHYSICALDRIVE3 PortNumber 4, PathId 0, TargetId 3, Lun 0
\\.\PHYSICALDRIVE4 PortNumber 4, PathId 0, TargetId 6, Lun 0

I then scan via aspi and I get the following...

Host adapter 2 (16) SYMMPI
Direct access storage device LSILOGIC1030 IM 100 HaId 2 Target
0 LUN 0
Processor device IBM 25P3495a S320 11 HaId 2 Target 8 LUN 0
Host adapter 3 (16) SYMMPI
Unknown device IBM DUMMY DEVICE 4.8 HaId 3 Target 0 LUN 0
Host adapter 4 (16) ELXSLI2
Direct access storage device HP 18.2GST318451FC HP0 HaId 4 Target
3 LUN 0
Direct access storage device HP 18.2GST318451FC HP0 HaId 4 Target
6 LUN 0
Host adapter 5 (16) ELXSLI2
Direct access storage device HP 18.2GST318451FC HP0 HaId 5 Target
3 LUN 0
Direct access storage device HP 18.2GST318451FC HP0 HaId 5 Target
6 LUN 0

The HBA id in the windows scan is one off the HBA id in the aspi scan.
When I use IOCTL_SCSI_GET_ADDRESS on \\.\PHYSICALDRIVEn it doesn't map
what ASPI is expecting.

Any ideas or help?

Thanks!

Posted by Ian Blake on March 20th, 2006


On 17 Mar 2006 17:21:13 -0800, "hooperbill" <bill.hooper@comcast.net>
wrote:

-snip-
Expecting two seperately authored enumerations of the system resources
to match is a big assumption. ASPI is not part of windows it is a
third party (Adaptec) product. This has never enumerated scsi
devices in a way compatible with the windows drivers (Not even
Windows 95). IOCTL_SCSI_GET_ADDRESS is an obsolete ioctl from windows
NT, from the days when the scsi address mattered avove port level.

Just use IOCTL_SCSI_PASS_THROUGH(_DIRECT) and do not worry about scsi
addresses they are filled in for you by the port driver. You will
also get the bonus of finding your software will also work with
devices on usb, firewire and other exotic buses as well as well
behaved scsi and atapi devices.


Similar Posts