A system and method for concurrent WLAN and WPAN wireless modes from a
single device is presented. A client uses a Wi-Fi device's infrastructure
mode to communicate in a WLAN environment and, during idle WLAN times,
uses the Wi-Fi device's adhoc mode to communicate in a WPAN environment.
The Wi-Fi device uses a watchdog timer to switch between infrastructure
mode and adhoc mode. When the client's Wi-Fi device switches to
infrastructure mode, the client's Wi-Fi device uses an infrastructure
register and an infrastructure device driver to transfer data over the
WLAN environment. Likewise, when the client's Wi-Fi device switches to
adhoc mode, the client's Wi-Fi device uses an adhoc register and an adhoc
device driver to transfer data over the WLAN environment. The client uses
a code shim to act as a virtual device driver at times when either the
infrastructure device driver or the adhoc device driver is inactive.