Wifibox 0.10 versioon on saadaval, mis on loodud probleemide lahendamiseks FreeBSD-s täiustatud juhtmete jaoks, mille jaoks puuduvad vajalikud draiverid. Probleemsete FreeBSD adapterite töö tagatakse Linuxi külgprotsessi käivitamise kaudu, kus laaditakse Linuxi kohalikud juhtmevabade seadmete draiverid.
Külgprotsessi paigaldamine koos draiveritega on automatiseeritud ning kõik vajalikud komponendid on koondatud valmis wifibox paketiks, mis käivitatakse käivitamisel tarnitud rc-teenuse abil. Samuti käsitletakse korralikult unerežiimi üleminekut. Keskkond võib potentsiaalselt töötada mis tahes Linuxi toetatud WiFi kaartidega, kuid on peamiselt testitud Intel'i kiipidega. Samuti on testitud õiget toimimist Qualcomm Atheros ja AMD RZ608 (MediaTek MT7921K) juhtmete süsteemides.
Külgprotsess käivitatakse Bhyve hüpervisaatori abil, kus korraldatakse juurdepääsu ülekandmine juhtmevabale kaardile. Tööks on vajalik süsteem, mis toetab riistvara virtualiseerimist (AMD-Vi või Intel VT-d). Külgprotsessi põhineb Alpine Linuxi jaotusel, mis on üles ehitatud Musl süsteembiblioteegi ja BusyBox utiliitide komplekti põhjal. Pildi suurus ketas on umbes 30MB ja see nõuab umbes 90MB RAM-i.
Juhtmevaba võrku ühendamiseks kasutatakse wpa_supplicant paketti, mille konfiguratsiooni failid sünkroniseeritakse FreeBSD põhikeskkonna seadistustega. Loodud wpa_supplicant'i juurdepääs Unix'i soketis edastatakse hostkeskkonda, mis võimaldab kasutada FreeBSD tavapäraseid utiliite juhtmevõrgu ühendamiseks ja tööks, sealhulgas wpa_cli ja wpa_gui (net/wpa_supplicant_gui) utiliitide kasutamine.
Uues väljaandes on ümber kujundatud WPA edastamise mehhanism põhikeskkonda, mis võimaldab töötada nii wpa_supplicant'i kui ka hostapdiga. Külgprotsessi jaoks vajalik mälu maht on väiksem. FreeBSD 13.0-RELEASE-i tugi on lõpetatud.
Lisaks tasub mainida FreeBSD jaoks pakutud juhtmete draiverite parandust Intel'i ja Realtek'i kiipide jaoks. FreeBSD Foundation'i toetusel jätkub uue draiveri iwlwifi arendamine, mis on kaasatud FreeBSD 13.1-sse. Draiver põhineb Linuxi draiveril ja Linuxi net80211 alamsüsteemi koodil, toetab 802.11ac standardit ja saab kasutada uute Intel'i juhtmevabade kiipidega. Draiver laaditakse automaatselt käivitamisel, kui vajalik juhtmevaba kaart tuvastatakse. Linuxi juhtmevaba stack'i koostisosade töö tagatakse LinuxKPI vahekihiga. Varem portiti FreeBSD jaoks analoogiliselt draiver iwm.
Samas on alanud rtw88 ja rtw89 draiverite arendus Realtek RTW88 ja RTW89 juhtmete kiipide jaoks, mis töötavad samuti vastava Linuxi draiveri üleviimise kaudu ning töötavad LinuxKPI vahekihiga. Draiver rtw88 on juba valminud esimeseks testimiseks, samas kui draiver rtw89 on endiselt arendusjärgus.
Samuti tasub mainida FreeBSD juhtmevaba stack'iga seotud haavatavuse (CVE-2022-23088) üksikasju ja valmisseisundit, mis likvideeriti aprillikuu uuenduses. Haavatavus võimaldab käivitada oma koodi kernelitasemel, saates spetsiaalselt koostatud kaadri, kui klient on võrgu skaneerimisrežiimis (SSID-i seondumise etapis). Probleem tuleneb puhverüleviimis funktsioonis ieee80211_parse_beacon() kafka-kaadrite tõlgendamisel, mida edastab juurdepääsupunkt. Üleviimine sai võimalikuks, kuna ei kontrollitud vastavust tegeliku andme suuruse ja pealkirja väljale märgitud suuruse vahel. Probleem avaldub FreeBSD versioonides, mis on loodud alates 2009. aastast.

Värskeid muutusi FreeBSD-s, mis ei ole seotud juhtmevaba stack'iga, optimeeriti käivitusaega, mis testimisseadmes vähenes 10-lt 8 sekundile; GEOM mooduli gunion rakendamine, mis edastab teised muudatused teisele kettale, mis viidi sisse ainult lugemisrežiimis; krüpto API jaoks ette valmistatud krüptograafilised primitiivid XChaCha20-Poly1305 AEAD ja curve25519, mis on vajalikud draiveri jaoks. VPN WireGuard.
Allikas: opennet.ru
