From 9afcd705989c7328b0bff827ec1e9b3644b42d5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=81LI=20G=C3=A1bor=20J=C3=A1nos?= Date: Thu, 28 Sep 2023 11:09:08 +0200 Subject: [PATCH] 2023Q3 status report for Wifibox --- .../report-2023-07-2023-09/wifibox.adoc | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 website/content/en/status/report-2023-07-2023-09/wifibox.adoc diff --git a/website/content/en/status/report-2023-07-2023-09/wifibox.adoc b/website/content/en/status/report-2023-07-2023-09/wifibox.adoc new file mode 100644 index 000000000000..3b263c29e31a --- /dev/null +++ b/website/content/en/status/report-2023-07-2023-09/wifibox.adoc @@ -0,0 +1,57 @@ +== Wifibox: Use Linux to drive your wireless card on FreeBSD + +Links: + +link:https://github.com/pgj/freebsd-wifibox[Project GitHub Page] + +link:https://cgit.freebsd.org/ports/tree/net/wifibox[``net/wifibox`` port] + +Contact: PÁLI Gábor János + +Wifibox is an experimental project for exploring the ways of deploying +a virtualized Linux guest to drive wireless networking cards on the +FreeBSD host system. There have been guides to describe how to set +this up manually, and Wifibox aims to implement those ideas as a +single easy-to-use software package. + +- It uses ``bhyve(8)`` to run the embedded Linux system. This helps + to achieve low resource footprint. It requires an x64 CPU with I/O + MMU (AMD-Vi, Intel VT-d), ~150 MB physical memory, and some disk + space available for the guest virtual disk image, which can be even + ~30 MB only in certain cases. It works with FreeBSD 12 and later, + some cards may require FreeBSD 13 though. + +- The guest is constructed using https://alpinelinux.org/[Alpine + Linux], a security-oriented, lightweight distribution based on + https://www.musl-libc.org/[musl libc] and + https://busybox.net/[BusyBox], with some custom extensions and + patches imported from https://archlinux.org/[Arch Linux] most + notably. It is shipped with a number of diagnostic tools for better + management of the hardware in use. The recent version features + Linux 6.1, but Linux 6.5 is also available as an alternative. + +- Configuration files are shared with the host system. The guest uses + ``wpa_supplicant(8)`` or ``hostapd(8)`` (depending on the + configuration) so it is possible to import the host's + ``wpa_supplicant.conf(5)`` or ``hostapd.conf(5)`` file without any + changes. + +- When configured, ``wpa_supplicant(8)`` and ``hostapd(8)`` control + sockets could be exposed by the guest, which enables use of related + utilities directly from the host, such as ``wpa_cli(8)`` or + ``wpa_gui(8)`` from the ``net/wpa_supplicant_gui`` package, or + ``hostapd_cli(8)``. + +- Everything is shipped in a single package that can be easily + installed and removed. This comes with an ``rc(8)`` system service + that automatically launches the guest on boot and stops it on + shutdown. + +- It can be configured to forward IPv6 traffic, which is currently an + experimental option but turned on by default. + +Wifibox has been mainly tested with Intel chipsets, and it has shown +great performance and stability. Therefore it might serve as an +interim solution until the Intel Wireless support becomes mature +enough. It was confirmed that Wifibox works with Atheros, Realtek, +and Mediatek chipsets too, and feedback is more than welcome about +others. Broadcom chips (that are often found in MacBook Pros) can +also work, but there are known stability issues.