Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
I'm back into the grind of FreeBSD's wireless stack and 802.11ac (adrianchadd.blogspot.com)
161 points by rodrigo975 on July 16, 2020 | hide | past | favorite | 22 comments


The way I got started with Linux, even in the early 2000s, was blowing away the Windows install on my laptop and installing Ubuntu. Out of the box everything worked (but the laptop was ancient and didn't have wifi, so that didn't have the opportunity to break) and besides the weird problems with alsa and xorg that were endemic to those days, I had no issues.

A few months ago I tried to install FreeBSD on a spare 5+yr old laptop. FreeBSD doesn't show boot messages (display goes all wonky) and it can't detect half the hardware (network, disks, others). Seems like it's a decade or two behind hardware support on Linux.

Is there a vendor that sells good FreeBSD desktop-enabled systems, i.e. system76 for Linux? I'm now at a point that I'm more than willing to jump into using a BSD desktop, I just want something that works. Alternatively, is there a FreeBSD-based OS that is Ubuntu-like - includes a bunch of drivers and gives me a decent desktop out of the box?

(also, as an aside, the fact that the bus factor of FreeBSD's wifi stack seems like it's 1 reminds me of libinput on Linux.)


Because it is less popular and generally server-focused, hardware support has always been thinner.

Jumping OSes without looking is dangerous. It might go better next time after a review of the hardware compatibility list:

https://www.freebsd.org/releases/12.1R/hardware.html

If you want a preinstalled system, start here:

https://www.freebsd.org/commercial/hardware.html


As a contrast, I was recently setting up an APU2 system as a router. I tried 3 different kinds of Linux (OpenWRT, Ubuntu, Debian), and they were all horribly broken in different ways - Ubuntu wouldn’t even show comprehensible boot messages over the serial port.

I tried FreeBSD, and it booted perfectly the first time and all the hardware worked properly.

I think FreeBSD is just a lot more focused on server/infrastructure hardware.


For some reason Linux distros mostly default to not sending anything over the serial port, even when they can't find a video device.

To get everything you need to have GRUB, the kernel, and inittab configured to use the serial port.

Once you've done that it all works, but yeah annoying.


[1] https://nomadbsd.org which could be called a "distro" or derivative of FreeBSD. But not really, because it IS FreeBSD, just enriched with clever scripts and preselected and configured software. Try it out in live-mode from USB, check if everything works, and install if you like it. If not, wait, or forget it :)

The same applies to [2] http://www.ghostbsd.org

Edit: forgotten [3] http://www.midnightbsd.org Pick your poison.


Why use FreeBSD if you're going to use it as a desktop?

You'd have the same gnome, the same browser etc but a headache to get it working completely than Linux.


This is good news; FreeBSD's wifi/bluetooth stack definitely more love and a bit of polishing. The last time I tried using Intel wifi on FreeBSD the driver kept trying to use wrong tx settings without allowing me to change them, leading to slow performance and poor signal (the same card under Linux/Windows had excellent signal from the same AP).


Yup, there are a ton of people, myself included, who would love to be able to build an all-in-one router/firewall/WAP box for a small environment where such a thing makes sense, but we like pfSense for the router/firewall part. FreeBSD's wireless support has been horrible every time I've tried it compared to the same hardware running a Linux-based platform.

I don't mind using (and in fact generally prefer) separate WAPs in cases where I expect to want to expand (most businesses and larger homes) but there are occasionally cases where an all-in-one device does actually make sense. Mostly small mall businesses where you have a coverage area of ~150 square feet and need to cram all the equipment under the front counter.


> but we like pfSense for the router/firewall part.

Thank you very much!

> FreeBSD's wireless support has been horrible every time I've tried it compared to the same hardware running a Linux-based platform.

That’s why Netgate and the FreeBSD foundation are employing bz@ full-time to work on the 802.11 stack. FF for mostly intel client 802.11ac support, Netgate for the AP side, starting with Atheros, because Intel 802.11 parts are somewhat crippled here prior to 802.11ax.

I know Adrian, and I like Adrian, but his mention of bz@‘s efforts seems dismissive to me.


I once considered getting into the 802.11 stack for a couple of BSDs after experiencing several issues with my cards. Some were minor and I was able to fix (driver wouldn't attach because it was missing a PCIe device ID) and other weren't.

I couldn't find much good material on it though. A popular FreeBSD driver book noted that 802.11 driver development was too complicated to be in scope of the book, and that to even start, you should you have a solid understanding of 802.11.

I figured the specs might be a good place to start, but noped out as soon as I saw how much IEEE charges for the individual 802.11 specs. Some resources, including the site for the Linux kernel's wireless stack note that IEEE at one point would make the specs available for free once they reached a certain age, but that doesn't seem to be the case anymore. The closest thing I could find was a copy of the 802.11b spec, which isnt very helpful.


Yep I can confirm intel cards are still an issue. I installed FreeBSD a week ago and gave up trying to enable Wi-Fi after an hour of struggle on a Thinkpad T490, didn't even get to the point of having the interface show up in ifconfig. Ended up using my phone in USB tethering mode instead.


I have a ThinkPad x250 and wireless works, but just at 50Mbit speed :(


What is the cause of this situation? Is it simply that commercial entities using FreeBSD does not have wifi as a requirement? (E.g. companies using FreeBSD in server environments.)


In many cases, like say the intel WiFi drivers on Linux, the driver is written by Intel employees.

The BSDs don’t have the critical mass to get this vendor support. For example, much of the intel WiFi work on OpenBSD is done by one person, Stephan Sperling, on a volunteer basis.

I only mention intel in the above examples because that’s what’s in the Thinkpad I had that didn’t have support yet. So I looked into the driver situation on Linux, FreeBSD and OpenBSD.


> What is the cause of this situation? Is it simply that commercial entities using FreeBSD does not have wifi as a requirement?

I don't have any numbers to back it up and I'm not sure if anyone even could know (does FreeBSD have any kind of hardware statistics program?) but I have a strong suspicion that the proportion of laptop users running anything even related to BSD other than Mac OS is fairly tiny. Beyond that, I suspect that many of those that do are using one of the same bunch of older Thinkpads that are popular with the kinds of people who work on operating systems. Devices that aren't used with those laptops probably don't get much attention.

Also 802.11ac in particular seems to mostly require firmware blobs, which are kryptonite to a lot of the kinds of people who would have to be developing these drivers. That's why you might have noticed that devices like the Librem 5 and PinePhone only have 802.11n.


Glad to see progress on FreeBSD wifi again!

One interesting workaround I saw recently was to pass an 802.11ac device to linux running in bhyve. I have yet to try it, but it seems like potentially the best short-term solution if you have a bsd laptop where wifi is the only thing not supported.

https://lists.freebsd.org/pipermail/freebsd-hackers/2020-Jun...


bhyve PCI passthrough worked great for me, but couldn't handle suspend-resume of the host. Less than ideal for a laptop. https://www.davidschlachter.com/misc/t480-bhyve-wifi-pci-pas...


I installed FreeBSD few days back. Unfortunately, it didn't support i2c trackpad of my laptop and my network module(WiFi and Bluetooth didn't work).

But,it's great OS for Server though.


A driver is in ports while the author works on getting it ready to import. Just pkg install iichid.


rip ath9k. it was too good for us <3


I haven't looked into this recently, but for a long time, I'd only buy Atheros cards, even for Windows machines, because I'd have an option of Windows support, and the Windows drivers always seemed less finicky. I think Windows even shipped with Atheros drivers, and Microsoft drivers tend to be more reliable than vendor ones.


Happy to see progress on this. Working from home, I'm using an Ethernet connection, but hopefully 802.11ac will be ready by the time I'm mobile again.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: