16 marca 2008
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 więc dla mojej karty odpowiedni jest sterownik bcmwl5. Czas na istalację:
02:04.0 Network controller [0280]: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [14e4:4320] (rev 03)# aptitude install ndiswrapper-common Jeszcze tylko załadowanie modułu:
# ndiswrapper -i bcmwl5.inf# modprobe ndiswrapper 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.
FATAL: Module ndiswrapper not found# aptitude build-essential module-assistant ndiswrapper-source Teraz już można w pełni cieszyć się bezprzewodowym dostępem do internetu.
# m-a a-i ndiswrapper
# modprobe ndiswrapper
Ż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
5 komentarzy