I am currently having trouble with WiFi drivers on the Raspberry Pi. I am using PiBang which is built on top of the Wheezy distribution. I have an Edimax nano USB WiFi dongle which uses rtl8192cu drivers. The drivers included in the kernel (8192cu) have been known to have issues with going into monitor mode (a feature that I need), but work very well in most cases. Furthermore, I have noticed that the kernel driver yields signal level/strength as a percentage which is completely useless to me, and they fail to provide appropriate radio header information through libpcap. The kernel drivers in 3.6.11+ and 3.10.25+ both have these issues. I tried to use an alternate driver module, rtl8192cu, which was compiled from source from the Realtek site. This driver provided signal strength in dBm (from iwlist) and I was able to get radiotap headers from libpcap. Unfortunately, this driver had some sort of flaw since the signal strength would never deviate from -35 dBm and the MAC addresses I read from packets on the network were suspicious (5 - 6 nearly identical addresses with the last hex digit changed). My only conclusion is that this driver does not work correctly. My problem comes down to this: I need to find rtl8192cu drivers that will provide signal strength in dBm and will give me access to radiotap headers through libpcap.
The Big Picture:
I am trying to use a Raspberry Pi to sniff the network and grab WiFi packets from nearby devices. These packets will be analyzed to extract signal strengths and MAC addresses. The MAC addresses will be used to identify devices and the signal strengths will be used to approximate the distance the device is from the Raspberry Pi. My code appears to work correctly on my laptop (varying signal strengths for different devices and clearly unique MAC addresses), but I can't get any useful data out of the Raspberry Pi.