Kismet Wireless

Kismet Forums


Posted by:stomponthis
Subject:mac80211 driver + 802.11n
Date:01:20:30 18/10/2010

> So I made some progress..
> I noticed in a capture file that the bad packets had a bad checksum, so I tried to enable valdiation in kismet by configurting the ncsource as follows:
> ncsource=wlan0:name=ath9k,hop=true,validatefcs=true
> However, this caused me to receive no networks. It seemed every packet was failing the checksum. I took a pcap file and ran it on my desktop in the same way and it worked, which made me think it was an endian problem.
> Sure enough, I noticed the crc function is called "crc32_le_80211()" (little endian).
> I edited, added #include <asm/byteorder.h>.
> Everywhere that crc32_le_80211() is called, I wrap it in __le32_to_cpu();
> Now with validatefcs turned on, Kismet sees valid packets.
> This seems to fix the problem for me. As best as I can tell, the ath9k driver in monitor mode sends along packets that fail their checksum, which is weird. It might be a bug in their driver code, since they have a special mode to enable fcs failing packets ("iw wlan0 set monitor fcsfail").

Hey Cutter,

Been following your posts about the ath9k driver. Very interested in the progress you have made, as I am still getting corrupt frames. Have tried to edit the kismet source as per your information. Unfortunately my programming skills are very limited. I am a bit confused on how to "wrap" the crc32_le_80211().

Would be awesome if you could dump you edited file.

Regards Tom

Reply to this message