Writing drivers is boring and shitty, especially when the hardware manufacturer won't give anybody actual documentation. If your choice is porting a Linux driver because it's the closest thing to documentation or just making the Linux driver run in the system with compat shims, then compat shims is the way.
OpenBSD is in the same situation, and it's particularly bad in the case of running the interface in HostAP mode (Wi-Fi access point). How I cope: a $30 Wi-Fi "range extender" whose hobbled firmware I supplanted with OpenWRT, now operating in bridged mode as an extension of my LAN.
I wonder how hard it would be to port this to illumos. I think all the underlying technology is already there (bhyve, mostly), although I suspect the networking tools are different enough that that would require some work.
Edit: I wrote this about wifibox, although reskimming over the page a lot of the rest of the advice really does work there as well. In broad strokes, this page really does amount to a list of ways to get Wi-Fi or at least network access if your operating system doesn't natively support the Wi-Fi card actually in your laptop. Even running Linux in a virtual machine with the hardware passed through would probably work on ex. Haiku just with the details changed.
Personally I find that wifibox is seamless, giving me modern 802.11ac speeds on my FreeBSD laptop. Not ideal, of course, but it removes a major pain point.
Unrelated: What's the current state of FreeBSD on a laptop? What's the recommended hardware setup? Is it something I'd feel confident travelling with as my primary computing machine?
I am using FreeBSD on my desktops/laptops since about 2006.
I work with Linux systems (mostly RHEL/SLES/Ubuntu) and some other UNIX systems daily and I still prefer to use FreeBSD for its features and simplicity. More about these here:
You can use for example ThinkPad X1 Carbon 6th edition for some more modern hardware. I really love this old 7-row classic ThinkPad keyboard so I use ThinkPad W520 from 2011 (last one with such keyboard).
Here is a list with FreeBSD laptops with various features tested:
25 comments
[ 1.2 ms ] story [ 73.0 ms ] thread/me takes tongue out of cheek
On end user side I believe 3 other major players - Windows, Macos, Linux are better nowadays.
In fact, that's quite good advice.
Edit: I wrote this about wifibox, although reskimming over the page a lot of the rest of the advice really does work there as well. In broad strokes, this page really does amount to a list of ways to get Wi-Fi or at least network access if your operating system doesn't natively support the Wi-Fi card actually in your laptop. Even running Linux in a virtual machine with the hardware passed through would probably work on ex. Haiku just with the details changed.
Haiku doesn't have virtualization so you can't make this work.
The current way FreeBSD runs Linux drivers is by providing compat shims, not via any virtualization.
Making it easier to port Linux drivers to run in native FreeBSD (via linuxkpi) is definitely a better route though.
I actually think running RHEL binary drivers (where there is a defined KBI), might be the best route.
I am using FreeBSD on my desktops/laptops since about 2006.
I work with Linux systems (mostly RHEL/SLES/Ubuntu) and some other UNIX systems daily and I still prefer to use FreeBSD for its features and simplicity. More about these here:
- https://vermaden.wordpress.com/2020/09/07/quare-freebsd/
You can use for example ThinkPad X1 Carbon 6th edition for some more modern hardware. I really love this old 7-row classic ThinkPad keyboard so I use ThinkPad W520 from 2011 (last one with such keyboard).
Here is a list with FreeBSD laptops with various features tested:
- https://wiki.freebsd.org/Laptops
I write and maintain my own 'FreeBSD Desktop' series here:
- https://vermaden.wordpress.com/freebsd-desktop/
... but there are plenty of other such guides - just type "FreeBSD laptop" or "FreeBSD desktop" to get more howtos.
Regards.