Linux + gpsd + kismet + gpsdrive + HPDV9210 = fun
Ubuntu happens to be one of the best Linux distributions available, in my opinion. It has many different releases for whichever window manager you like. Ubuntu provides the Gnome graphical interface, Kubuntu provides the KDE graphical interface, xubuntu uses xfce, the list goes on and on. Ive even seen a security based Ubuntu distribution. Recently acquired a laptop that was running Windows Vista, and decided that I wanted to get Linux up and running on this system.
The laptop I acquired is a HP DV9210 (revision of the DV9000). I was worried about getting the Broadcom wireless working in linux but after some research I was pleasantly surprised to find out that Broadcom was semi-working in linux now, even without ndiswrapper.
Just a side note, if you want to go wardriving with software like Kismet, you cannot use the ndiswrapper package. The windows drivers which the wrapper uses doesn’t support rfmon.
Anyways, bluetooth worked as well, although I don’t have any bluetooth devices that I can use with my laptop. The only thing I wasn’t able to get working was the built in webcam which I never used anyways.
First things first, I downloaded and burned a copy of the Ubuntu Fiesty Fawn dvd. I didn’t choose the x86_64 edition because I’ve had problems before with hardware support on x86_64.
I then went into the hardware management in windows vista and was able to shrink the main windows vista partition. It offered ~30 gigs, I chose to use 20 gigs.
I then booted up dvd and tried the default settings, which crashed on bootup. After some searching around on google, I found out that there is a bug .. blah blah blah (if you want to know all of the technical information search it yourself). The system had to be started with the command:
linux noapic
That fixed my booting problems. I proceeded with the install. There is a good tutorial over at HowToForge for setting up a perfect Ubuntu system. If you don’t know how to install linux I suggest having a peak at that.
After booting up for the first time I did all of the updates that were available. I then went to the System menu, then to Administration, then to Restricted Drivers Manager and enabled the nVidia drivers to get 1440×900 screen resolution. This will also allow you to play games. A reboot was required to have this take effect.
After rebooting I went searching around UbuntuForums and found the needed drivers to get the Broadcom 43XX wireless network card working. You can download bcm43xxfirmware.tar.gz here. Uncompress the files and run the installbcm43xx.sh from a console window. This will copy the required files to make the Broadcom 43xx wireless start up. I then rebooted again, and was able to setup my wireless network and get online. My only main concern was the speed of the network connection. It wasn’t all that blazing fast, but it was enough to browse, and wardrive with.
Now that I had everything up and running I wanted to go wardriving and was reading around on the internet. Most people use Garmin gps systems, which are rather expensive. My dad bought a copy of Microsoft Streets and Trips, which came with a Pharos GPS-360 P/N 360-1000-02 usb based gps unit. He wasn’t using it anymore, so I decided to plug it in and see if it worked.
When the GPS device got plugged in the blue LED turned on indicating it was at least getting power, so it at least still worked. I then checked dmesg and was quite surprised.
[160240.244000] usb 2-7: new full speed USB device using ohci_hcd and address 3
[160240.468000] usb 2-7: configuration #1 chosen from 1 choice
[160240.468000] pl2303 2-7:1.0: pl2303 converter detected
[160240.468000] usb 2-7: pl2303 converter now attached to ttyUSB0
It appeared to be working! I installed a couple packages so I could go wardriving:
gpsd: apt-get install gpsd
kismet: apt-get install kismet
gpsdrive: apt-get install gpsdrive
It was quite easy to make everything interact together. Kismet was really easy to configure but I am going to include a copy of my configuration file. You will obviously want to change a line or 2.
version=2005.06.R1
servername=Kismet
source=bcm43xx,eth1,broadcom
channelhop=true
channelvelocity=5
channelsplit=true
defaultchannels=IEEE80211b:1,6,11,2,7,3,8,4,9,5,10
defaultchannels=IEEE80211g:1,6,11,2,7,3,8,4,9,5,10
defaultchannels=IEEE80211a:36,40,44,48,52,56,60,64
defaultchannels=IEEE80211ab:1,6,11,2,7,3,8,4,9,5,10,36,40,44,48,52,56,60,64
tcpport=2501
allowedhosts=127.0.0.1
bindaddress=127.0.0.1
maxclients=5
gps=true
gpshost=localhost:2947
gpsmodelock=false
alert=NETSTUMBLER,10/min,1/sec
alert=WELLENREITER,10/min,1/sec
alert=LUCENTTEST,10/min,1/sec
alert=DEAUTHFLOOD,10/min,2/sec
alert=BCASTDISCON,10/min,2/sec
alert=CHANCHANGE,5/min,1/sec
alert=AIRJACKSSID,5/min,1/sec
alert=PROBENOJOIN,10/min,1/sec
alert=DISASSOCTRAFFIC,10/min,1/sec
alert=NULLPROBERESP,10/min,1/sec
alert=BSSTIMESTAMP,10/min,1/sec
allowkeytransmit=true
writeinterval=120
sound=false
soundplay=/usr/bin/play
sound_new=//usr/share/kismet/wav/new_network.wav
sound_traffic=//usr/share/kismet/wav/traffic.wav
sound_junktraffic=//usr/share/kismet/wav/junk_traffic.wav
sound_alert=//usr/share/kismet/wav/alert.wav
speech=false
festival=/usr/bin/festival
flite=false
speech_type=nato
speech_encrypted=New network detected, s.s.i.d. %s, channel %c, network encrypted.
speech_unencrypted=New network detected, s.s.i.d. %s, channel %c, network open.
ap_manuf=ap_manuf
client_manuf=client_manuf
metric=false
waypoints=true
waypointdata=%h/.gpsdrive/way.txt
waypoint_essid=true
alertbacklog=50
logtypes=dump,network,csv,xml,weak,gps
trackprobenets=true
noiselog=false
corruptlog=true
beaconlog=true
phylog=true
mangledatalog=true
fuzzycrypt=wtapfile,wlanng,wlanng_legacy,wlanng_avs,hostap,wlanng_wext,ipw2200,ipw2915
netfuzzycrypt=true
dumptype=wiretap
dumplimit=0
logdefault=Kismet
logtemplate=/home/jason/kismet/%n-%d-%i.%l
piddir=/var/run/
configdir=/var/lib/kismet/
ssidmap=ssid_map
groupmap=group_map
ipmap=ip_map
gpsd didn’t need any configuration. I started it up with the following command line:
gpsd -p /dev/ttyUSB0
After starting up gpsd, I started up gpsdrive, downloaded a map of my area and went out.
When I am all done and I want to see my results I use kismet-earth to convert the kismet logs to .kml files that can be read within google maps. There is a utility called gpsmap which generates a map with all of the AP’s however it wouldn’t find any maps for my area.








