„CentOS“ vartotojai neretai susiduria su bevielio tinklo plokštės tvarkyklių problemomis, naudodami šią OS nešiojamuosiuose kompiuteriuose. Jeigu „Intel“ lustų (angl. chipset) rinkinį turinčių įrenginių tvarkyklės diegiamos gana nesudėtingai, tai su „Broadcom“ teks šiek tiek paplušėti. Aptarsime BCM4311 802.11b/g WLAN tvarkyklės diegimą kompiuteryje „Dell Vostro 1400“.

Nešiojamasis kompiuteris: Dell Vostro 1400
Operacinė sistema: CentOS 5.3, 5.4 (32 bit)

WLAN plokštė: Dell Wireless 1390 WLAN Mini-Card
WLAN lustų rinkinys: BCM4311 802.11b/g WLAN

Įprastai „CentOS“ atpažįsta WLAN plokštę ir įdiegia jos tvarkykles. „Vostro 1400“ atveju, plokštė susiejama su vidine tvarkykle b43, kuri su minėta plokšte neveikia – net kompiuterio skydelyje esantis WLAN šviesos diodas neįsižiebia. Taigi mums reikės lustų rinkinio gamintojo „Broadcom“ tvarkyklių Linux operacinėms sistemoms.

Priklausomai nuo architektūros, pasirenkame reikiamą paketą. Šiuo atveju tai 32 bitų architektūra. Dėl licencinės „Broadcom“ tvarkyklių naudojimo sutarties, „CentOS“ bendruomenė negali paruošti tvarkyklės

RPM paketo, todėl sukompiliuoti ir užkrauti ją turėsime patys. Pradėkime.

Sukurkime direktoriją broadcom/driver, pvz.: /home/vartotojas/broadcom/driver ir į ją išpakuokime parsisiųstą archyvą. Kataloge turėtų atsirasti tokie failai ir katalogai:

[code lang=”plain”] lib/
src/
Makefile[/code]

Turime paruoštus tvarkyklės išeities kodus (angl. source code). Dabar paruoškime operacinę sistemą. Pagal nutylėjimą „CentOS“ neįdiegia branduolio (Kernel) vystymo paketų (angl. development package), antraščių (angl. headers) ir kompiliatorių. Jie diegiami komanda:

[code lang=”shell”]yum install kernel-headers kernel-devel gcc[/code]

Keliaukime į katalogą, į kurį išpakavome tvarkyklę:

[code lang=”shell”]cd ~/broadcom/driver[/code]

Ir sukompiliuokime tvarkyklę:

[code lang=”shell”]make -C /lib/modules/`uname -r`/build M=`pwd`[/code]

Pastaba. Pradėkite čia, jei atnaujinote operacinės sistemos branduolį.

Po kiekvieno Kernel atnaujinimo reikia iš naujo įdiegti modulius:

[code lang=”shell”]cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/[/code]

Dabar reikia užblokuoti standartinę „CentOS“ tvarkyklę, kuri buvo priskirta WLAN įrenginiui eth1:

[code lang=”shell”]rmmod b43[/code]

Jeigu kada nors bandėte ndiswrapper ar kitas senesnes WLAN tvarkykles, jas taip pat išjunkite:

[code lang=”shell”]rmmod bcm43xx; rmmod b43legacy; rmmod ndiswrapper[/code]

Tam, kad senosios tvarkyklės būtų blokuojamos, įrašome tokias eilutes failo /etc/modprobe.d/blacklist pabaigoje:

[code lang=”plain”] # get rid of the default kernel drivers
blacklist b43
blacklist bcm43xx[/code]

Faile /etc/modprobe.conf randame:

[code lang=”plain”]alias eth1 bcm43xx[/code]

Pakeičiame į:

[code lang=”plain”]alias eth1 wl[/code]

Ir pabaigoje pridedame:

[code lang=”plain”]alias ieee80211_crypt_tkip ieee80211_crypt_tkip[/code]

Įvykdome šias komandas:

[code lang=”shell”] depmod -a
modprobe ieee80211_crypt_tkip; modprobe wl[/code]

Ir perkrauname OS. Tvarkyklė paruošta, WLAN lemputė turėtų užsižiebti „CentOS“ įsikrovus.

Dabar reikia pasirūpinti aplikacija, kuri leis pasirinkti pasiekiamus tinklus ir juos automatiškai konfigūruoti. Pagal nutylėjimą „CentOS“ tinklo parametrus valdo network tarnyba, kurią reikia išjungti:

[code lang=”shell”]chkconfig network off[/code]

Vietoje network naudosime NetworkManager. Pastarasis turi priemones WPA kodavimui palaikyti, todėl išjungiame wpa_supplicant tarnybą:

[code lang=”shell”]chkconfig wpa_supplicant off[/code]

Ir įjungiame NetworkManager paleidimą sistemos įkrovos metu:

[code lang=”shell”]chkconfig NetworkManager on[/code]

Jeigu sistemos įvykdę paskutiniąją komandą neperkraunate, tarnybą reikia startuoti rankiniu būdu:

[code lang=”shell”]service NetworkManager start[/code]

Perkraukite sistemą, įsipilkite puodelį kavos ir mėgaukitės greitu bevieliu ryšiu! Darbas baigtas.

Šis straipsnis taip pat prieinamas anglų kalba CentOS žinyne.