Jun 13 2020
One of my earliest covid-19 lockdown projects was doing a little work on my home wireless network. I have a fairly nice wireless access point upstairs running OpenWRT, sitting behind the piece-of-shit DSL modem-slash-wireless access point our ISP makes us use. All of our devices connect to that AP instead of the DSL modem. Let's call it Upstairs. However, the dodginess of the construction of our house being what it is (please don't ask), wireless coverage from upstairs isn't the greatest downstairs. The fix for this, conveniently, is to set up another wireless access point downstairs and connect the two in such a way that wireless devices downstairs connect to the second access point (let's call this one Downstairs), which then transparently relays the users' traffic to the Upstairs AP, and then to the public Net (or one of the machines also hanging out on Upstairs). This was a remarkably easy thing to do but it did take a little background research, which was daunting in and of itself so my goal here is to lay out a nitty-gritty, "Here's how you do this thing" process so you can do it yourself. Also, in today's political climate, this process has the potential for filling in some essential gaps in emergencies.
First, some basic assumptions that you have to make for this to work: Your wireless access points have to be dual-band - they must be capable of supporting both 2.4GHz and 5GHz networking simultaneously. This means that they have two independent radios on board. If they don't this won't work. Seriously, don't try to get clever with this. Any hackery you try to pull is going to be brittle, and you'll be inflecting upon yourself to kinetic pattern baldness needlessly. Second, it is entirely possible to extend one SSID using this technique but you don't have to. We have three related wireless networks here: Upstairs-2.4GHz, Upstairs-5GHz, and Downstairs-5GHz but you can do it differently if you want. Third, unless you're already using OpenWRT for your wireless network, this probably won't work.
This is an advanced project so you might not want to tackle this on your own if you haven't been tinkering with OpenWRT for a while; this includes being comfortable with SSHing into your access point and installing software (including the web control panel). I won't walk you through the installation process because OpenWRT already has good documentation for this. Follow it first to bootstrap your second access point-slash-wireless network extender before you start this tutorial. I'll also walk you through some of the gotchas I ran into to make life easier for everyone else. We're going to assume that you're using OpenWRT's default 192.168.0.0/24 private network layout already but if you aren't adjust the instructions as required. You do not have to be running the same version of OpenWRT on your access points. I'm running v18.06.2 on Upstairs and v19.07.2 on Downstairs.
When I built this out at home I purchased a duplicate of the access point I already have. You probably don't have to do this, but I did just to be sure I knew the make and model was solid.
For the record (and the same of my external memory) here are the instructions I used when I originally figured this out.
Nov 20 2019
This is the initial announcement of a new project pwnagotchi-bt-power (mirrored at Gitlab), a short utility written in Python which will cleanly shut down a Pwnagotchi from an Android phone over Bluetooth using the Bluedot app.
Share and enjoy!
Jul 20 2019
For a couple of years now, I've had my eye on the community of people who've had RFID or NFC chips implanted somewhere in their bodies, usually in the back of the hand. If you've ever used a badge to unlock a door at work or tapped your phone on a point-of-sale terminal to buy something, you've used one of these two technologies in your everyday life to do something useful. What I've wanted to do for a while was use an implanted chip as a second authentication factor to my servers for better security. As for why I couldn't just use something like a key fob or a card or something.. there were a bunch of reasons, most of them having to do with only being able to find what I needed in bulk or the cost being too high because the equipment was aimed at corporate IT departments, where they have a need to crank out a couple of dozen ID badges an hour. There is also the fact that, while I've been curious about various forms of body modification over the years I never really got into into them for a couple of reasons that probably aren't terribly interesting so why not do something useful?
Due to the fact that not everybody is going to be okay with me talking about an elective medical procedure, I'm going to put the rest of this article after the fold.
Jul 06 2019
I haven't actually been on vacation lately, not really. I decided that I needed to go off and do some different stuff for a while. I've been in a rut lately and decided that I needed to shuffle some stuff around. I swapped out the "writing rambling computer nerd blog posts" module for teaching myself a couple of new things and spending some of my downtime offline, curled up with cinnamon tea and a stack of books. Getting away from a screen for a while seems to have done me some good, and I'm almost back up to my old reading pace of five or six books a week. I'd all but forgotten how much dead tree books weigh after the fixed mass of a tablet for so long. The wireless router at home that I set up to replace the astoundingly shitty DSL modem-cum-wireless access point that Annoying, Trying, and Twisted insists we use is starting to act flaky, which suggests that it's reached the end of its functional life, not unexpectedly since this model tends to have overheating problems. A few weeks back I picked up a new router, a Linksys WRT 1200 AC and promptly made a few hardware modifications to it, which is to say I cracked open the case, unbolted the heat sinks, scraped the crappy thermal tape off of the chips and applied decent heatsink grease, and put the router back together. I'm considering wiring a small cooling fan onto the motherboard, maybe on one of the development ports. Lately I've flashed OpenWRT onto the unit and set up quality of service and monitoring so I can keep an eye on things. I'm still working out how to patch it into my exocortex for realtime status monitoring. From a practical standpoint I can install Python on the new router, but doing so leaves next to no room for anything else. I have to think about it some more. I do NOT want to use SNMP if I can help it.
If you thought you were going to escape computer nerd-related rambling, you were sorely mistaken.
Oct 13 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.
Jun 02 2018
It's been an interesting couple of weeks, to be sure. While lots of different things have been going on lately, none of them are related in any particularly clear or straightforward fashion, so fitting all of this stuff together is going to be a bit of a struggle. You may as well kick back with the beverage of your choice in a responsible fashion while I spin this yarn.
I suppose it all started with wardriving in northern Virginia many years ago. In a nutshell, I had loaded Windbringer up with a rather small for the time USB GPS unit, installed Kismet, put the wifi NIC into monitor mode so it would pick up frames from every access point within range, and went driving around for a couple of hours. The idea is that the software records the datestamp and GPS coordinates at which you picked up the strongest signal from a wireless access point. Rinse, repeat for as long as your power cells hold out, or as long as you care to drive, bike, walk, ski, or employ any other means of personal transportation to move around. At the time I was uploading my results to wigle.net to contribute to their crowdsourced global map of wireless coverage. Then I moved, and I seem to have accidentally tripped Wigle's bot detector (probably because I was going out for many hours at a time to cover very large areas). End result, I didn't go wardriving for a very long time.
A couple of months back I decided that I needed to get more exercise than I could get at home (which I'll probably ramble about in a later post) so I joined the local gym. Doing so gave me access to a much more broad selection of equipment to work with, and a lot more space than my office at home. There isn't much to say on that particular point other than it's been a great investment, and I spent a nontrivial amount of downtime there working out. While I haven't lost weight per se, I do seem to be trading some amount of body fat for muscle mass. I don't know how much adipose tissue I've actually lost but my clothes are getting tight against my body in different ways than before. I guess that's something.