Windows disk scan out of sync with ASPI disk scan

Discussion in 'Windows Vista Drivers' started by hooperbill, Mar 18, 2006.

  1. hooperbill

    hooperbill Guest

    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!
     
    hooperbill, Mar 18, 2006
    #1
    1. Advertisements

  2. hooperbill

    Ian Blake Guest

    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.
     
    Ian Blake, Mar 20, 2006
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.