Wifibox 0.10 - hawîrdora ji bo karanîna ajokarên WiFi Linux di FreeBSD de

Projeya Wifibox 0.10 naha heye, ku armanc ew e ku pirsgirêka FreeBSD-ê bi karanîna adapterên wireless yên ku ajokarên pêwîst winda ne, çareser bike. Operasyona adapterên ku ji bo FreeBSD-ê pirsgirêk in, bi destpêkirina pergalek mêvan bi Linux re, ku tê de ajokarên Linux-ê yên xwecihî yên ji bo cîhazên bêtêl têne barkirin, tê piştrast kirin.

Sazkirina pergala mêvan bi ajokaran re otomatîk e, û hemî hêmanên pêwîst di forma pakêtek wifibox-a amadekirî de têne pak kirin, ku di dema bootkirinê de bi karanîna karûbarê rc-ê tê de tête dest pê kirin. Tevlî veguhertina moda xewê bi rêkûpêk tê rêve kirin. Jîngeh bi potansiyel dikare ji bo her kartên WiFi yên ku di Linux-ê de têne piştgirî kirin were bikar anîn, lê bi giranî li ser çîpên Intel-ê hatine ceribandin. Operasyona rast jî li ser pergalên bi çîpên bêtêl Qualcomm Atheros û AMD RZ608 (MediaTek MT7921K) hatiye ceribandin.

Pergala mêvan bi karanîna hîpervisorê Bhyve, ku gihandina şandina qerta wireless organîze dike, tê destpêkirin. Pergalek pêdivî ye ku virtualîzasyona hardware (AMD-Vi an Intel VT-d) piştgirî dike. Pergala mêvan li ser bingeha belavkirina Alpine Linux-ê ye, ku li ser bingeha pirtûkxaneya pergala Musl û komek karûbarên BusyBox hatî çêkirin. Mezinahiya wêneyê bi qasî 30 MB li ser dîskê digire û bi qasî 90 MB RAM dixwe.

Ji bo girêdana bi torgilokek bêtêlê, pakêta wpa_supplicant tê bikar anîn, pelên mîhengê yên ku ji wan re bi mîhengên ji hawîrdora bingehîn a FreeBSD re têne hevdem kirin. Soketa kontrolê ya Unix-ê ya ku ji hêla wpa_supplicant ve hatî çêkirin, ji hawîrdora mêvandar re tê şandin, ku dihêle hûn karûbarên standard FreeBSD bikar bînin da ku bi tora bêtêlê ve girêbidin û bixebitin, tevî karûbarên wpa_cli û wpa_gui (net/wpa_supplicant_gui).

Di guhertoya nû de, mekanîzmaya şandina WPA-yê li hawîrdora bingehîn ji nû ve hatî sêwirandin, ku ev gengaz kir ku hem bi wpa_supplicant û hem jî bi hostapd re bixebite. Hejmara bîranîna ku ji bo pergala mêvan hewce dike kêm bûye. Piştgiriya ji bo FreeBSD 13.0-RELEASE hate rawestandin.

Wekî din, em dikarin xebata ji bo baştirkirina ajokarên ku di FreeBSD de ji bo qertên wireless yên li ser çîpên Intel û Realtek têne pêşkêş kirin destnîşan bikin. Bi piştgiriya Weqfa FreeBSD, pêşkeftina ajokera nû ya iwlwifi ya ku di FreeBSD 13.1-ê de tê de heye berdewam dike. Ajokar li ser bingeha ajokera Linux û koda ji binpergala net80211 Linux-ê ye, standarda 802.11ac piştgirî dike û dikare bi çîpên nû yên bêtêl Intel re were bikar anîn. Dema ku qerta bêtêlê ya pêwîst tê dîtin ajokar bixweber di dema bootkirinê de tê dakêşandin. Parçeyên stûna bêhêz a Linux-ê bi karanîna qata LinuxKPI-yê têne çalak kirin. Berê, ajokera iwm ji bo FreeBSD bi heman rengî hate şandin.

Di paralelê de, pêşkeftina ajokarên rtw88 û rtw89 ji bo çîpên bêtêl Realtek RTW88 û RTW89 dest pê kir, ku di heman demê de bi veguheztina ajokarên têkildar ji Linux ve têne pêşve xistin û bi karanîna qata LinuxKPI re dixebitin. Ajokarê rtw88 ji bo ceribandina destpêkê amade ye, dema ku ajokera rtw89 hîn jî di pêşkeftinê de ye.

Wekî din, em dikarin behs weşandina hûrguliyan û îstîsmarek amade ya ku bi qelsiya (CVE-2022-23088) ve di stûna bêtêlê ya FreeBSD de, ku di nûvekirina Nîsanê de hatî rast kirin, behs bikin. Qelsî dihêle hûn koda xwe di asta kernelê de bi şandina çarçoveyek taybetî ya sêwirandî dema ku xerîdar di moda şopandina torê de ye (li qonaxa berî girêdana SSID-ê) bicîh bikin. Pirsgirêk ji ber zêdebûnek tamponê ya di fonksiyona ieee80211_parse_beacon() de çêdibe dema ku çarçeweyên beaconê yên ku ji hêla xala gihîştinê ve têne şandin pars dike. Zêdebûn ji ber kêmasiya kontrolkirinê bû ku mezinahiya daneya rastîn bi mezinahiya ku di qada sernivîsê de hatî destnîşan kirin li hev dike. Pirsgirêk di guhertoyên FreeBSD yên ku ji sala 2009-an vir ve hatine çêkirin de xuya dike.

Wifibox 0.10 - hawîrdora ji bo karanîna ajokarên WiFi Linux di FreeBSD de

Guhertinên dawî yên FreeBSD yên ku ne bi stûna bêtêlê ve têkildar in ev in: xweşbîniya dema bootê, ku li ser pergala ceribandinê ji 10 ber 8 saniyeyan kêm bû; gunion module GEOM ji bo veguheztina guhertinên li ser dîskê ku di moda tenê-xwendinê de tê gihîştinê veguhezîne dîskek din hate bicîh kirin; Ji bo API-ya krîpto ya kernelê, primitives krîptografîk XChaCha20-Poly1305 AEAD û curve25519, ku ji bo ajokera VPN WireGuard-ê hewce ne, hatine amadekirin.

Source: opennet.ru

Add a comment