Systems and methods are described for detecting and diagnosing performance
problems in wireless communications networks. Diagnostic programs execute
on a wireless device, neighboring devices, and a wireless access point to
collaborate in diagnosing network problems. The neighboring devices
eavesdrop on a diagnostic session between the device and the access point
to determine problems at the device, the access point, and in the
wireless medium. Data from the eavesdropping devices can be summarized
and sent to a network administrator for further action. The diagnostic
programs are described to contain a passive component for detecting
problems, and an active component for running the diagnostic techniques.