upvote
It seems like the best way to get WiFi working in FreeBSD is to run Linux in bhyve and tunnel your connections through there.
reply
That kind of seems crazy to me, considering OpenBSD has worked perfectly fine with every wifi capable device I've tested it on. Granted, most of them were older machines.

Is this just an artifact of FreeBSD primarily focusing on server hardware rather than consumer/end-user stuff?

reply
Basically no one supports Broadcom SoftMAC WiFi cards very well, but OpenBSD just doesn't. I have a 2015 MacBook Air with a BCM4350 where the recommended fix is to go buy a FullMAC card from a similar vintage MacBook Pro and just cope with the fact that the card barely fits in the case and can't be secured properly.
reply
deleted
reply
It seems the best way to get WiFi working is to run Linux and FreeBSD in a VM..
reply
FreeBSD 15 has done a lot for WiFi apparently.

I'm not sure how good it is as I don't use wifi but it's supposed to be much better.

reply
the fact that this is a widely accepted/encouraged practice is genuinely unhinged
reply
Why? Nothing wrong with running your network interface in a VM. There are reasons for doing so even if drivers aren't an issue. Qubes OS does this, for instance, for security reasons.
reply
Windows also does. Almost everything is a VM in windows these days.

It's just how things work these days. If you'd say "I run my VPN client in a docker container" it would raise a lot less eyebrows. Yet it's not very different, really.

Though conceptually I'd frown at having to run Linux. I'd prefer upgrading the hardware to a supported chip.

reply
Windows isn't running entire fucking separate kernel to run wifi driver, the fuck you're talking about
reply
Definitely not independent kernels but my guess is he's referring to Virtualization-Based Security (VBS) - it gets turned on by default if your Win10/11 system has virtualization enabled.

  One such example security solution is memory integrity, which protects and hardens Windows by running kernel mode code integrity within the isolated virtual environment of VBS. Kernel mode code integrity is the Windows process that checks all kernel mode drivers and binaries before they're started, and prevents unsigned or untrusted drivers or system files from being loaded into system memory.
I suppose this applies to Wi-Fi drivers?

Link: https://learn.microsoft.com/en-us/windows-hardware/design/de...

reply
no matter how it's implemented, it must not be a user-requiring (or even user-facing) task
reply
Not really weird when some firmware are close to being full blown OS. An alpine VM can be run with 64 MB which is lower than a lot of software.
reply
I've used cellular modems which run Linux or ThreadX internally.
reply
Weren't there iPhones that had wifi chips that ran Linux?
reply
I agree that 9/10 is a bit of a strange score there, but it's not all that bad: You can get a $15 wifi dongle and use that instead. It occupies a USB port and looks a bit ugly, but it's still a fairly easy workaround.
reply
Is there a cheap, common USB wifi dongle that works?

In the old days I kept a couple Realtek USB adapters around that would almost always work out of the box or with ndiswrapper

reply
No need to get a USB dongle. You can use PCI passthrough to a Linux VM that has the Wifi driver.

See my comment here: https://news.ycombinator.com/item?id=47704816

reply
I'd like to know more about what it takes to turn on PCI pass through for laptop hardware. On desktops and servers it's typically the IOMMU setting in the BIOS. Is that also commonly available on laptops?
reply
That's insanely complicated compared to plugging in a USB dongle.
reply
It's only complicated once, though -- at initial setup.

And that setup part can be largely automated: https://github.com/pgj/freebsd-wifibox

(The computer itself doesn't care much about the complexity. It's a computer.)

reply
My approach costs $0 . You don't need to do the heavy lifting, Wifibox does.
reply
If you've ever had to deal with usb hotplugging then no pci pass through is much simpler
reply
FreeBSD WiFi is certainly fun.

Some years ago, I was workig with FreeBSD on an old laptop. The laptop had a wireless adapter that ostensible should be supported, but was not.

After some digging, I realized the driver was just missing some PCIe device identifiers. I added them to driver and bam my WiFi is working without issue.

I tried to submit a bug report and patch, and it got positive feedback at first any changes even got committed. But then I learned why it’s better to not even try.

Apparently this was a known issue, but only in the heads of the FreeBSD wireless developers. They had their reasons for not adding the device, but the reasons did not appear to be documented in mailing lists or docs until my thread. At that point I realized it’s not worth it to try and contribute to such large projects as I just lack the decades of institutional knowledge of the system.

Anyway, I’m not sure it ever got released. I believe there’s an umbrella bug somewhere left after the version my patch supported went out of support.

reply
[flagged]
reply