Previous Next

Identifiers for SCSI Devices

The device ID format for a small computer system interface (SCSI) device is:

SCSI\t*v(8)p(16)r(4)

where t* is a device type code of variable length, v(8) is an 8-character vendor identifier, p(16) is a 16-character product identifier, and r(4) is a 4-character revision level value. The bus enumerator determines the device type by indexing an internal string table, using a numerically encoded SCSI device type code, obtained by querying the device, as shown in the following table. The remaining components are just strings returned by the device, but with special characters (including space, comma, and any nonprinting graphic) replaced with an underscore.

The ScsiPort driver currently returns the following device type strings, the first nine of which correspond to standard SCSI type codes.

SCSI Type Code Device Type Generic Type Peripheral ID
DIRECT_ACCESS_DEVICE (0) Disk GenDisk DiskPeripheral
SEQUENTIAL_ACCESS_DEVICE (1) Sequential   TapePeripheral
PRINTER_DEVICE (2) Printer GenPrinter PrinterPeripheral
PROCESSOR_DEVICE (3) Processor   OtherPeripheral
WRITE_ONCE_READ_MULTIPLE_DEVICE (4) Worm GenWorm WormPeripheral
READ_ONLY_DIRECT_ACCESS_DEVICE (5) CdRom GenCdRom CdRomPeripheral
SCANNER_DEVICE (6) Scanner GenScanner ScannerPeripheral
OPTICAL_DEVICE (7) Optical GenOptical OpticalDiskPeripheral
MEDIUM_CHANGER (8) Changer ScsiChanger MediumChangerPeripheral
COMMUNICATION_DEVICE (9) Net ScsiNet CommunicationsPeripheral
10 ASCIT8 ScsiASCIT8 ASCPrePressGraphicsPeripheral
11 ASCIT8 ScsiASCIT8 ASCPrePressGraphicsPeripheral
12 Array ScsiArray ArrayPeripheral
13 Enclosure ScsiEnclosure EnclosurePeripheral
14 RBC ScsiRBC RBCPeripheral
15 CardReader ScsiCardReader CardReaderPeripheral
16 Bridge ScsiBridge BridgePeripheral
17 Other ScsiOther OtherPeripheral

An example of a device ID for a disk drive would be:

SCSI\DiskSEAGATE_ST39102LW_______0004

There are four hardware IDs in addition to the device ID:

SCSI\t*v(8)p(16)

SCSI\t*v(8)

SCSI\v(8)p(16)r(1)

V(8)p(16)r(1)

In the third and fourth of these additional identifiers, r(1) represents just the first character of the revision identifier. These hardware IDs are illustrated by the following examples:

SCSI\DiskSEAGATE_ST39102LW_______

SCSI\DiskSEAGATE_

SCSI\DiskSEAGATE_ST39102LW_______0

SEAGATE_ST39102LW_______0

The ScsiPort driver supplies only one compatible ID, one of the variable-sized generic type codes from the preceding table.

For example, the compatible ID for a disk drive is:

GenDisk

The generic identifier is used in INF files for SCSI devices more than any other, because SCSI drivers tend to be generic. Note that ScsiPort returns no generic name at all for sequential access and “processor” devices.