0. Wprowadzenie i kontekst
Ta odpowiedź jest oparta na szeroko zakrojonych badaniach przeprowadzonych przez różnych użytkowników Ubuntu, którzy współpracowali w prawie wszystkich kwestiach związanych z Broadcom. Specjalne podziękowania dla chili555, który pomógł na forach Ubuntu i na tej stronie wieloma pytaniami związanymi z urządzeniami bezprzewodowymi oraz innym, którzy przyczynili się przez e-mail, czaty, IRC i inne w testowaniu różnych sterowników za pomocą kilku najpopularniejszych kart Broadcom Wireless (Ogromne podziękowania dla Chili555 naprawdę. Ten facet zna swoje rzeczy).
W sumie chcieliśmy zaoferować odpowiedź, która mogłaby być łatwa do naśladowania i obejmowała większość kart / sterowników Broadcom. Po wykonaniu tego przewodnika POTRZEBUJESZ przetestować połączenie bezprzewodowe przez co najmniej 2 godziny (tak naprawdę zalecam 8 godzin) z innym urządzeniem w trybie Ad-Hoc, trybie infrastruktury lub w obu tych trybach. Typowe problemy, które zostaną rozwiązane (oprócz braku instalacji sterowników) to:
- Upłynął limit czasu połączeń po kilku minutach lub godzinach
- Zatrzymuje wyszukiwanie innych urządzeń (nie widzi innego urządzenia)
- Ciągle pyta o hasło, nawet w przypadkach, gdy AP nie ma
- Zatrzymuje wszelki ruch odbierający / przesyłający (wymaga tymczasowego ponownego uruchomienia)
- Awaria systemu z błędami dmesg w dzienniku (Link 1 poniżej)
- System całkowicie się zawiesza (można nacisnąć tylko przycisk Reboot / Power) (Link 1 poniżej)
- Tworzy ogromne raporty dziennika próbujące poprawnie skonfigurować lub połączyć
- Nie powiedzie się, gdy zostanie zainstalowany przez dodatkowe sterowniki / dodatkowy sprzęt (Link 3 poniżej)
- Łączy się i rozłącza w sposób ciągły co X sekund
- Pojawia się połączony w Network Managerze, ale nie odbiera Internetu
- Próbuje połączyć się wiele razy bez poprawnego zakończenia połączenia
- Połączenie trwa zbyt długo
- Po aktualizacji z poprzedniej wersji (np. 12.04 do 12.10) przestaje działać
- Karta bezprzewodowa nie włącza się, nie włącza ani nie wyłącza (Link 2 poniżej)
- Karta bezprzewodowa zablokowana przez sprzęt
- Więcej problemów znaleziono w Launchpad, Ubuntu Forum i Askubuntu
Link 1 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
Link 2 - https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
Link 3 - Występuje błąd podobny do „Przepraszamy, instalacja tego sterownika nie powiodła się”.
Mając to na uwadze, oto, co mamy teraz, co zostało uproszczone w zaledwie 3 krokach:
1. Wiedząc, jaką posiadasz bezprzewodową kartę Broadcom
Istnieją dziesiątki bezprzewodowych kart Broadcom, a kolejne wydają się pojawiać każdego dnia. Kluczem do znalezienia właściwego sterownika dla dowolnej karty sieciowej jest tak zwany PCI ID (PCI.ID). Aby dowiedzieć się, który PCI.ID posiadasz, przystępujemy do otwierania terminala, naciskając CTRL+ ALT+ T(powinno otworzyć się okno z pustym tłem) i wewnątrz tego terminala uruchamiamy następujące polecenie:
lspci -nn -d 14e4:
Otrzymasz coś takiego, jeśli masz bezprzewodowy adapter Broadcom (identyfikator 14e4 użyty w powyższym przykładzie w większości przypadków to bezprzewodowa karta Broadcom):
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
PCI.ID w tym przykładzie to 14e4: 4320, jak widać w nawiasach [...]. W niektórych przypadkach będziesz także potrzebować wersji poprawionej (jeśli się pojawi) w niektórych szczególnych przypadkach. W tym przypadku wersją wersji jest wersja 03, jak pokazano w nawiasach (...) na końcu. Więc po tym wyszukiwaniu będziesz potrzebować:
[14e4:4320] (rev 03)
Dzięki tym nowym informacjom możesz zajrzeć do poniższej tabeli i wybrać odpowiednią metodę instalacji sterownika. Na przykład, w tym przypadku, ponieważ masz 14e4: 4320 rev 03 , jeśli przejdziemy do listy, która pokazuje dokładnie ten sam PCI.ID, zobaczysz, że w kolumnach dla Ubuntu 12.04, 13.10 lub 14.04 pokazuje firmware-b43-installer
kierowca pakiet. Oznacza to, że będziesz musiał zainstalować ten konkretny pakiet, ponieważ pojawia się on we wszystkich kolumnach wersji Ubuntu.
UWAGA - Przed kontynuowaniem, jeśli wcześniej zainstalowałeś jakieś sterowniki, umieściłeś na czarnej liście lub nie skomentowałeś żadnych plików sterowników lub plików konfiguracyjnych lub dokonałeś jakichkolwiek zmian w systemie, aby sterowniki działały w poprzednich próbach, musisz cofnąć je, aby postępuj zgodnie z tym przewodnikiem. Zakładamy, że robisz to od zera i nie zmieniłeś żadnych plików konfiguracyjnych, modułów ani sterowników w systemie w żaden sposób (oprócz aktualizacji systemu). Obejmuje to wszelkie instalacje korzystające z apt-get, aptitude, synaptic, dpkg, centrum oprogramowania lub ręcznej kompilacji i instalacji pakietów. System musi zaczynać od zera, aby to działało i aby uniknąć konfliktów, które mogłyby się pojawić, gdyby wcześniej wykonano pracę.
Na przykład, jeśli wcześniej zainstalowałeś bcmwl-kernel-source
pakiet, musisz go usunąć za pomocą metody purge:
sudo apt-get purge bcmwl-kernel-source
2. Przygotowanie systemu
Jeśli właśnie zainstalowałeś Ubuntu, musisz zbudować indeks dostępnych pakietów, zanim będziemy mogli zainstalować sterownik, jeśli jeszcze tego nie zrobiłeś:
sudo apt update
Chciałbym nawet posunąć się dalej, aby zaktualizować listę Ubuntu dla PCI.ID:
sudo update-pciids
Na wypadek, gdyby właśnie pojawił się identyfikator konkretnego nowego urządzenia Broadcom, którego używasz.
Teraz, używając PCI.ID, który znalazłeś w powyższych krokach, przeszukujemy poniższą listę, aby znaleźć pasujący PCI.ID i metodę instalacji sterownika z nim powiązanego w prosty i poprawny sposób. Terminal będzie używany w celu uniknięcia problemów związanych z GUI. Dotyczy to wszystkich przypadków, z wyjątkiem wskazanych. Procedura instalacji odbywa się tylko za pośrednictwem terminala, a także po podłączeniu do Internetu za pomocą tymczasowego przewodowego połączenia Ethernet lub modemu USB lub w inny możliwy sposób, który może zapewnić komputerowi dostęp do Internetu. Po znalezieniu na liście poniżej odpowiedniego pakietu kontynuujemy instalację.
3. Instalowanie pakietu (online)
Zakładając, że użyłeś PCI.ID 14e4: 4320 rev 03, jak znaleziono w powyższym wyszukiwaniu, a następnie spojrzał na tabelę poniżej i stwierdził, że poprawny pakiet do zainstalowania to firmware-b43-installer
, następnie przystępujemy do instalacji tego pakietu w terminalu:
sudo apt install firmware-b43-installer
a następnie uruchom ponownie
sudo reboot
Format do zainstalowania jest dość prosty, to po prostu:
sudo apt install <PACKAGE_NAME>
W powyższym przykładzie PACKAGE_NAME to firmware-b43-installer
.
TABELA BEZPRZEWODOWA BROADCOM (zaktualizowana 18 sierpnia 2017 r.)
PCI.ID 16.04 LTS 17.10+
------------------------------------------------------------------------------------
14e4:0576 Special Case #1 UNKNOWN
14e4:1713 firmware-b43-installer firmware-b43-installer
14e4:4301 firmware-b43-installer firmware-b43-installer
14e4:4306 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4307 firmware-b43-installer firmware-b43-installer
14e4:4311 firmware-b43-installer firmware-b43-installer
14e4:4311 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4312 firmware-b43-installer firmware-b43-installer
14e4:4313 firmware-b43-installer firmware-b43-installer
14e4:4315 firmware-b43-installer firmware-b43-installer
14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4318 firmware-b43-installer firmware-b43-installer
14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4319 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4321 firmware-b43-installer firmware-b43-installer
14e4:4324 firmware-b43-installer firmware-b43-installer
14e4:4325 firmware-b43-installer firmware-b43-installer
14e4:4328 firmware-b43-installer firmware-b43-installer
14e4:4328 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:4329 bcmwl-kernel-source bcmwl-kernel-source
14e4:432a bcmwl-kernel-source bcmwl-kernel-source
14e4:432b bcmwl-kernel-source bcmwl-kernel-source
14e4:432c bcmwl-kernel-source bcmwl-kernel-source
14e4:432d bcmwl-kernel-source bcmwl-kernel-source
14e4:4331 firmware-b43-installer firmware-b43-installer
14e4:4335 firmware-b43-installer firmware-b43-installer
14e4:4350 firmware-b43-installer firmware-b43-installer
14e4:4353 Special Case #1 UNKNOWN
14e4:4353 rev 01 Special Case #1 UNKNOWN
14e4:4357 Special Case #1 UNKNOWN
14e4:4358 bcmwl-kernel-source bcmwl-kernel-source
14e4:4359 bcmwl-kernel-source bcmwl-kernel-source
14e4:4360 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43ae rev 02 UNKNOWN UNKNOWN
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:43c3 rev 04 UNKNOWN Special Case #2
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 rev 01 Special Case #1 Special Case #1
14e4:a962 firmware-b43-installer firmware-b43-installer
------------------------------------------------------------------------------------
Przypadek specjalny nr 1 - zastosowania bcma
i brcmsmac
kombinacja sterowników. Wymagane oprogramowanie jest instalowane domyślnie w pakiecie linux-firmware
.
Przypadek specjalny nr 2 - w przypadku ASUS PCE-AC88 AC3100 kroki są następujące:
- Pobierz ten plik i po rozpakowaniu umieść go w / lib / firmware / brcm
sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
- Następnie
sudo nano /etc/rc.local
dodaj modprobe brcmfmac i zapisz
sudo reboot
W sprzęcie takim jak Lenovo S10-2, jeśli twoja karta bezprzewodowa utknie podczas próby połączenia się z identyfikatorem SSID (ciągle próbuje się połączyć), wówczas alternatywą może być zainstalowanie bcmwl-kernel-source
pakietu (Usuń wszystkie inne zainstalowane pakiety z nim powiązane ). Przeczytaj sekcję Debugowanie poniżej, aby uzyskać więcej informacji dotyczących tego urządzenia bezprzewodowego.
WAŻNA INFORMACJA - Po zakończeniu września 2014 r. Nadal będziesz mieć problemy z instalacją poprawnego sterownika, wypróbuj firmware-b43-installer
pakiet i powiadom nas za pomocą komentarzy. Wprowadzono pewne zmiany i niektóre sterowniki będą działać tylko z tym pakietem. Pamiętaj, aby mieć czysty system przed jego zainstalowaniem:
sudo apt install firmware-b43-installer
W niektórych szczególnych przypadkach po zainstalowaniu firmware-b43-installer
musisz usunąć moduł b43, włączyć go ponownie, a nawet przejść do odblokowania za pomocą rfkill:
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
Jeśli masz kartę Broadcom z innym identyfikatorem pci.id, zadaj nowe pytanie. Po rozwiązaniu rozwiązanie zostanie dodane do tego poradnika.
4. Instalowanie pakietu (offline)
4.1 Instalacja firmware-b43-installer
Aby zainstalować firmware-b43-installer
offline, zobacz tę odpowiedź .
4.2 Instalowanie bcmwl-kernel-source
W przypadkach, w których musisz zainstalować, bcmwl-kernel-source
ale jesteś offline, oto doskonała odpowiedź na ten temat. Ale w zasadzie wykonaj następujące kroki:
- Wyszukaj pakiet w repozytoriach pakietów Ubuntu
- Upewnij się, że wybierasz prawidłową architekturę (32-bitową, 64-bitową itp.)
- Pobierz pakiet i powiązane z nim pakiety zależności w tym samym folderze.
- Gdy masz wszystkie potrzebne pakiety (i ich zależności), przejdź do folderu zawierającego wszystkie pakiety i uruchom
sudo dpkg -i *.deb
. Spowoduje to zainstalowanie wszystkich pakietów w tym folderze. Jeśli wystąpią błędy, przeczytaj błąd i postępuj zgodnie z podanymi krokami.
Dla przykładu, po przejściu do wspomnianego wyżej punktu 1, gdybyś miał Broadcom 14e4:43a0
, bcmwl-kernel-source
szukałbyś pakietu i po wybraniu odpowiedniej wersji Ubuntu (w moim przypadku 16.04 lub Xenial) wylądowałbym na następującej stronie:
http://packages.ubuntu.com/xenial/bcmwl-kernel-source
Na tej stronie wybrałbym odpowiednią architekturę (32 lub 64), ale musiałbym również pobrać 3 zależności pakietu wymienione na tej stronie, jak pokazano na poniższym obrazie:
Po pobraniu wszystkich pakietów i zależności możesz kontynuować kopiowanie wszystkich pakietów do jednego folderu i uruchomienie dpkg
polecenia, jak wspomniano w kroku 4 powyżej.
UWAGA
Na niektórych komputerach przed wykonaniem poleceń konieczne będzie wyłączenie opcji bezpiecznego rozruchu w systemie BIOS. Dotyczy to na przykład przypadków, w których bcmwl-kernel-source jest już zainstalowany, ale sterownik jeszcze nie działa. Możesz wykonać ponowną instalację lub wyłączyć Bezpieczny rozruch, przechodząc do konfiguracji systemu BIOS:
sudo apt-get install --reinstall bcmwl-kernel-source
DEBUGOWANIE
Poniższe informacje stanowią dodatkowy materiał do przeczytania na temat rozwiązywania różnych problemów związanych z zarządzaniem bezprzewodowym i konfliktami z innymi urządzeniami sieciowymi. Wiedz, że w niektórych przypadkach musisz mieć zaktualizowaną wersję jądra, ponieważ każda nowa wersja jądra wprowadza nowe sterowniki sieciowe, ulepszenia w stosunku do istniejących sterowników lub rozwiązuje związane z nimi błędy.
Przed przeczytaniem poniższych punktów upewnij się, że wszystkie repozytoria są włączone w systemie Ubuntu. Aby to sprawdzić, uruchom terminal software-properties-gtk
i upewnij się, że wszystkie opcje na karcie oprogramowania Ubuntu są włączone.
Aby skonfigurować urządzenia bezprzewodowe za pomocą terminala, zalecam Jak ręcznie podłączyć i rozłączyć się z siecią w terminalu?
Jeśli połączenie zrywa się tak często, niektórzy użytkownicy sugerują, aby ustawić IPv6 na Ignoruj . Wystarczy przejść do Network Managera (ikona sieci na górnym panelu). Kliknij go, a następnie wybierz Edytuj ustawienia . Następnie przejdź do używanego połączenia bezprzewodowego, wybierz je. Teraz przejdź do ostatniej karty, która wspomina o ustawieniach IPv6 . W polu Metoda wybierz Ignoruj .
Jeśli Twój laptop nie wykryje karty sieci bezprzewodowej, niektórzy użytkownicy wspomnieli, że użycie rfkill unblock all
rozwiąże problem. Inni po prostu wyłączali przełącznik WiFi na swoich laptopach, a następnie włączali ponownie (przełącznik fizyczny dostępny na tych laptopach). Aby uzyskać więcej informacji na temat rfkill
przeczytaj rf kill, odblokuj wszystko NIE DZIAŁA!
Jeśli otrzymujesz b43-phy0 BŁĄD: krytyczny błąd DMA / b43-phy0 ostrzeżenie: Wymuszone PIO wykonaj następujące czynności:
sudo rmmod b43
sudo modprobe b43 pio=0 qos=0
Jeśli to działa, dodaj go do plików RC, aby był uruchamiany przy każdym uruchomieniu. W razie potrzeby możesz zmienić PIO na 1.
Jeśli wymagany klucz nie jest dostępny podczas instalowania modułu DKMS (takiego jak Nvidia, Broadcom lub inne), możesz przejść do odpowiedzi pilota tutaj
Jeśli twoja karta bezprzewodowa widzi / nie widzi routera i utknie w niekończącej się pętli „Próbowanie połączenia (Spróbuj 1/3)”, rozwiązaniem może być odpowiednia konfiguracja routera lub bezprzewodowego urządzenia SSID.
W przypadku wszystkich kart bezprzewodowych bardzo ważne jest również wzięcie pod uwagę używanych urządzeń sieciowych (routery, przełączniki, kanały bezprzewodowe i pasma bezprzewodowe itp.). Dzięki tym informacjom będziesz w stanie lepiej ocenić, jakie może być źródło problemu po dotarciu w ślepy zaułek. Przykładem może być Lenovo S10-2, który wykorzystuje PCIe 14e4: 4315 rev 01 . Nawet po zainstalowaniu prawidłowego sterownika użytkownik znalazłby się w pętli „próbuje się połączyć”. Zobaczy bezprzewodowy identyfikator SSID, ale przy próbie połączenia się z nim wejdzie w pętlę ponownego łączenia.
Rozwiązaniem było to, że to konkretne urządzenie bezprzewodowe nie obsługuje kanałów 40 MHz ani nie obsługuje 802.11N. Router w tym przypadku faktycznie nadawał z wymuszonym 40 MHz i tylko przez WiFi-N. Gdy router został ustawiony w tryb automatyczny i kanał 20/40 MHz, karta bezprzewodowa działała poprawnie. Jest to scenariusz przypadku, który powtarza się również w innych przypadkach, więc właściwa ocena sprzętu sieciowego bardzo by pomogła.
W przypadkach powtarzających się:
BŁĄD @ wl_cfg80211_get_station: Niepoprawny adres Mac ...
podczas wykonywania tej czynności, dmesg
a połączenie bezprzewodowe często zrywa się (kilka razy na godzinę lub dziennie), problemem może być to, że znajdujesz się w sygnale bezprzewodowym, który jest używany jako mostek bezprzewodowy (2 routery współdzielą ten sam SSID i połączenie). Może się to zdarzyć w przypadku nowoczesnych routerów, które mają możliwość przedłużenia połączenia bezprzewodowego, oferując ten sam identyfikator SSID. Twoje połączenie bezprzewodowe może zostać zerwane, ponieważ możesz znajdować się między oboma routerami, a siła sygnału między nimi jest prawie taka sama.
Jeśli połączenie często zrywa się, oznacza to, że jesteś prawie na środku obu routerów. Aby obniżyć lub wyeliminować wskaźnik upuszczania urządzenia bezprzewodowego, spróbuj ustawić się w miejscu, w którym karta bezprzewodowa widzi tylko jeden router lub co najmniej jeden z routerów ma wyższą siłę sygnału niż drugi.
Istnieją również pewne techniki wymuszania, aby urządzenie bezprzewodowe łączyło się tylko z określonym routerem, ustawiając BSSID na adres MAC routera, z którym chcesz się połączyć. Zmusi to urządzenie bezprzewodowe do połączenia się z nim TYLKO.
Problemy z bezpiecznym uruchomieniem
W niektórych scenariuszach instalowanie sterowników, czy to w trybie offline za pośrednictwem różnych pakietów DEB lub poprzez apt-get z dostępem do Internetu, nie będzie działać, jeśli Secure Boot nie zostanie wyłączony.
Wynika to z faktu, że Bezpieczny rozruch odmawia wymaganego dostępu, dlatego sterowniki będą wyglądać, jakby zostały poprawnie zainstalowane, podczas gdy w rzeczywistości tak nie było. Dlatego w BARDZO szczególnych przypadkach konieczne będzie tymczasowe wyłączenie Bezpiecznego rozruchu, aby sterowniki mogły działać.
Aktualizacja oprogramowania układowego systemu Linux
W innych przypadkach znalezienie i zainstalowanie najnowszego oprogramowania układowego systemu Linux rozwiązałoby problem. Albo rozwiązuj drobne problemy, które miały miejsce z działającą kartą, albo spraw, aby karta działała po raz pierwszy.