3.1 COM Device ID Fields

A Plug and Play COM Device shall report ID information as defined in Table 2. The first field is reserved for old serial mice and other devices that spontaneously generate characters on power-up. The next four fields and the last field are mandatory, and all other fields are optional. If optional fields are used, the Checksum field is required.

For compatibility with old serial mouse drivers, all mouse-compatible pointing devices must restrict themselves to a 6 bit character set, for all fields except the Mouse ID. Therefore, all old-mouse-compatible strings are limited to values of 0x00 to 0x3F; character strings are ASCII codes from 0x20 to 0x5F, offset by subtracting 0x20. This is indicated by the Begin PnP ID.

Table 2, Plug and Play COM Device ID Fields

Field Name

size

required

Short Description

Other ID

<17

no

reserved for short non-PnP ID (e.g. "0x4D")

May be saved or ignored by the COM Enumerator

Begin PnP

1

yes

begin PnP ID. This is "(": either 0x28 or 0x08

PnP Rev

2

yes

Plug and Play revision (e.g. 0x00,01)

EISA ID

3

yes

EISA determined unique Mfr Identifier

Product ID

4

yes

Mfr determined unique Product Identifier

Extend

1

no

"\": either 0x5C or 0x3C. see note below.

Serial Number

8

no

optional device serial number

Extend

1

no

Class Name

<33

no

Plug and Play Class Identifier (Annex C)

Extend

1

no

Driver ID

<41

no

Compatible Device IDs

Extend

1

no

User Name

<41

no

end-user legible Product Description

Checksum

2

yes, if any optional fields

8 bit arithmetic checksum of all characters from Begin PnP to End PnP inclusive, exclusive of the checksum bytes themselves, represented as a two character hexadecimal number

End PnP

1

yes

End PnP ID. This is ")": either 0x29 or 0x09


Note 1 for all optional fields, the character string begins with the Extend character "\". If an optional field is not present but subsequent fields are, that field shall be represented by a single "\" character. "\" is coded as 0x3C (6-bit characters, e.g. if this is a mouse-compatible pointing device) or 0x5C (7-bit ASCII, all other devices). If the subsequent fields are not provided, then the "\" characters may be omitted (e.g. Table 5).

Note 2 The entire length of the Plug and Play ID string and Other ID string, including all fields and delimiters, shall not exceed 256 characters. This is to minimize delays in system boot-up time.

Note 3 Values for the PNP ID fields, enclosed within the BeginPnP and EndPnP characters, should be static for a given device.