Hacker News new | past | comments | ask | show | jobs | submit login

I wish there was more interest in getting acceptable WiFi and Bluetooth performance from any BSD. Even FreeBSD lacks anything but a half-baked 802.11n implementation :/

I truly adore BSD; using Linux is a chore comparatively. But I don't really have a choice.




My understanding[1] is that openbsd has better 802.11 drivers than freebsd and reading the lists this is largely due to absolutely herculean effort by one person.Stefan Sperling [2]

Dramatic bio(probably none of this is true. but this lives in my head after reading the lists). Sperling never wanted to be a hero, had no training or experience interfacing with those piles of electronic treachery we affectionately call "wifi". But he wanted a change, he wanted a difference. He stepped up and wrote a patch. Now he is the sole defender between us and the vile manufactures actively trying to keep us from our starbucks internet connection. Not the hero we deserved, But the hero we needed[3].

Apparently finding people willing to work in that arcane shithole known as wifi drivers is hard. I looked once and it scared the hell out of me. A lovecraftian mess of undocumented registers and unknowable machines.

  1. I don't have a laptop with FreeBSD so this is all hearsay.

  2. Sperling is also writing got(game of trees) a sane implementation of git. http://gameoftrees.org/

  3. The theme song for this majestic endeavor. https://www.youtube.com/watch?v=TZsUAqaOiHU
edit: I stated that got was plumbing for git and that is not true. that implies got uses git code. it does not, got uses the git file format.


You need support from the chip manufacturers to get that done.

Intel and Broadcomm hand you a binary firmware blob and tell you to go screw yourself for the most part.

Atheros is one of the few helpful ones. The wifi support that we have now is the result of painstaking hard work.

And to be honest, I use the wifi on OpenBSD fine without 802.11ac support


> I use the wifi on OpenBSD fine without 802.11ac support

But OpenBSD does have 802.11ac support*, since 7.1. :-)

* On iwm(4)/iwx(4) only for now.

https://www.openbsd.org/71.html


I'm still on 6.something sorry but that is my hardware. I should update. :-)


Being one release behind is fine (and supported). 6.x is not...


I've been moving around a lot for two years and talking about unpowered hardware.


Yes you should, buster.


It's partly the driver, partly the stack, at least on FreeBSD. My understanding is the newer high-speed wifi modes use multiple channels or pairs of channels or something like that, and the 80211 stack in FreeBSD was just not built with that in mind. So retrofitting it is some work. I think there are other things like that missing still, in addition to driver support.


>You need support from the chip manufacturers to get that done.

Not speaking as an Open Source everything advocate. But I wonder how much would it cost to develop a fully open WiFi 7 and Bluetooth 5.3 Chip.


I know of at least one open implementation of a wifi and BTLE modem made by a small university research team (though I can't find it online so it may not be published yet, won't say who it is unless I can find public details). It's definitely possible but it did take a team of grad students a little over a year to tapeout, and so it'd likely be very expensive


The RF side of WiFi is hell. The modem side is work, yes, but getting the air interface to work, and then dealing with all the interference management side is a nightmare.

I am not certain, but I think part of the 'blob' thing on WiFi internal implementations is to prevent someone breaking certification, particularly for the interference mitigation for things like DFS.


Not exactly a BSD but as of June 2022 Haiku has included support for 802.11ac on Intel IAX WiFi cards using the OpenBSD iwx driver.

https://www.haiku-os.org/blog/waddlesplash/2022-07-09_haiku_...

Edit: iwx not iax


You can use both, to an extent. My most recent example: The documentation for GNU troff (groff) in Debian is incomplete-- the man page for eqn(1) includes the GNU extensions mostly, but not the basics. So I downloaded the OpenBSD manpages which includes complete documentation for eqn(7).

https://ftp.openbsd.org/pub/OpenBSD/snapshots/amd64/man72.tg...

Good documentation is a killer feature, in my opinion. It's nice they provide it all in one tar ball.


I too keep making the mistake of using the openbsd man pages for linux projects. Then am confused when things don't work as they should.

You would think I would learn better after a few cycles of this, but nope, I am rather stupid that way... or perhaps the openbsd documentation is just that much better.


> Even FreeBSD lacks anything but a half-baked 802.11n implementation :/

OpenBSD does better here. AC is supported on Intel cards.


How has FreeBSD not picked up the "better" driver?


Because they're deciding to try improving their driver API compatibility layer to import the Intel drivers directly from Linux instead of reverse engineering like OpenBSD is. Time will tell which approach is better in the long run.


>But I don't really have a choice.

Jup, wireless is one thing, i run around with a old smartphone and tether over usb (on my laptop). But the other one is fan-speed, i can even play AAA-Games...for a minute then my GPU crashes because of overheating (on the workstation with a AMD-Card). No way to adjust fan-speed from the OS is not good.

On both machines FreeBSD




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: