PRB: Monitors Not Detected Correctly

Symptoms

Monitors are not detected correctly after the installation of video drivers when the monitor does not have an Inbox INF file.

Cause

This is a known issue in Microsoft Windows 2000. When there is no Inbox INF file present for the monitors during the installation of the video drivers, the monitors are reported to have a problem in the Device Manager with Code 28. This problem occurs because the Setup engine installs a NULL driver for the monitors when it does not find an INF file. Ideally, the Setup program should use the compatible ID for the monitors and install them correctly.

Resolution

To work around this problem in Microsoft Windows 2000 either:
  • Update the monitor driver from the Device Manager Property page.

    -or-
  • Update the monitor driver programmatically by using the UpdateDriverForPlugAndPlayDevices API. For more information about using the API, refer to the Microsoft Windows 2000 Device Driver Kit (DDK) documentation.

More Information

The problem occurs when you install video drivers on a system that does not have an Inbox INF file for the monitors that are connected to it. The behavior that you expect is for the PnP Manager to pick up the Compatible ID of *PNP09FF, which corresponds to "Plug and Play Monitor" from the Monitor.inf file, and then install the monitor correctly without reporting a problem. This behavior is immaterial of the video driver reporting a good Extended Identification Data (EDID) or a bad EDID through the HwVidGetVideoChildDescriptor function it implements for the child devices. This is seen as a warning message box with Code 28 in the Device Manager with one of the capability flags for the monitor device set as CM_PROB_FAILED_INSTALLED. The SetupAPI log shows that the PnP Manager has installed a "NULL driver" for this particular device. Setup does this in situations where the devnode has been marked with RawDeviceOK and SilentInstall capabilities, which is the case for monitors.


The behavior described in the preceding paragraph also depends on the way the video driver is installed. Consider the following two scenarios, where you observe the failure in one case, and a successful installation in the other:

  • Scenario 1

    Install the video drivers with the video driver started. In this case the monitors are not detected properly. Note that a restart prompt did not appear after the installation of the video drivers. This is the situation that was described previously. When you start the Video device, the installation code checks to see if it has any children (monitors here) that are marked with the capabilities of RAW and SILENT. If true, it installs the NULL driver upon finding no suitable hardware ID match. This results in the warning message.
  • Scenario 2

    Install the video drivers with the video device not started. In this case, the system provides a restart prompt. The video device has been started after the computer was restarted, and the monitors are detected correctly as "Plug And Play Monitors". In this case, when you restart the computer, the monitor is installed by the server side device installer code, which has different logic than the client side installer (that checked for raw and silent capabilities as in Scenario 1). The server side installer finds the best rank matching id assuming it is digitally signed and uses that. It does not perform a check for the SILENT or RAW behavior like the client side. The Upgrade Wizard follows a different path than the RAW or SILENT capability detection. This server side install then finds the correct compatible ID match of *PNP09FF for the monitors that are not listed in Inbox, and you then see "Plug and Play Monitor" listed correctly in the Device Manager.

References

Windows 2000 DDK Documentation
Propriedades

ID do Artigo: 295296 - Última Revisão: 12 de fev de 2007 - Revisão: 1

Comentários