How to clone your Calix GPON ONT (Optical Network Terminal)

UPDATE: I now live with my brother in Stamford, CT while my family renovates a NYC townhouse/brownstone and right now I’ll be using Frontier FiberOptic until the new home is ready. Frontier here uses a Nokia ONT and since it’s an ex-AT&T area standard GPON uses 802.1X. I’m currently “bypassed” to my MikroTik box, the older AT&T Fiber bypass method works here also. Also, Lumen/CenturyLink/Quantum Fiber now uses Smart NIDs (basically an ONT plus a wired router) instead of Calix ONTs. [Read More]

Setting up Login for Windows Server/Samba Active Directory on FreeBSD

Disclaimer: I work at Microsoft, but not on Windows Server or Active Directory. Recently, in my homelab, I decided to enable a single sign-on using Active Directory on my two servers. Despite my employment, my homelab is very FreeBSD-centric, due to me having used it for 9+ years versus 2+ at my current job. While I could use OpenLDAP which is technically more Unix-centered than Windows-centered, I hate OpenLDAP. I find it easier to use Active Directory, whether Windows or Samba, as I am currently using a Samba 4. [Read More]

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]