Six week update as I’ve been fine tuning the WarPi
Part 1 here
The WarPi has been working well for the past six weeks but I’ve been disappointed with its performance. It still captures hundreds more networks than my two phones on the same drive, but I was expecting more. The CSV files that I was uploading were 15k to 1MB at the largest. The sample column would have a few hundred to only a few thousand for a 10 minute file (since I’m restarting Kismet every 10 minutes).
Changes I’ve made:
1.) Dropped down to one usb wifi adapter
2.) Changed to the standard Alfa adapter
3.) Stopped converting the kismet files to csvs while war driving
Converting the kismets to csv was taking too much CPU. While it was convenient to get home and have all the files ready to upload it wasn’t worth the drain on the battery and the lost network detections. Stopping this practically doubled my samples per 10 minutes.
Changing adapters and going down to just one adapter practically had no effect. It turns out the real problem was the gpsd. I’d often get some files without any GPS data, but most of my files did have GPS. The problem was that the file didn’t have much GPS data so all the samples without valid GPS data were discarded during the conversion.
Make sure your GPS is working.
If your output looks like the following then you’ve got GPS problems. It might also exit with cgps: caught signal 2
Make sure your GPS device is working. In my case I just cat the device or use gpsmon
cat /dev/ttyACM0 gpsmon /dev/ttyACM0
If you’re seeing data flowing in from the device then you may just need to restart gpsd. Mine isn’t working correctly on boot, so I’m restarting the service at boot with a script. I’m also restarting gpsd while restarting kismet every 10 minutes.
#!/bin/bash killall kismet sleep 2 systemctl restart gpsd sleep 10 ifdown eth0 sleep 5 ifup eth0 sleep 10 && kismet
Now a CSV for 10 minutes of data is 2MB to 4MB in size and contains 10k to 14k samples.
To do: Start adding more wifi adapters. Build a better carrying case.