Debian & Broadcom Wireless & ndiswrapper

Ostatnio zakupiłem sobie router TP-Link TL-WR542G. Wcześniej używałem starego komputera z Pentium III 500 MHz, 96 RAM, z Gentoo w środku. Fajnie jest mieć router, którym można sobie zarządzać z konsoli, ale ma kilka wad - głośno chodzi, brak wi-fi, większy pobór prądu, zajmuje więcej miejsca. Ale starczy narzekania, do rzeczy. Pierwsze uruchomienie, szybka konfiguracja i coś tu nie gra. Internet strasznie zamula przez wi-fi. Wyniki testu łącza strasznie słabe - 300 kb przy pobieraniu danych, podczas gdy przy połączeniu przez kabel wychodziło około 2Mb. Jak nie trudno domyślić się, przyczyna tkwiła w sterowniku (BCM43xx). Z pomocą przychodzi ndiswrapper, który umożliwia instalację sterowników kart sieciowych, napisanych dla Windowsa. Sterowniki oraz listę obsługiwanych kart można znaleźć na stronie projektu. Przy wyborze sterownika należy zwrócić uwagę na pciid karty, które można odczytać przy pomocy polecenia lspci -nn. W moim przypadku jest to 14e4:4320
$ lspci -nn | grep Broadcom
02:04.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 03)
więc dla mojej karty odpowiedni jest sterownik bcmwl5. Czas na istalację: # aptitude install ndiswrapper-common
# ndiswrapper -i bcmwl5.inf
Jeszcze tylko załadowanie modułu: # modprobe ndiswrapper
FATAL: Module ndiswrapper not found
Jak widać, moduł który chcę załadować nie istnieje. Trzeba więc taki moduł stworzyć. Potrzebne do tego będą pakiety: build-essential, module-assistant, ndiswrapper-source oraz linux-headers-2.[wersja_jądra], w przypadku korzystania z jądra z repozytorium. # aptitude build-essential module-assistant ndiswrapper-source
# m-a a-i ndiswrapper
# modprobe ndiswrapper
Teraz już można w pełni cieszyć się bezprzewodowym dostępem do internetu.
Żeby moduł uruchamiał się przy starcie systemu, wystarczy dopisać go do listy /etc/modules: # echo "ndiswrapper" >> /etc/modules i dodać moduł bcm43xx do czarnej listy, żeby nie ładował się przy starcie systemu i nie kolidował z ndiswrapperem: # echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist

Komentarze

  1. Mateusz Kozak
    16 marca 2008 | #

    A o b43 słyszał?

  2. 16 marca 2008 | #

    Jasne że słyszał, ale wolał ndiswrappera.

  3. Mateusz Kozak
    16 marca 2008 | #

    Jeśli wydajność ma dla Ciebie jakieś większe znaczenie to mimo wszystko polecam b43.
    Testowane własnoręcznie. b43 ma ~33% większa wydajność jeśli chodzi i szybkości transfery w stosunku do ndiswrappera.

  4. 16 marca 2008 | #

    A jak jest z b43legacy? Moja karta ma mac core version 3, a b43 wymaga >= 5

  5. 16 marca 2008 | #

    Ostatnio kombinowałem na różne sposoby z wifi i ndiswrapper to chyba jedno z najlepszych i najprostszych wyjść, nie trzeba dużo mieszać aby wszystko działało :)

Napisz komentarz