OID_WWAN_RADIO_STATE
OID_WWAN_RADIO_STATE sets or returns information about a MB device's radio power state.
Miniport drivers must process set and query requests asynchronously, initially returning NDIS_STATUS_INDICATION_REQUIRED to the original request, and later sending an NDIS_STATUS_WWAN_RADIO_STATE status notification containing an NDIS_WWAN_RADIO_STATE structure that indicates the MB device's current radio power state regardless of completing set or query requests.
Callers requesting to set the MB device's radio power state provide an NDIS_WWAN_SET_RADIO_STATE structure to the miniport driver with the appropriate information.
Remarks
For more information about using this OID, see MB Radio State.
Miniport drivers should not access the provider network, or the Subscriber Identity Module (SIM card), when processing query or set operations.
Miniport drivers must retain software radio power states across system restart or device removal and reinsertion. Miniport drivers should store the device's software radio information and use it for setting the device software radio power state immediately on each restart or reinsertion of device. The effective radio power state of the device is decided based on combination of software and hardware radio power state as per the table in WWAN_RADIO_STATE.
If the value is WwanRadioOn, miniport drivers must turn on the radio power and set the RadioState.SwRadioState member of the WWAN_RADIO_STATE structure to WwanRadioOn. If the RadioState.HwRadioState member was WwanRadioOff, miniport drivers should cache this power state information and ensure to physically turn on the radio power state when RadioState.HwRadioState changes to WwanRadioOn.
If the value is WwanRadioOff, miniport drivers must turn off the radio power state and set the RadioState.SwRadioState member to WwanRadioOff.
Refer to the following table for the expected radio state programming by miniport drivers.
Valid Combinations for PIN Mode and PIN State
HwRadioState value | SwRadioState value | Overall radio power state |
---|---|---|
WwanRadioOff |
WwanRadioOff |
WwanRadioOff |
WwanRadioOff |
WwanRadioOn |
WwanRadioOff |
WwanRadioOn |
WwanRadioOff |
WwanRadioOff |
WwanRadioOn |
WwanRadioOn |
WwanRadioOn |
For devices that do not provide a hardware radio power switch, the RadioState.HwRadioState member of the NDIS_WWAN_RADIO_STATE structure must always be set to WwanRadioOn.
Starting in Windows 10, version 1703, OID_WWAN_RADIO_STATE has additional specifications for how a multi-executor supported modem should handle radio state configuration from the OS.
With a multi-executor supported modem, there are power benefits to configuring radio power state per executor. When an executor’s radio is turned off, the OS expects the modem to de-register from the network and does not attempt any scanning or location updates from it. The modem should support a radio state for each executor that it advertises to the OS so it can determine the hardware power state in which it should be.
As an example, if the modem has two executors and one of the executors' radio is off while the other is on, then the modem may keep the RF front end powered on to maintain registration on the executor whose radio is on but does not need to do scanning/pinging/location updates or other cellular services for the executor that is turned off. If both radios are turned off, the modem can turn off its RF front end and bring the overall hardware to a lower power state. The implementation specifics are left to each IHV.
Requirements
Version |
Available in Windows 7 and later versions of Windows. |
Header |
Ntddndis.h (include Ndis.h) |