It's a bit of a surprise when I don't have enough processing power.

15 October 2018

Earlier this year I got back into urban hiking by taking up war walking again around home.  Not too long after that, I started picking up buzz that upcoming versions of Android are specifically not going to make it easy (or probably possible) to wardrive or war walk by changing how the wifi drivers work.  By this, I mean they're making it possible to trigger a wireless scan once every two minutes instead of whenver you ask it to.  Unsurprisingly, if you read through that ticket's comments this is going to break a lot of other applications out there, but when you're the 500 pound gorilla you can pretty much dictate terms, and to hell with what your users actually ask for.

Yeah, I'm still bitter about that.  Moving on.

So, I decided that to futureproof my war walking fun, I was going to build myself a nice little dedicated unit that would run off of a USB power brick for a couple of hours, would be as automated as possible, and I could throw into my pocket on my way out the door, come home, and pull out a flash drive with the map data on it.  I bought myself a Raspberry Pi Zero W kit off of Amazon and scrounged up the rest of the stuff I needed around the house.  I already had a tiny GPS receiver that plugs into a USB port, a tiny USB hub from an earlier project to plug everything into (because the RasPi W has only one usable USB jack, and even then you need an OTG adapter cable to do so (though there's one in that kit I linked to)), and a wireless adapter that I knew would work for wireless mapping.  Scrounging up a microSD card to put the OS on didn't take nearly as long as it did to download the latest build of Raspbian.

Assembly was about as straightforward as you might think.  I just plugged everything together, booted Raspbian, and set to work getting everything working the way I wanted.  Due to the fact that development of Kismet has picked up again I thought I'd give the new version a try.  If nothing else there are always new features to play around with.  Logging into the new RasPi on my workbench, I went through the process of checking out the source code and compiling it.  I immediately ran into a couple of problems: For starters, the RasPi Zero just doesn't have a lot of horsepower to it.  Looking at the official specs it has only one CPU and half a gig of RAM.  The compilation process ran out of memory a few times (remedied by turning off a bunch of system services and expanding the size of the swapfile) and crashed the unit a couple of times despite the heatsink on the CPU and the fan in my office.

Second, and this is the most important bit... every time I fired up Kismet it would run for a couple of seconds and then my RasPi Zero would crash.  Just locked up solid.  I tried a couple of different tricks and ways but each one resulted in a hard-locked RasPi.  So, I am forced to conclude that the Zero W isn't a good option for this sort of thing.  The RasPi 3B (4 CPUs, 1 GB RAM) or 3B+ are probably better options for such a project.  Though, after some consideration I don't think it would be a good option for building an ultra-portable Kodi media server, either.  I'd briefly entertained re-using it as a portable media box that I could take on the road with me but I'm skeptical of the notion it'll be good for that, either.

Conclusion: I'm sure the RasPi Zero has uses, but I can't think of any at this moment.