raspberry pi

Exploring WiFi 7 (at 2 Gbps) on a Raspberry Pi 5

Raspberry Pi 5 with Waveshare WiFi HAT+

Last time I seriously dug into 6 GHz WiFi was with 6E on a Raspberry Pi CM4 with Intel's AX210 card, in 2023.

Back then—and even up until recently—using WiFi 6E or WiFi 7 on a Raspberry Pi meant recompiling Linux, as the iwlwifi Linux drivers weren't included with the default Pi OS install.

But recently, the Intel WiFi drivers were added by default, and now all that's required is loading in the right firmware.

Windows 11 Arm VMs on a Raspberry Pi, with BVM

With the release of a Windows 11 for Arm ISO, it's easier than ever to get an officially-supported install of Windows on many different Arm PCs—now including a Raspberry Pi.

The Windows on R seems like it has run out of steam, as many open source initiatives do, after years of being bludgeoned with support requests being the only way to really get Windows going on a Pi.

But GitHub user (and high-schooler) Botspot just emailed me his BVM project, short for 'Botspot Virtual Machine'.

BVM installing Windows 11 on a Raspberry Pi

Progress on Intel and Nvidia GPUs on Raspberry Pi

GPUs Intel Arc B580 next to Raspberry Pi 5

Nvidia GPUs have been running fine on Arm for a while now—I just upgraded the System76 Thelio Astra to an RTX 4080 Super and am testing it now.

But Nvidia seems to have a partnership with Ampere, which probably leads to their drivers getting priority support, and likely a few special edge cases in code to work around a couple PCIe quirks on the Altra CPUs. Nvidia also builds their own Arm CPUs—a lot of them—so Arm support is definitely a priority for them.

NUT on my Pi, so my servers don't die

NUT Pi in Rack

A few weeks ago, power went out for the first time in my studio space, and that meant all my servers just had power cut with no safe shutdown.

Handling power outages is never a top priority... until it's the only priority! And by then it's usually too late! Luckily for me, no data was lost, and my servers all came back up safely.

This week the power company emailed and said they'd be cutting power for maintenance next week, but they don't have an exact time. So it's even more excuse to finally set up NUT on a Pi!

Benchmarking multiple network interfaces at once in Linux with iperf3

Recently, I've been working on a Pi router build with multiple 2.5 Gbps Ethernet ports using Radxa's Dual 2.5G Router HAT.

I wanted a simple way to check on total network TCP throughput using both interfaces (or really, as many interfaces as possible) to multiple computers on my network, and I noticed iperf3's --bind option (like --bind [ip address of interface]) was not splitting the traffic on both interfaces—it would just route all traffic through one!

Luckily, I found the issue Failing to bind to interface when multiple interfaces are present, and in it, @bmah888 mentioned the --bind-dev option, which is new as of iperf 3.10+.

Using that option (like --bind-dev [interface name]), you can force an instance of iperf3 to bind to one particular device. For example, assuming I have two servers on my network running iperf3 -s, I can run the following on the Pi to saturate both connections as much as the Pi will allow:

How to Recompile Linux (on a Raspberry Pi)

Because I get the same question on every video where I recompile the Linux kernel on a Pi to work on GPU or other hardware driver support, I finally made a video answering it:

How do you recompile Linux?

In my case, since I mostly rebuild the kernel for the Pi, I rebuild Raspberry Pi's Linux kernel fork instead of 'mainline' linux (the upstream Linux kernel source).

Raspberry Pi publishes a very thorough guide covering building and cross-compiling the Pi Linux kernel, and my video today mostly goes through that (with a few little tips on making the experience more convenient):

CaribouLite SDR HAT for SDR on a Raspberry Pi

CaribouLite HAT mounted on Pi 4 in rackmount

A couple years ago, after I heard about the CaribouLite on CrowdSupply, I pre-ordered one.

I've dabbled in SDR with an RTL-SDR v3 for a few years, even using one with nrsc5 to listen to baseball games OTA because of silly MLB blackout restrictions.

But low-cost SDRs like the RTL-SDR v3 are receive-only, and have a limited frequency range, and lower quality RF filtering, so it can be frustrating if you're trying to work with lower-power RF... or trying to transmit at all!

Top 10 ways to monitor Linux in the console

btop colorful Linux graph

top (pictured below... above is btop) is the first utility everyone recommends to monitor Linux (or any form of UNIX, including macOS) resource usage. It's efficient, available almost everywhere... but it's also a bit basic. It shows essential metrics, but looks like it's from the 80s. There are ways to brighten it up, like highlighting active processes or changing color schemes, but it's not the only game in town!

Top running in Linux

Nowadays, there are a lot of modern monitoring tools—and some not so modern, but immensely useful—to choose from. This blog post will run through some of the ones I rely on most often. Let me know in the comments if you use any others I didn't cover!