Gpsd on Cygwin for Kismet V0.1


This guide is a supplement to the Kismet on Windows Under Cygwin guide, and is still in Beta, if you find errors or omissions, send corrections to render (AT) renderlab (DOT) net.

For a while now it's been possible to run Kismet under windows using Cygwin. However it has not been useful for a wardriving setup because of the lack of support for getting GPS data into kismet. Gpsd would not run under Cygwin and ESR (lead developer of GPSD) has no desire at all to see it work. So with the kind donation of a patch from Goldfndr of the netstumbler forums, we can no get GPSD running under Cygwin for Kismet.

This guide requires Windows 2000/XP, a Modified Linksys WRT54G, basic networking and Linux knowledge, as well as some experience with Kismet. This guide was tested with the Cygwin v1.5.18-1 release from July 2nd 2005, Kismet release 2005-08-R1, and GPSD 2.30. Using other versions, your mileage may vary. Please send changes or bug reports for other versions.

You cannot run Kismet on Windows without Cygwin
You cannot run Kismet on Windows with *ANY* wireless card, only Kismet Drones work
Cygwin will not suddenly allow you to run all Linux software. It's capabilities are limited


This guide assumes the following:
Windows 2000/XP is installed and updated
The Linksys WRT54G router is modified according to these instructions
Administrator access to the system to be installed on
A wired network connection

Step One:


1.1 Download Cygwin setup from Cygwin.com and start the installer.

1.2 Follow the instructions and install the default system (I have neither the time nor the interest to figure out exactly what's needed, however, I will note packages I know are needed). Warning: This can end up taking of a couple gig on your drive. Feel free to figure out what isn't needed and let me know.

1.3 Under Development, add the following packages to be installed:
gcc
libtool
make

Under libs, add the following:
libncures
libncurses-devel

Under Utils, add the following:
patch
patch-utils
tzcode time

1.4 Let the installer do it's thing until Cygwin is installed

1.5 Start Cygwin and once you get a prompt type the following to setup cygwin so the compiler can see your local windows users:

mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group

Step Two:


2.1 Download the GPSD 2.30 tarball from Here and the patch from Here

2.2 Untar the GPSD tarball with the following:

tar -zxvf gpsd-2.30.tar.gz

then copy the cygwin-2.diff file into the newly created gpsd-2.30 directory

cp cygwin-2.diff gpsd-2.30

2.3 Now we need to patch the GPSD source so that Cygwin can compile. Switch into the gpsd directory and patch the source:

cd gpsd-2.30
patch < cygwin-2.diff

You should see the following, if you don't try again from the beginning:

patching file configure
patching file gpsd.h
patching file serial.c
patching file sirfmon.c

Now we can start compiling GPSD with:

./configure
make
make install

Provided you have installed all the packages nessecary, GPSD should compile with a minimal amount of complaining.

Step Three:

3.1 Depending on your GPS reciever, there may be some changes nessecary to running GPSD. However with my limited testing, I've found you should be able to get by with just the following:

./gpsd /dev/comX

Where 'X' is the number of the com port your reciever is hooked up to (com1, com2, etc).

3.2 Provided your reciever is outputting NMEA sentences and has a fix, you can test GPSD quickly through telnet:

telnet localhost 2947
Once connected, type 'r' for raw mode

You should be seeing GPS NMEA strings go flying by. If you don't, double check your reciever and port.

Step Four:

Provided GPSD is reading the strings, there should be no major changes required to Kismet to get it to work. Just make sure that the kismet.conf file is setup to use a GPS (it is by default), and make sure GPSD is running before you start Kismet and you should see the coordinates on the screen.

Impressions/Conclusions/Errata

This patch and how-to is specific to GPSD v2.30. It will probobly not work on furure versions, however it's enough for our purposes and should be a viable solution for a while.

If you want to use the GPS across multiple programs (i.e. Netstumbler, Kismet and 'Streets and Trips'), I highly recommend spending the ~$30 on a piece of windows software called GPSgate. It does a fantastic job of replicating GPS data into multiple virtual com ports for use by different applications. It's GPS simulator can also be useful for indoor testing when you can't get GPS signal.

This patch is provided as is and has no guarantee of working. This guide will be updated when new information becomes available, but it's only a guide, you might have to do some hacking of your own to get it to run on your specific setup.

Many thanks to Goldfndr for the work on the patch to make this all possible. All credit should go to him.


Sources:

Most of this guide comes from my own research and This thread at the Netstumbler forums


This Guide also available at The Church Of Wifi


Return to Main