/images/avatar.png

buzzdeee

Two Weeks of OpenBSD Ports maintenance: LLVM 22 Fallout, SDR Stack Expansion, and Ruby Housekeeping

It has been a busy two weeks in the OpenBSD ports tree. Between major toolchain updates in base causing some fallout, expanding our Software Defined Radio (SDR) ecosystem, updating my repository of GNUstep app wrappers, and performing long-overdue dependency pruning for some popular web scanners, there is plenty to cover.

Here is a comprehensive breakdown of the updates, new imports, and maintenance work happened over the last fortnight.


The LLVM 22 Upgrade & GNUstep Fallout

The update of LLVM to version 22 in OpenBSD base was a fantastic milestone, but as with many major compiler jumps, it introduced a wave of stricter compilation constraints and deprecations. As the maintainer of a significant portion of our GNUstep ecosystem, I watched the build infrastructure light up with failures.

OpenBSD Ports Updating Spree: OpenVox, DFIR Tools, and Fixing Rocrail

I spent a chunk of time this week on a focused OpenBSD ports updating sprint, putting a number of other projects a bit to the side to finally tackle this overdue activity. As it usually goes, what started as a few simple bumps quickly turned into a giant domino effect of interconnected dependencies—especially in the Ruby and Python ecosystems ;)

It’s not worth listing every single minor bump explicitly, but here is a breakdown of the major updates that just hit the tree.

Zigbee Home Automation on OpenBSD: Sonoff Dongle-M and openHAB

In my previous post, we looked at sniffing Zigbee traffic using the older TI CC2531. While great for learning, it’s not the hardware you want running your actual home. The CC2531 is excellent for sniffing because it simply runs the sniffer firmware—that is what I used it for, and that is what I will keep using it for.

Following my own advice, I bought myself a Sonoff Dongle Max on eBay to act as a proper Zigbee Coordinator. In that previous post, I could only see a few Zigbee and other 802.15.4 devices from neighbors, but where is the fun in that? It got me curious and looking to get my own home automation started!

Zigbee Sniffing on OpenBSD: Diving Deeper with the TI CC2531

In my previous post, I explored using the nRF52840 nice!Nano for dual-duty BTLE and Zigbee sniffing. While the BTLE side worked like a charm, the Zigbee side remained stubbornly silent in Kismet and Wireshark.

To rule out firmware or hardware limitations, I decided to go with a classic: the Texas Instruments CC2531 USB Dongle.

The Hardware: TI CC2531

I picked up a CC2531 dongle on eBay, pre-flashed with the sniffer firmware and equipped with a “proper” external antenna. Unlike the nice!Nano, the CC2531 is a dedicated 802.15.4 radio, making it a more reliable baseline for debugging Zigbee traffic.

Tracks and Daemons: Digital Model Railroading on OpenBSD

The World in Miniature

Like many kids of my generation, I spent countless hours in the world of analog model railroading. But for me, it wasn’t just about watching a locomotive circle a loop of track. The real magic was in the creation: assembling plastic house kits, meticulously crafting terrain, and the complex “under-the-table” work of wiring up lights and electromagnetic turnouts. It was my first introduction to engineering and project management, though I didn’t know it then.

Sniffing Invisible Signals: BTLE and Zigbee on OpenBSD

In my previous posts, we’ve journeyed through the process of Bridging the Gap: Bringing Modern Kismet to OpenBSD and had some Fun with RTL-SDR on OpenBSD tracking planes and smart meters. Today, I’m diving deeper into the invisible signals surrounding us by shifting our focus to Bluetooth Low Energy (BTLE) and Zigbee.

I’ve always been curious about what IoT devices around me are actually saying “behind my back” - fitness trackers, smart lightbulbs, and even toothbrushes are constantly “advertising” their presence. In this post, we will look at how to set up a professional-grade sniffing environment on OpenBSD using both the classic Adafruit Bluefruit Sniffer (nRF51822) and the modern nRF52840 (specifically the nice!nano).