Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Power management tab for an network driver

15 views
Skip to first unread message

Manfred Kunz

unread,
May 27, 2002, 10:34:29 AM5/27/02
to
Hi,
I'm implementing power management in an ndis 5.0 miniport
driver. Under the properties of my device I don't get the
power management tab. Does W2K require any other things
than a response to the OID_PNP_CAPABILITIES? Does it also
read in the PCI config space?

Maxim S. Shatskih

unread,
May 27, 2002, 2:54:50 PM5/27/02
to
> power management tab. Does W2K require any other things
> than a response to the OID_PNP_CAPABILITIES?

Yes, some WMI facilities must be supported for this tab to appear
(BTW - are they documented in the DDK?).
This tab does not send power IRPs. It sends WMI queries which must
change some parameters inside your driver, and they - in turn - will
change the power IRP handling by your driver.

> Does it also read in the PCI config space?

w2k surely reads it, but this tab has nothing to do with PCI config
space.

Max

Stephan Wolf

unread,
May 28, 2002, 2:23:24 AM5/28/02
to
The Power Management tab appears if the GUIDs GUID_POWER_DEVICE_ENABLE
and GUID_POWER_DEVICE_WAKE_ENABLE are supported for a device, see

http://msdn.microsoft.com/library/default.asp
-> "Windows Development"
-> "Driver Development Kit"
-> "Kernel-Mode Driver Architecture"
-> "Design Guide"
-> "Windows Management Instrumentation"
-> "WMI Property Sheets"
-> "WMI and the Power Management Tab"

(currently points to
http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/wmi_884n.asp)

However, I think NDIS Miniports do not have to directly support these
GUIDs. Instead, a Miniport only needs to support the OID_PNP_xxx OIDs,
which NDIS then maps to the corresponding WMI GUIDs.

See also

"Power Management for Network Devices"
http://www.microsoft.com/hwdev/tech/network/netpm.asp

HTH, Stephan
---

Eliyas Yakub

unread,
May 28, 2002, 2:03:25 PM5/28/02
to
Stephan is correct. These WMI requests are handled by NDIS on behalf of the
miniport, but just responding to OID_PNP_xxx OIDs is not enough. Your device
should be capable of supporting power management. NDIS finds out by looking
at the power capabilities (DEVICE_CAPABILITIES) reported by the PCI bus
driver. If the bus driver reports (DeviceCaps->DeviceWake ==
PowerDeviceUnspecified) && (DeviceCaps->SystemWake ==
PowerSystemUnspecified)) then your device is not capable of wait-waking the
system. NDIS sends a OID_PNP_CAPABILITIES to miniport only if the device is
capable of wait-waking the system from bus driver perspective. Well, how
does the PCI bus driver find out that? For that, you need to read the PCI
Power management spec.

After your miniport responds to OID_PNP_CAPABILITIES, NDIS does some more
sanity checking of the power states reported by your driver and the S-D
states reported by the bus and finally comes to decision whether it can show
the tab or not.

Turn on Power request debug tracing in NDIS and you will see all the
S-states and D-states of the device.

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


"Stephan Wolf" <ste...@hotmail.com> wrote in message
news:3cf31e48...@news.t-online.de...

Manfred Kunz

unread,
Jun 10, 2002, 4:55:13 AM6/10/02
to
Maxim,

you are wrong. As I found out it surely has to do with the
pci config space. For details read my reply and the mail
of Eliyas.

Manfred

>.
>

Manfred Kunz

unread,
Jun 10, 2002, 5:34:39 AM6/10/02
to
thanks a lot for your response. I had already implemented
the handling of all the OID_PNP_xxx OIDs and the tab did
not appear. I found the same solution as your suggested
solution some hours after I posted my question in the
newsgroup. I changed our device eprom to write the proper
capabilities in the Power Management Capabilities(PMC)
register of the PCI config space and then the tab
appeared. The description of the handling of the PM
capabilities, status and control registers can be found in
the PCI Bus PowerManagement Interface Specification.

Thanks Manfred

>.
>

0 new messages