0. Вступ та передумови
Ця відповідь ґрунтується на великому дослідженні, проведеному різними користувачами Ubuntu, які працювали разом у майже всіх питаннях, пов’язаних із Broadcom. Особлива подяка chili555, який допомагав на форумах Ubuntu та на цьому веб-сайті у багатьох питаннях, пов’язаних із бездротовими пристроями, та іншим, хто зробив свій внесок у електронну пошту, чати, IRC та багато іншого в тестуванні різних драйверів з кількома найпопулярнішими картками Broadcom Wireless. (Величезне спасибі Chili555 справді. Цей хлопець знає свої речі).
Загалом ми хотіли запропонувати відповідь, яку можна було б легко простежити, і охопили більшість карт / драйверів Broadcom. Дотримуючись цього посібника, НЕОБХІДНО протестувати бездротове з'єднання принаймні на 2 години (я фактично рекомендую 8 годин) з іншим пристроєм у режимі Ad-Hoc, Інфраструктурі або обом. Поширені проблеми, які будуть вирішені (окрім драйверів, які не встановлюють):
- Час очікування підключення через кілька хвилин або годин
- Зупиняє пошук інших пристроїв (не бачить жодного іншого пристрою)
- Продовжує запитувати пароль навіть у випадках, коли в AP немає
- Зупиняє будь-який прийом / передачу трафіку (потребує перезавантаження, щоб тимчасово виправити)
- Система збоїв із помилками dmesg у журналі (Посилання 1 нижче)
- Система повністю застигає (натискати кнопку Перезавантаження / живлення можна лише) (Посилання 1 нижче)
- Створює величезні звіти журналу, намагаючись правильно налаштувати або підключитися
- Не вдалося встановити через додаткові драйвери / додаткове обладнання (посилання 3 нижче)
- Підключається та відключається безперервно кожні X секунд
- З’являється підключеним у Менеджері мереж, але не отримує Інтернет
- Намагається підключитися багато разів, не закінчивши правильно з'єднання
- Займається занадто багато часу для підключення
- Після оновлення з попередньої версії (наприклад: 12.04 до 12.10) вона припиняє роботу
- Картка бездротового зв'язку не вмикається, не вмикається або вимикається (посилання 2 нижче)
- Бездротові карти заблоковані апаратним забезпеченням
- Більше проблем виявлено у Launchpad, Ubuntu Forum та Askubuntu
Посилання 1 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
Посилання 2 - https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
Посилання 3 - Подає помилку, подібну до "Вибачте, встановлення цього драйвера не вдалося."
Отже, маючи на увазі, що ми маємо зараз, це спрощено всього за 3 кроки:
1. Знаючи, що у вас є бездротова карта Broadcom
Існує десятки бездротових карток Broadcom і, здається, з'являється більше кожного дня. Ключовим моментом пошуку правильного драйвера для будь-якої мережевої карти є те, що відомо як ідентифікатор PCI (PCI.ID). Щоб дізнатися, який у вас PCI.ID, ми переходимо до відкриття терміналу натисканням CTRL+ ALT+ T(Це повинно відкрити вікно з порожнім фоном) і всередині цього терміналу виконуємо наступну команду:
lspci -nn -d 14e4:
Якщо у вас є бездротовий адаптер Broadcom (ID 14e4, який у більшості випадків використовується у більшості випадків, є бездротова картка Broadcom):
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
PCI.ID у цьому прикладі дорівнює 14e4: 4320, як показано у дужках [...]. У деяких випадках вам також знадобиться версія редакції (якщо вона з’явиться) для деяких особливих випадків. У цьому випадку версія редакції є rev 03, як показано в "Парентах" (...) наприкінці. Отже, що вам знадобиться після цього пошуку:
[14e4:4320] (rev 03)
З цією новою інформацією ви можете переглянути таблицю нижче та вибрати відповідний спосіб встановлення драйвера. Наприклад, у цьому випадку, оскільки у вас є 14e4: 4320 rev 03 , якщо ми перейдемо зі списку до того, який показує той самий PCI.ID, ви побачите, що у стовпцях для Ubuntu 12.04, 13.10 або 14.04 це показано firmware-b43-installer
пакет драйвера. Це означає, що вам доведеться встановлювати саме цей пакет, оскільки він відображається у всіх колонках версії Ubuntu.
ПРИМІТКА. Перш ніж продовжувати, якщо ви раніше встановили будь-які драйвери, внесли в чорний список або прокоментували будь-які файли драйверів або файли конфігурації або внесли якісь зміни в систему, щоб змусити драйвери працювати у попередніх спробах, вам потрібно буде скасувати їх, щоб дотримуйтесь цього керівництва. Ми припускаємо, що ви робите це з нуля і жодним чином не змінювали файли конфігурації, модулі чи драйвери в системі (крім оновлення системи). Сюди входять будь-які установки, що використовують apt-get, aptitude, synaptic, dpkg, центр програмного забезпечення або ручну компіляцію та встановлення пакетів. Система повинна починати з нуля, щоб це працювало і щоб уникнути будь-яких конфліктів, які можуть виникнути, якщо раніше була виконана робота.
Наприклад, якщо ви раніше встановили bcmwl-kernel-source
пакунок, вам потрібно буде його видалити, використовуючи метод очищення:
sudo apt-get purge bcmwl-kernel-source
2. Підготовка системи
Якщо ви тільки що встановили Ubuntu, вам потрібно буде скласти індекс доступних пакетів, перш ніж ми зможемо встановити ваш драйвер, якщо ви цього ще не зробили:
sudo apt update
Я б навіть пішов так далі, щоб оновити список Ubuntu PCI.ID:
sudo update-pciids
Про всяк випадок, якщо тільки що з'явився ідентифікатор конкретного нового пристрою Broadcom, який ви використовуєте.
Тепер, використовуючи PCI.ID, який ви знайшли у описаних вище кроках, ми шукаємо у наведеному нижче списку, щоб знайти відповідний PCI.ID та спосіб встановити пов'язаний з ним драйвер простим і правильним способом. Термінал буде використовуватися для уникнення будь-яких проблем, пов’язаних із графічним інтерфейсом. Це стосується всіх випадків, крім зазначених. Процедура установки проводиться лише через термінал, а також під час підключення до Інтернету за допомогою тимчасового дротового підключення до Ethernet або USB-модему чи будь-якими можливими засобами, які можуть надати вашому ПК на час доступ до Інтернету. Після того, як ви знайдете у списку нижче правильний пакет, ми продовжуємо встановлення.
3. Встановлення пакету (онлайн)
Якщо припустити, що ви використовували PCI.ID 14e4: 4320 rev 03, як було знайдено у вашому пошуку вище, а потім переглянули таблицю нижче і виявили, що правильний пакет для встановлення - це firmware-b43-installer
, ми переходимо до простого встановлення цього пакета в терміналі:
sudo apt install firmware-b43-installer
а потім перезавантажте
sudo reboot
Формат для установки досить простий, це просто:
sudo apt install <PACKAGE_NAME>
У наведеному вище прикладі PACKAGE_NAME є firmware-b43-installer
.
БЕЗКОШТОВНИЙ ТАБЛИЦЯ BROADCOM (оновлено 18 серпня 2017 р.)
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
------------------------------------------------------------------------------------
Спеціальний кейс №1 - використання bcma
та brcmsmac
комбінація водіїв. Необхідна прошивка встановлюється за замовчуванням у пакеті linux-firmware
.
Особливий випадок №2 - Для ASUS PCE-AC88 AC3100 такі дії:
- Завантажте цей файл і після вилучення його покладіть у / lib / firmware / brcm
sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
- Потім
sudo nano /etc/rc.local
додайте modprobe brcmfmac і збережіть
sudo reboot
У такому обладнанні, як Lenovo S10-2, якщо ваша бездротова картка застрягла, намагаючись підключитися до SSID (продовжує намагатися підключитися), то альтернативою для її роботи було б встановити bcmwl-kernel-source
пакет (Видаліть будь-які інші встановлені пакети, пов’язані з ним ). Прочитайте розділ Налагодження нижче для отримання додаткової інформації щодо цього бездротового пристрою.
ВАЖЛИВО ПРИМІТКА. Після вересня 2014 року, якщо ви дотримуєтесь цієї відповіді, і все-таки у вас виникли проблеми з встановленням правильного драйвера, будь ласка, спробуйте firmware-b43-installer
пакет та повідомте нас через коментарі. Були деякі зміни, і деякі драйвери працюватимуть лише з цим пакетом. Не забудьте мати чисту систему перед її встановленням:
sudo apt install firmware-b43-installer
У деяких конкретних випадках після встановлення firmware-b43-installer
вам потрібно видалити модуль b43, включити його знову і навіть перейти до розблокування за допомогою rfkill:
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
Якщо у вас є картка Broadcom, яка має інший pci.id, будь ласка, задайте нове запитання. Після вирішення рішення буде додано до цього способу.
4. Встановлення пакету (офлайн)
4.1 Встановлення firmware-b43-installer
Щоб встановити firmware-b43-installer
офлайн, дивіться цю відповідь .
4.2 Встановлення bcmwl-kernel-source
У випадках, коли вам потрібно встановити, bcmwl-kernel-source
але ви перебуваєте в автономному режимі, ось чудова відповідь про це. Але в основному виконайте ці кроки:
- Шукайте пакет у сховищах пакетів Ubuntu
- Переконайтесь, що ви вибрали правильну архітектуру (32-бітну, 64-бітну тощо).
- Завантажте пов'язані з ним пакети пакетів та залежностей у ту саму папку.
- Коли у вас є всі необхідні пакети (та їх залежності), перейдіть до папки, у якій є всі пакунки, та запустіть
sudo dpkg -i *.deb
. Це дозволить встановити всі пакунки у цій папці. Якщо вона дає будь-які помилки, прочитайте помилку та виконайте кроки, про які вона згадує.
Щоб навести приклад, після переходу до пункту 1, згаданого вище, якби у вас був Broadcom 14e4:43a0
, ви б шукали bcmwl-kernel-source
пакунок і після вибору відповідної версії Ubuntu (у моєму випадку 16.04 або Xenial) я приземлююся на наступну сторінку:
http://packages.ubuntu.com/xenial/bcmwl-kernel-source
На цій сторінці я вибрав би відповідну архітектуру (32 або 64), але мені також слід завантажити 3 залежності пакета, згадані на цій сторінці, як показано на наступному зображенні:
Завантаживши всі пакети та залежності, можна перейти до копіювання всіх пакетів в одну папку та запуску dpkg
команди, як зазначено на кроці 4 вище.
ПРИМІТКА
На деяких комп’ютерах перед виконанням команд вам потрібно буде відключити параметри захищеного завантаження у вашому BIOS. Це стосується випадків, наприклад, коли bcmwl-kernel-source вже встановлений, але драйвер ще не працює. Ви можете зробити перевстановлення на зразок цього або відключити захищене завантаження, перейшовши до BIOS Setup:
sudo apt-get install --reinstall bcmwl-kernel-source
ВІДЗНАЧЕННЯ
Наступна інформація є додатковим матеріалом для ознайомлення з вирішенням різних питань, пов’язаних із бездротовим керуванням та конфліктами з іншими мережевими пристроями. Знайте, що для деяких випадків вам потрібна оновлена версія Kernel, оскільки кожна нова версія Kernel вводить або нові драйвери мережі, вдосконалення щодо існуючих драйверів або вирішує помилки щодо них.
Перш ніж прочитати пункти, згадані нижче, переконайтеся, що у вашій системі Ubuntu увімкнено всі сховища. Щоб перевірити, запустіть на терміналі software-properties-gtk
та переконайтесь, що всі параметри на вкладці програм Ubuntu включені.
Для налаштування бездротових пристроїв через термінал рекомендую Як підключити та відключитись до мережі вручну в терміналі?
Якщо ваше з'єднання падає так часто, деякі користувачі пропонують встановити IPv6 на Ігнорувати . Просто перейдіть до Менеджера мережі (піктограма мережі на верхній панелі). Клацніть по ньому, а потім виберіть Правка параметрів . Потім перейдіть до бездротового з'єднання, яке ви використовуєте, виберіть його. Тепер перейдіть на останню вкладку там, де згадуються налаштування IPv6 . У полі Метод виберіть Ігнорувати .
Якщо ваш ноутбук не виявить вашу бездротову карту, деякі користувачі згадали, що використання rfkill unblock all
буде вирішено проблему. Інші просто вимкнули перемикач WiFi на своїх ноутбуках, а потім знову ввімкнули (фізичний перемикач, доступний на цих ноутбуках). Для отримання додаткової інформації про, rfkill
будь ласка, прочитайте rf kill unblock all НЕ ПРАЦЮЄ!
Якщо ви отримуєте b43-phy0 ПОМИЛКА: Фатальна помилка DMA / b43-phy0 попередження: Примусовий PIO зробіть наступне:
sudo rmmod b43
sudo modprobe b43 pio=0 qos=0
Якщо він працює, тоді додайте його до RC-файлів, щоб він виконувався при кожному завантаженні. Ви можете змінити PIO на 1, якщо вам потрібно.
Якщо у вас є необхідний ключ, недоступний під час встановлення модуля DKMS (як-от Nvidia, Broadcom чи інші), перейдіть до відповіді пілота тут
Якщо ваша бездротова карта бачить / не бачить маршрутизатор і застрягає в нескінченному циклі "Спроба підключитися (Спробуйте 1/3)", рішення може бути правильною конфігурацією вашого маршрутизатора або бездротового пристрою SSID.
Для всіх бездротових карт в цілому дуже важливо враховувати також мережеві пристрої, які ви використовуєте (маршрутизатори, комутатори, бездротові канали та бездротові смуги тощо). За допомогою цієї інформації ви зможете краще оцінити, яким може бути джерело проблеми, коли ви приїдете в тупик. Прикладом може бути Lenovo S10-2, який використовує 14e4: 4315 rev 01 PCIID. Навіть після встановлення правильного драйвера користувач опинився б у циклі "спроби підключення". Він побачив би бездротовий SSID, але, намагаючись підключитися до нього, він би входив у повторно з'єднувальний цикл.
Рішення полягало в тому, що саме цей бездротовий пристрій не підтримує 40 МГц каналів, а також не підтримує 802.11N. Роутер у цьому випадку насправді транслював із вимушеним 40 МГц та лише через WiFi-N. Коли для маршрутизатора було встановлено автоматичний режим і канал 20/40 МГц, бездротова карта працювала правильно. Це сценарій випадку, який повторюється і в інших випадках, тому правильна оцінка мережевого обладнання допомогла б дуже допомогти.
У випадках, коли вас повторюють:
ПОМИЛКА @ wl_cfg80211_get_station: неправильна адреса Mac ...
коли dmesg
бездротове з'єднання падає часто (кілька разів на годину або в день), тут може виникнути проблема, що ви перебуваєте всередині бездротового сигналу, який використовується як міст бездротового зв'язку (2 маршрутизатори, що мають один і той же SSID і з'єднання). Це може статися із сучасними маршрутизаторами, які мають можливість розширити бездротове з'єднання, пропонуючи той самий SSID. ваше бездротове з'єднання може впасти, оскільки ви можете знаходитись між обома маршрутизаторами, а сила сигналу між обома майже однакова.
Якщо ваше з'єднання падає дуже часто, це означає, що ви майже в середині обох пристроїв маршрутизатора. Щоб знизити або виключити швидкість падіння вашого бездротового пристрою, спробуйте розташувати себе там, де ваша бездротова карта може бачити лише один маршрутизатор, або принаймні один з маршрутизаторів має більшу силу сигналу, ніж інший.
Існують також деякі методи змусити бездротовий пристрій підключитися лише до певного маршрутизатора, встановивши BSSID на MAC-адресу маршрутизатора, до якого ви хочете підключитися. Це змусить ваш бездротовий пристрій ТОЛЬКО підключитися до нього.
Безпечні проблеми завантаження
У деяких конкретних сценаріях встановлення драйверів, будь то в автономному режимі через різні пакети DEB або через apt-get з доступом до Інтернету, не працюватиме, якщо захищене завантаження не вимкнено.
Це тому, що потрібний доступ заборонено Secure Boot, тому драйвери виглядатимуть як вони встановлені правильно, а насправді цього не зробили. Тому для ДУЖЕ специфічних випадків вам потрібно тимчасово відключити захищене завантаження для того, щоб драйвери працювали.
Оновлення прошивки Linux
В інших випадках пошук та встановлення найновішої прошивки Linux вирішить проблему. Або вирішення незначних проблем, які виникали з робочою карткою, або змушення картки працювати вперше.