A wireless diagnostics framework that is non-intrusive and stays out of
the way of a user is presented. In the case of a failure, prescriptive
guidance is provided and/or the framework possibly automatically fixes
the problem. The framework includes a wireless diagnostics module that
interacts with the operating system's diagnostics framework, helper
classes, and wireless components to collect and log wireless diagnostic
events and notifications, and issues queries and requests for active
diagnostics. The helper classes perform diagnosis and troubleshooting
fore their expertise areas based on the information provided by the
wireless diagnostics module. The wireless diagnostics module includes an
application program interface for communicating with helper classes, an
event listener module that provides an event tracing application program
interface to in-process modules, an active diagnostics module that issue
active packet test requests to a media specific module, and query modules
that issue information query requests to media specific modules.