views:

64

answers:

1

I would like to know the DeviceID and PNPDeviceID format for PS/2 Mouse. On my system Device ID for PS/2 mouse is ACPI\PNP0F13\4&1F1D307&0. So is the format is ACPI\PNPxxxx{something} or some thing else? I mean is ACPI is mandatory for PS/2 mouse?

A: 

The PS/2 port is not on a bus that can discover all devices connected to it. i.e. it is not Plug-n-Play. Therefore the OS relies on the system's firmware to find all the devices that would otherwise be undiscoverable. On modern x86 systems, this mechanism is ACPI. However, older OSes such as Windows 95 used a different firmware interface called PNPBIOS to do the same thing. the PNP0F13 pnpid is a carry-over from PNPBIOS. The ACPI\ prefix is there to indicate that it was enumerated by the ACPI bus driver. The Windows driver model hides such details from the mouse driver -- it can just list the pnpid in its .inf, and get an AddDevice irrespective of what platform enumerator its device was found by.

Of course, PS/2 mice existed before ACPI and even Win95. Back when you used your mouse on DOS, the device driver just assumed the port was at a particular io or memory location, and probed those itself. Fun!

Andy Grover