An issue of WIFIBOX 2.0 is now available to solve the problem of using wireless adapters in FreeBSD for which there are no necessary drivers.
In WiFibox, the problematic adapters for FreeBSD are resolved by launching a guest system with Linux, in which wireless devices are loaded for Linux. While any WiFi cards supported in Linux can potentially be used, the testing primarily focused on Intel, Qualcomm Atheros, and AMD RZ608 (Mediatek MT7921K) devices.
The installation of the guest system with drivers is automated, and all the necessary components are packaged in the wifibox package, which launches when loading using the RC service. The guest system is facilitated by the Bhyve hypervisor, which organizes access to the wireless card. Hardware virtualization support (AMD-VI or Intel VT-D) is required.
The guest system is based on Alpine Linux, which is built on the MUSL system library and the BusyBox dialing.
To connect to a wireless network, the WPA_SUPPLICANT package is used, and its configuration files are synchronized with the settings from the main environment of FreeBSD. The control unit for WPA_SUPPLICANT is dumped into the host-reduction, which allows the use of standard FreeBSD utilities to connect and work with a wireless network. The WPA_CLI and WPA_GUI utilities (net/wpa_supPLICANT_GUI) can also be utilized.
The new issue of WIFIBOX includes the “SUSPEND_VMM” mode, which unloads the VMM nucleus module when the system enters sleep mode, and reloads it after awakening. This mode resolves failures observed in Bhyve when moving to sleep mode with an active VMM module, caused by hardware or hypervisor issues. Additionally, the documentation has been updated in this issue, and Start and Stop commands have been added to launch and stop the NETIF, console, and VMM.