Hello. I’m an NDIS newbie so apologies if I’m not explaining this well. I’m trying to enable wake on lan functionality for a NDIS miniport (6.40) . As as starting point I’ve enabled set the PowerManagementCapabilitiesEx of the NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES
to variations of the following
NdisZeroMemory(npmc, sizeof(NDIS_PM_CAPABILITIES));
npmc->Header.Type = NDIS_OBJECT_TYPE_DEFAULT;
npmc->Header.Revision = NDIS_PM_CAPABILITIES_REVISION_2; // NDIS 6.30
npmc->Header.Size = NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2; // NDIS 6.30
npmc->MinMagicPacketWakeUp = NdisDeviceStateD3;
npmc->MinPatternWakeUp = NdisDeviceStateD3;
npmc->MinLinkChangeWakeUp = NdisDeviceStateUnspecified;
npmc->SupportedWoLPacketPatterns = NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED | NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED;
npmc->SupportedProtocolOffloads = NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED;
And I’ve cleared the NDIS_MINIPORT_ATTRIBUTES_NO_HALT_ON_SUSPEND flag in the registration attributes per the guidance in https://community.osr.com/discussion/comment/193372#Comment_193372.
When I run !ndiskd.miniport ffffe502bef741a0 -pm it reports that none of these are set
Wake event Minimum power required
Magic packet Not supported
Bitmap pattern Not supported
Link change Not supported
Active Capabilities (OID_PM_PARAMETERS):
WoL patterns [No flags set]
Protocol offloads [No flags set]
Wake flags [No flags set]
I don’t see the Power managemnt tab in device manager. Moreover if I look at the power data via device manager’s details tab I see
Power Capabiliies
PDCAP_D0_D3_SUPPORTED
PDCAP_D3_SUPPORTED
But not for exmaple the PDCAP_WAKE_FROM_D3_SUPPORTED
In addition I’m not seeing the query for power related OIDs: Specifically OID_PM_PARAMETERS.
It feels lke the parameters I set via PowerManagementCapabilitiesEx. Can anybody see anything obviously wrong with this? And should I expect to at least see the power management tab once I’ve enabled this?