Optimizing FreeBSD Power Consumption on Modern Intel Laptops

My current FreeBSD laptop is a 2020 14" HP Spectre x360, which uses Intel’s 11th Gen CPU and “Evo” platform, although I previously also had the 13" 2020 version with a similar setup (but lacked working audio on non-Windows). This article isn’t specific to HP: your shiny-new Lenovo ThinkPad, Dell XPS, or Framework Laptop can also apply. One thing with FreeBSD is that unlike Windows or desktop Linux, the default configuration is poorly optimized for laptops that are newer than your ancient ThinkPad T420, or maybe a T460s. [Read More]

FreeBSD (or pfSense/OPNsense) on the HP t740 Thin Client

While expensive and hard to find on eBay (thanks, ServeTheHome), the HP t740 “Thin Client” is a great pfSense box if you want more power, or a compact home server. While I could get away with a t730 or t620 Plus, but I have CenturyLink Fiber and PPPoE is more computationally intensive versus pure DHCP. That running a Tor relay, so I’d like some headroom and upgrade path to 10 Gigabits. [Read More]

Tuning Power Consumption on FreeBSD Laptops and Intel Speed Shift (6th Gen and Later)

When running FreeBSD on laptops with a 6th Gen (Skylake) or later Intel CPU, for me these are HP Spectre x360s (sorry, I’m not a ThinkPad fan), one annoyance with the out of the box FreeBSD configuration is the fact that the fan is running most of the time. In comparison, a HP Envy with an AMD Ryzen does not have this issue with an out-of-the-box FreeBSD. One thing that Intel has done with these modern CPUs is include a technology called Speed Shift. [Read More]

Setting up a Signal Proxy using FreeBSD

With the events that the private messaging app Signal has been blocked in Iran, Signal has come up with an “proxy” solution akin to Tor’s Bridges, and have given instructions on how to do it. For people who prefer FreeBSD over Linux like myself, we obviously can’t run Docker, which is what Signal’s instructions focus on. Fortunately, the Docker image is just a fancy wrapper around nginx, and the configs can be ported to any OS. [Read More]

FreeBSD 13: Fixing the installer "Failed to configure bootloader" error with Manual Partitioning and UEFI

On my laptop (HP Spectre x360 2018), I decided to install a second FreeBSD install, this time on the Intel Optane drive. When I proceeded to install, I chose manual partitioning, and while it finished extraction, it proceeded me to this error: This happened to me on a recent 13-CURRENT. I don’t believe it happened on earlier snapshots or 12.x. I had this issue with both UFS and ZFS partitioning. [Read More]

Setting the IPv6 TTL/Hop Limit on FreeBSD

My current wireless service is T-Mobile and I use a unlocked (Google Store edition) Google Pixel 3 running LineageOS. I am a heavy user of tethering, and unlike Sprint (switched pre-merger), T-Mobile checks for the TTL to count for hotspot bandwidth if TTL<=64 (can be bypassed with TTL=65 on a laptop). My personal laptop happens to run FreeBSD, so I initially thought that setting net.inet.ip.ttl sets both the IPv4 and IPv6 TTL, since at the time I didn’t see a net. [Read More]

Fixing FreeBSD pkg errors when running "pkg update" on Microsoft Azure

I work at Microsoft, and with that, I get free Azure credits. Considering where I work, I have no use for FreeBSD at work, only Windows. However, I spent seven years of my life prior to getting $DAYJOB using FreeBSD, going back to high school and basically built my personal setup on it. I haven’t bothered to switch my personal desktop or home server to Windows (yet*), so I’ll create a FreeBSD VM in Azure and try to update it. [Read More]

Use dummynet in a VM? High latency? Set kern.hz to 1000

As a hobby, I play with software routers in virtual machines (always FreeBSD). One recent project of mine was to emulate DSL bandwidth and latency in a VM, from varying bandwidths of 1.5 Mbps (ADSL) to 50 Mbps (VDSL2). By default, when using FreeBSD on a hypervisor, the kern.hz tunable is set to 100. This is to prevent additional CPU use from idling. But dummynet recommends kern.hz=1000 which is also the default on physical hardware. [Read More]

Using Office 365 Mail on Android With 2FA Without Outlook or InTune

I’m a recent Microsoft hire. That being said, it’s obvious that they’re using Office 365’s Hosted Exchange for their email, which is a departure from G Suite at NYU and CacheCash, and my personal FreeBSD/Postfix/Dovecot setup. Like many big companies, Microsoft requires 2FA (Two-Factor Authentication) for logging in to company resources. Well, okay, I done this before. But then, to use corporate email “officially”, I have to use not only Outlook, but also the InTune App, which “manages” my device. [Read More]

A Simple IPFW In-Kernel NAT Setup on FreeBSD

After graduating college, I am moving from Brooklyn, NY to Redmond, WA (guess where I got a job). I always wanted to re-do my OPNsense firewall (currently a HP T730) with stock FreeBSD and IPFW’s in-kernel NAT. Why IPFW? Benchmarks have shown IPFW to be faster which is especially good for my Tor relay, and because I can! However, one downside of IPFW is less documentation vs PF, even less without natd (which we’re not using), and this took me time to figure this out. [Read More]