Tuesday, August 02, 2005

Correction: Programatically Turning the Pocket PC WLAN Adapter On and Off

It turns out that this code posted on Thursday, May 12, 2005, really only binds or unbinds the WiFi adapter. It does not realiably turn off the radio on most devices. Sorry for any inconveniences this may have caused.

It turns out that programatically controlling the WiFi radio on PocketPC devices is a bit of a Holy Grail. Each device manufacturer implements its own 802.11 miniport driver, and it's up to them how (and often whether) to implement the various 80211 IOCTLs. In many cases, the power control IOCTLs are not implemented. So using DeviceIoControl, or the power manager APIs in Windows CE, frequently do not work as expected.

So now here's my question to our friends at Microsoft. Given that power management is so crucial to Windows Mobile programming, and considering that WiFi is so prevalent today, why can't stricter requirements be imposed on the device manufacturers to support the power management functionality defined in the 802.11 specifications?