Windows Mobile 6.5 Wi-Fi Power Saving Modes

Windows Mobile 6.5 managed Wi-Fi power consumption through an integrated architecture combining the core Windows CE Power Manager, NDIS (Network Driver Interface Specification) miniport drivers, and IEEE 802.11 power-saving protocols. By coordinating hardware sleep states, user-configurable performance profiles, and active traffic monitoring, the operating system dynamically shifted wireless adapters between high-throughput and low-power states to preserve battery life on resource-constrained handheld devices.

Power Manager and NDIS Device States

At the core of the power-handling architecture was the Windows CE Power Manager, which assigned predefined device power states (D0 through D4) to the Wi-Fi adapter:

  • D0 (Full Power): The Wi-Fi adapter is fully powered, actively transmitting and receiving data.
  • D1/D2 (Low Power/Standby): Intermediate states where the radio's baseband remains partially powered or maintains its association with the access point while turning off the transmitter.
  • D3/D4 (Sleep/Off): The radio is powered down completely, tearing down the active Layer 2 association to conserve the maximum amount of energy.

The Power Manager communicated these state transitions to the Wi-Fi hardware via NDIS 5.1 miniport drivers using Object Identifiers (OIDs), such as OID_PNP_SET_POWER. When the operating system entered an idle condition, the Power Manager signaled the driver to scale down the hardware state.

802.11 Power Save Protocol Implementation

Windows Mobile 6.5 implemented standard IEEE 802.11 Power Save (PS) mechanisms, specifically alternating between Constantly Awake Mode (CAM) and Power Save Polling (PSP):

  • Constantly Awake Mode (CAM): The radio remains powered continuously, delivering the lowest latency and highest throughput at the cost of high battery drain.
  • Power Save Polling (PSP): The Wi-Fi radio enters a low-power sleep state and periodically wakes up to listen for the Access Point’s (AP) Beacon frames containing the Traffic Indication Map (TIM) or Delivery Traffic Indication Message (DTIM). If the TIM indicates buffered data for the device, the adapter requests the packets via a PS-Poll frame and returns to sleep once the transmission completes.
  • Fast PSP: Many Windows Mobile 6.5 hardware drivers implemented a hybrid mode. The radio remained in CAM while actively transmitting bursts of data, then transitioned to PSP after a short inactivity threshold (typically a few hundred milliseconds) to conserve power during gaps in network activity.

User Profiles and Power Sliders

Windows Mobile 6.5 exposed Wi-Fi power settings to end users via a graphical slider located in the Wi-Fi network settings utility. This slider typically provided three to five increments ranging from "Best Performance" to "Best Battery":

  • Best Performance: Forced the driver into CAM mode or set high sleep-delay thresholds, prioritizing continuous connection and low latency.
  • Balanced/Default: Enabled Fast PSP, allowing the adapter to shift dynamically between sleep and wake cycles based on real-time packet throughput.
  • Best Battery: Configured the adapter to adopt aggressive PSP behavior, maximizing sleep intervals and strictly aligning wake periods to higher DTIM intervals at the expense of network responsiveness.

These user-selected levels directly modified registry entries (usually located under [HKLM\Comm\<AdapterName>\Parms]), which the vendor miniport driver read to set internal hardware timers and power profiles.

Behavior During Device Suspension

By default, when a Windows Mobile 6.5 device entered the system suspend state (screen turned off and CPU dropped to low-power sleep), the operating system severed active Wi-Fi connections to prevent the radio from draining the battery.

However, Windows Mobile 6.5 supported an "Unattended Mode." If an application such as ActiveSync (utilizing Direct Push) or a VoIP client required continuous connectivity, the application requested an execution state that prevented full suspension. In these scenarios, the Power Manager kept the Wi-Fi adapter in a low-power, associated D2 state, allowing the radio to process background keep-alive packets and wake the main application processor only when incoming application data arrived.