Some time ago I did some troubleshooting for a customer who was having some trouble with some devices not being able to keep a steady connection, at the beginning the customer as any of us would, blamed the Access Points or the WLAN in general. Important to mention that none of the other wireless devices were having issues, but those very specific ones, all the same model.
After months of some back and forth, we finally got a chance to do a packet analysis, since we didn't have a wireless sniffer at the moment, we used a Cisco AP, we just converted to sniffer mode and sent the traffic to my laptop.
After analyzing carefully all packets, and by comparing a normal behaving device against the faulty ones, guess what???? Packets revealed the truth.
if you haven't read the CWAP book, I highly recommend it so you can understand better what happens behind the scenes, but basically when a device connects to a BSS, the device starts testing or sending probe request to available networks advertising its support for certain data rates and some other information, the AP responds back with a Probe Response. Example if you set 1 Mbps and 12 as your minimum mandatory data rates, the AP basically would advertise that you would need to support at least 1 and 12 to be able to connect, if you were connecting with a 802.11b only device, you would fail to connect.
We compared one of the devices performing just fine, in this case an Apple computer. This is what we called normal. As you can see, the Apple device is advertising support for all 802.11b and g data rates.
This is what I found, the faulty device was sending in its probe request support for some of the 802.11g data rates but not all of them. After sending this to the vendor, they released a new driver that improved performance. So, believe it or not, a simple driver upgrade on your device can save some headaches.