Recently I got fed up with the Broadcom (bcm43xx) minipci chip that came with my notebook for it’s lack of usable native Linux drivers and having to constantly mess with ndiswrapper upgrades and fixes that I decided to buy a new Atheros based chip (AR5004X series). The chip went for $18.95 on eBay and runs at an impressive 108MBPS; it works very well with my Netgear WGT624 access point. The install was painless as all Atheros based chips seem to be. Just plug in the chip and install the madwifi drivers.
For Gentoo:
emerge net-wireless/madwifi-ng
Yey! Now I actually have monitor support!
Short from using it for basic home networking I wanted to test this baby out in the field. What better way than to go on a basic wardriving trip? — Oh wait with GPS.
I also recently purchased a Garmin SteetPilot C320 off of eBay for $85.01. It’s an older model but still preforms quite well; reception is fairly decent and it hasn’t lead me driving into a lake, yet.
The Garmin GPS Linux driver is an easy install as it is included with newer 2.6 kernels. Just cd into your kernel directory and “make menuconfig” or “genkernel –menuconfig” if you’re using Gentoo and Genkernel.
Enable the Garmin USB driver as shown below.
Device Drivers-->
USB Support–>
USB Serial Converters–>
[*] USB_Garmin
Exit the menuconfig to invoke the compile, update your grub.conf if needed. It is also wise to backup your previous kernel and config just in case something goes horribly wrong.
Reboot in to your new kernel and plug in your GPS. Run dmesg to make sure everything is working correctly.
dmesg
usb 2-2: new full speed USB device using ohci_hcd and address 2
usb 2-2: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for Garmin GPS usb/tty
garmin_gps 2-2:1.0: Garmin GPS usb/tty converter detected
usb 2-2: Garmin GPS usb/tty converter now attached to ttyUSB0
usbcore: registered new interface driver garmin_gps
drivers/usb/serial/garmin_gps.c: garmin gps driver v0.31
Note where the device has been attached to. Mine is located at /dev/ttyUSB0, but yours might be different depending on what else you have running, check and make sure.
Now to install the programs we will be needing.
gpsd
kismet
These packages are very common and are included in most default repositories, Google around to find how to install on your distribution. Make sure that the gpsd binary has USB support.
On Gentoo run:
echo "sci-geosciences/gpsd* X usb" >> /etc/portage/package.use && emerge gpsd kismet
Configure your /etc/kismet.conf file for your wireless chip and be sure to enable gps support as well as logging information.
Change your "suiduser" to your normal account name
Change your “source” to reflect your wireless chipset and device. (source=madwifi_g,wifi0,kismet) for me
Change the “gps” parameter to “true”
Finally change your “logtemplate” to save the logs where you want them, this is important as we will be using these later.
Finally start everything up and make sure it works!
Turn on your GPS, make sure it has signal, and plug it in.
gpsd -p /dev/ttyUSB0 -d localhost:2501
If you get no error continue on to starting up kismet.
If all is working right you will see your local wireless access points as well as GPS coordinates within kismet. Here’s a screenshot of Kismet/GPS from my toilet.

Notice the GPS coordinates at the bottom of kismet, if you don’t see these you have something set up wrong.
Once you’re done wardriving use “shift+Q” in Kismet to exit and save the logfiles. This is VERY important, don’t just “ctrl+c”.
Next we will download/run kismet-earth on our log files:
http://www.niquille.com/kismet-earth/
Make sure you have php compiled with xml support!
On Gentoo run:
echo "dev-lang/php* xml xmlreader xmlwriter simplexml" >> /etc/portage/package.use && emerge php
The script will output a Google Earth compatible file (kml).

You can even upload the information to Google Maps!
Feel free to download my kml file kismet-earth generated.
Click.