none
Disk showing up as "Other device" instead of Disk device RRS feed

  • Question

  • I'm working on a storport miniport driver for a virtio storage device.  On install my driver gets loaded as a storage controller per the inf file I have created.  Sometime while going through the initialization routines (DriverEntry, FindAdapter, HwInitialize, etc) a new device gets created in the device manager which I believe *should* be a disk device (as opposed to the controller).  However, it is showing up as an "other device".  The deviceType and deviceClassGUID are missing from the properties-> details tab and the Properties -> general tab shows the device type as "Unknown."  Which field in the configInfo or some other InquiryData or queryConfiguration request am I neglecting to fill out correctly?

    Thanks so much for the help!

    Wednesday, May 11, 2016 12:53 AM

Answers

  • Thank you for the pointer!  I've been able to fix the issue.  Explanation below, for reference.

    I took a look at the compatible Ids, which were listed as "SCSI\Disk" and "SCSI\RAW".  That looked like it checked out.

    I knew the hardwareIds were based on the values I specified in the standard inquiry response (SRB_FUNCTION_EXECUTE_SCSI, SCSIOP_INQUIRY, EnableVitalProductData = 0), specifically the productId, and vendorId, fields.  I went in to change them to something generic like "MyVendor" and "MyProduct" to post the output here, and lo and behold, the device now showed up as Disk drive!  After some more experimenting, it appears that some inputs for the productId change whether the device shows up in Other devices or shows up in Disk drives.  If I set a value of only six characters, it doesn't work, but if it's eight characters, then it's fine.  I suspect this has to do with the left alignment of that field per the scsi manual, though it seems odd   At any rate, it's working now, so thank you!

    Wednesday, May 11, 2016 8:31 PM

All replies

  • what hardware and compatible IDs are assigned to the device? you get a device class guid when you have a match to hwid in an INF, so the hw and compat IDs are the first breadcrumb you can use to see what is going wrong

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, May 11, 2016 2:31 AM
  • Thank you for the pointer!  I've been able to fix the issue.  Explanation below, for reference.

    I took a look at the compatible Ids, which were listed as "SCSI\Disk" and "SCSI\RAW".  That looked like it checked out.

    I knew the hardwareIds were based on the values I specified in the standard inquiry response (SRB_FUNCTION_EXECUTE_SCSI, SCSIOP_INQUIRY, EnableVitalProductData = 0), specifically the productId, and vendorId, fields.  I went in to change them to something generic like "MyVendor" and "MyProduct" to post the output here, and lo and behold, the device now showed up as Disk drive!  After some more experimenting, it appears that some inputs for the productId change whether the device shows up in Other devices or shows up in Disk drives.  If I set a value of only six characters, it doesn't work, but if it's eight characters, then it's fine.  I suspect this has to do with the left alignment of that field per the scsi manual, though it seems odd   At any rate, it's working now, so thank you!

    Wednesday, May 11, 2016 8:31 PM