Instalacja karty Broadcom BCM43xx w Ubuntu

Uwaga: Wersja niniejszego dokumentu zosta┼éa opublikowana jaki┼Ť czas temu. Jako, ┼╝e w systemach z rodziny Linux ci─ůgle du┼╝o si─Ö zmieni┼éa, opisane tutaj elementy mog─ů si─Ö nieco r├│┼╝ni─ç o tych, z kt├│rymi si─Ö spotkacie w swoim systemie. Jako, ┼╝e nie posiadam ju┼╝ ww. kart, nie mog─Ö gwarantowa─ç, i┼╝ poni┼╝szy spos├│b zadzia┼éa.

Od dłuższego czasu zainteresowany jestem alternatywnymi systemami operacyjnymi. Obecnie pracuję na Ubuntu 9.10.

Jako, ┼╝e mam laptopa i z internetem ┼é─ůcze si─Ö bezprzewodowo, chcia┼éem aby mo┼╝liwe by┼éo to r├│wnie┼╝ w tym systemie. Niestety, podczas aktualizacji do najnowszej wersji systemu wszystko si─Ö poknoci┼éo.

W laptopie mam kart─Ö firmy Broadcom BCM4312 Dualband (b/g), kt├│ra potrzebuje w┼é─ůczenia stosownych sterownik├│w aby, mo┼╝liwe by┼éo jej u┼╝ytkowanie.

Domy┼Ťlnie zalecan─ů metod─ů jest w┼é─ůczenie sterownik├│w w┼éasno┼Ťciowych z pozycji:

System > Administracja > Sterowniki

Jednak┼╝e nie zawsze to dzia┼éa, o czym przekona┼éem si─Ö (i wielu innych u┼╝ytkownik├│w) osobi┼Ťcie.

B─Öd─ůc uwi─Özionym na kablu, postanowi┼éem co nieco poszpera─ç i wymy┼Ťli─ç rozwi─ůzanie. I to w┼éa┼Ťnie zrobi┼éem. A dok┼éadniej, wzoruj─ůc si─Ö na zagranicznych rozwi─ůzaniach i oficjalnych stanowiskach producenta, postanowi┼éem napisa─ç poni┼╝sze How-To.

Do ┼é─ůczenia z sieci─ů WiFi u┼╝ywam standardowego pakietu GNOME, czyli Network Managera. Oczywi┼Ťcie, mo┼╝e to te┼╝ dzia┼éa─ç z WICD, ale osobi┼Ťcie tego nie testowa┼éem, gdy┼╝ nie mam takiej potrzeby.

Poni┼╝sze How-To dzia┼éa dla kart bazuj─ůcych na sprz─Öcie BCM4311, BCM4312, BCM4321 i BCM4322.

A wi─Öc zacznijmy….

1. Wywalam obecnie dost─Öpne w systemie sterowniki, odpowiadaj─ůce na nasz─ů kart─Ö sieciow─ů.

System > Administracja > Manager pakiet├│w Synaptic

Wyszukujemy po słowie Broadcom i zaznaczamy wszystko do usunięcia, czyli:

b43-fwcutter, bcmwl-kernel-source, bcmwl-modaliases

Dodatkowo, z poziomy konsoli sprawdzamy, czy nie ma ┼╝adnych pozosta┼éo┼Ťci po modu┼éach sterownik├│w, kt├│re mog┼éy nie zosta─ç usuni─Öte.

lsmod | grep "b43|ssb|wl"

Je┼╝eli faktycznie jakie┼Ť s─ů, usuwamy je poni┼╝szymi komendami:

rmmod b43 rmmod ssb rmmod wl

Mo┼╝e si─Ö r├│wnie┼╝ zda┼╝y─ç, ┼╝e powy┼╝sze sterowniki zainstaluj─ů si─Ö automatycznie przy kolejnych aktualizacjach systemu. Aby temu zapobiec, warto wykona─ç poni┼╝sze polecenia w konsoli:

echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf

Powy┼╝sze linijki dodadz─ů do pliku blacklist.conf odpowiednie wpisy odno┼Ťnie blokowania sterownik├│w.

2. Pobieramy oficjalne sterowniki ze strony Broadcoma

Dla systemu 32-bitowego

wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32-v5.60.48.36.tar.gz

Dla systemu 64-bitowego

wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_64-v5.60.48.36.tar.gz

Gdyby powy┼╝sze odno┼Ťniki nie dzia┼éa┼éy, najnowsze sterowniki mo┼╝na znale┼║─ç tutaj: http://www.broadcom.com/support/802.11/linux_sta.php

Tworzymy sobie katalog, w kt├│rym b─Ödziemy pracowa─ç ze sterownikami oraz przenosimy do niego ┼Ťci─ůgni─Öty plik.

mkdir hybrid_wl mv hybrid-portsrc\* hybrid_wl/ cd hybrid_wl

3. Rozpakowujemy pobrane sterowniki (przykład dla systemu 32-bitowego)

tar xvf </em><em>hybrid-portsrc-x86_32-v5.60.48.36.tar.gz

4. Wykonujemy kompilacj─Ö

make

W celu poprawnego wykonania kompilacji potrzebujemy mie─ç w systemie zainstalowane nast─Öpuj─ůce pakiety:

make, build-essentials, linux-headers i linux-sources - stosowne dla naszego kernela

Wszystko to mo┼╝na wykona─ç w Menad┼╝erze pakiet├│w Synaptic.

4.1. Ostrze┼╝enia w trakcie instalacji

W trakcie wykonywania procedury make mo┼╝e pokaza─ç si─Ö nam ostrze┼╝enie:

WARNING: modpost: missing MODULE_LICENSE() in /home/darek/bcm/wl.o see include/linux/module.h for more information

Nie nale┼╝y si─Ö nim przejmowa─ç.

4.2. (Opcjonalne) Moduł lib80211

Je┼╝eli wcze┼Ťniej nie pr├│bowali┼Ťmy na w┼éasn─ů r─Ök─Ö uruchomi─ç karty sieci bezprzewodowej w systemie, potrzebowa─ç b─Ödziemy jeszcze jednego modu┼éu do obs┼éugi sterownika. Profilaktycznie, dobrze by by┼éo t─ů czynno┼Ť─ç wykona─ç.

modprobe lib80211 insmod wl.ko

5. Kopiujemy i uruchamiamy skompilowany sterownik

sudo cp wl.ko /lib/modules/$(uname -r)/kernel/net/wireless sudo depmod -a sudo modprobe wl

Ju┼╝ w tym momencie Network Manager powinien wykry─ç kart─Ö sieci bezprzewodowej. Je┼╝eli mamy stworzony jaki┼Ť profil Wifi, w├│wczas automatycznie nast─ůpi ┼é─ůczenie z sieci─ů. W wszystkich pozosta┼éych przypadkach, nale┼╝y wybra─ç sie─ç z listy.

6. Dodajemy autostart modułu po restarcie

Po ponownym uruchomieniu systemu, nale┼╝a┼éo by r─Öcznie wykona─ç procedur─Ö modprobe. Aby tego nie robi─ç, nale┼╝y do piku modu┼é├│w doda─ç stosown─ů linijk─Ö.

Otwieramy plik do edycji:

sudo vim /etc/modules

i dodajemy warto┼Ť─ç:

wl

Je┼╝eli mamy szcz─Ö┼Ťcie, wszystko b─Ödzie dzia┼éa─ç. Cho─ç… znaj─ůc ┼╝ycie, w praktyce bywa r├│┼╝nie, ale prosz─Ö pr├│bowa─ç i w razie czego pisa─ç, a ch─Ötnie pomog─Ö lub uzupe┼éni─Ö niniejsze How-To.

Aktualizacja 08-11-2009

Po aktualizacji kernela z repozytori├│w, ponownie tracimy nasz─ů kart─Ö sieciow─ů.

sudo modprobe wl

daje wynik negatywny:

FATAL: Module wl not found

W├│wczas nale┼╝y:

  • ponownie zainstalowa─ç modu┼éy linux-headers, dla kernela, kt├│ry aktualnie u┼╝ywamy;

  • przekompilowa─ç sterowniki zaczynaj─ůc praktycznie od pocz─ůtu - pkt. od 3 do 6.

St─ůd te┼╝, warto pozostawi─ç sobie spakowane sterowniki pod r─Ök─ů, a po aktualizacji kernela automatycznie pobra─ç dla niego linux-headers.

Pozdrawiam

Kategorie