Od jakiegoś czasu męczyłem się z konfiguracją mojej karty wifi Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01) pod openSUSE 10.3. Natywna wersja sterowników niestety raz działała a raz nie, dlatego zdecydowałem się zainstalować sterowniki windowsowe za pomocą ndiswrappera. Poniżej zamieszcza krótki opis jak to zrobić, oparty na opisie z suseblog.com

1. Usuwanie natywnych sterowników bcm43xx
Na samym początku należy usunąć moduł bcm43xx. Wchodzimy do konsoli i wpisujemy:

$ su
Password:
# rmmod bcm43xx

Następnie należy poinstruować system, aby nie próbował już używać tego sterownika. Edytujemy plik /etc/modprobe.conf.local i na końcu dodajemy taką linijkę:

blacklist bcm43xx
Sterownik bcm43xx nie będzie już sprawiał nam problemów.

2. Instalacja windowsowego sterownika
Teraz przechodzimy do instalacji ndiswrappera i windowsowego sterownika bcmwl5. Wchodzimy do Yasta i instalujemy ndiswrappera. Następnie pobieramy sterownik stąd. Przechodzimy ponownie do konsoli i rozpakowujemy archiwum:

# tar -jxvf bcmwl5.tar.bz2
Następnie instalujemy go:

# ndiswrapper -i bcmwl5/bcmwl5.inf
Teraz sprawdzimy czy sterownik napewno się zainstalował:

# ndiswrapper -l
bcmwl5 : driver installed
device (14E4:4311) present (alternate driver: bcm43xx)

Jeśli wyświetliło się coś podobnego, to instalacja przebiegła poprawnie.

3. Konfiguracja
Teraz należy stworzyć plik konfiguracyjny dla ndiswrappera:

# ndiswrapper -m
Odłączamy wszystkie kable sieciowe i uruchamiamy ndiswrappera:

# modprobe ndiswrapper
Od tego momentu powinno nam działać połaczenie wifi. Możemy jeszcze sprawdzić czy tak jest poleceniami iwconfig i iwlist.

4. Ndiswrapper i automatyczne uruchamianie.
Aby ustawić ndiswrappera do obsługi karty sieciowej na stałe, należy uruchomić Yast2, przejść do zakładki Urządzenia sieciowe-> Karta sieciowa. Teraz edytujemy ustawienia karty wifi i wybieramy zakładkę Sprzęt. W polu Nazwa modułu wpisujemy ndiswrapper i uruchamiamy ponownie system.