Debian настроить wifi broadcom 4311

Обновлено: 04.07.2024

В бюджетных ноутбуках часто используются беспроводные сетевые адаптеры от компании Broadcom. Если в Windows не возникает никаких проблем при создании точки доступа на карте практически любого производителя, то в Linux про точку доступа мы уже не говорим, просто подключиться к сети через WiFi может вызвать очень серьезные затруднения. Правда, в последнее время ситуация немного улучшилась.

В этой инструкции мы рассмотрим как создать точку доступа Wifi Ubuntu, на примере карты на карте Broadcom. В других дистрибутивах действия и настройки будут похожие, только файлы и команды установки могут немного отличаться. Мы разберемся как сделать точку доступа wifi через графический интерфейс и в терминале.

Подготовка к созданию точки доступа

Для карт Broadcom есть четыре драйвера: стандартный и по умолчанию включенный b43, входящие в состав ядра brcmsmac и brcmfmac, а также проприетарный драйвер broadcom linux под названием wl. Сразу скажу что проприетарный драйвер совсем никудышный, так как не поддерживает не только режим точки доступа, но и неразборчивый режим тоже.

Стандартный b43 и brcmfmac для карты B4313 не подходят потому что не работают в режиме точки доступа, хотя эти уже поддерживают режим монитора. Посмотреть поддерживает ли ваш драйвер режим точки доступа (Master Mode) можно на этой странице. Остается только brcmsmac, который можно заставить раздать wfi linux. Сначала разберемся с драйверами ядра. Теперь, когда мы определились что будем использовать, перейдем к настройке broadcom linux. Смотрим какой драйвер загружен:

Если есть вот такие строчки, то все хорошо и драйвер загружен правильно:

brcmsmac 497481 0
cordic 1024 1 brcmsmac
brcmutil 4596 1 brcmsmac

Но если загружен b43 или broadcom-wl их нужно удалить. Например, для b43:

И запустить brcmsmac:

sudo modprobe brcmsmac

Лучше полностью удалить проприетарный драйвер broadcom linux из системы если он установлен и добавить в черный список ненужные драйверы, оставив только brcmsmac. Чтобы при перезагрузке грузился только он, для этого добавляем такие строчки в файл /etc/modprobe.d/50-blacklist.conf:

sudo vi /etc/modprobe.d/50-blacklist.conf

blacklist b43
blacklist b43-legacy

Для сетевых карт других производителей, вам следует сначала попробовать раздавать Wifi и только если не получится пробовать использовать другой драйвер.

Настройка точки доступа Wifi в Ubuntu

Чтобы создать точку доступа Ubuntu сначала нужно кликнуть по значку сети в правом верхнем углу и выбрать Параметры Wifi:


В открывшемся меню кликните по кнопке бутерброда и выберите Включить точку доступа:


Перед активацией компьютер предупредит вас, что вы не сможете подключится к интернету по Wifi если включёна точка доступа:


Затем покажет имя сети и пароль от неё, который создаётся автоматически:


Используя эти данные вы можете подключится к только что созданной точке доступа. Всё должно работать. Отключить её можно здесь же, надо только кликнуть по соответствующему переключателю.

Настройка точки доступа вручную

Для того чтобы раздать Wifi вручную нам понадобится пакет hostapd. Установите его командой:

sudo apt install hostapd

Стандартная конфигурация программы нам не подойдет, поэтому оригинальный конфигурационный файл переименовываем и создаем вот такой:

sudo vi /etc/hostapd/hostapd.conf

interface=wlp3s0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
macaddr_acl=1
ssid=LosstAccessPoint
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=3
ieee80211n=1
wmm_enabled=1
eap_server=0
eap_message=hello
eapol_key_index_workaround=0
own_ip_addr=127.0.0.1
wpa=2
wpa_passphrase=your_password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
rsn_pairwise=CCMP

Здесь и далее wlp3s0 - ваш сетевой интерфейс wifi адаптера. В поле ssid укажите желаемое имя точки доступа, в wpa_passphrase - пароль.

Сервис файл hostapd по умолчанию замаскирован, его нужно розмаскировать, для этого выполните:

sudo systemctl unmask hostapd

Затем в конфигурационном файле /etc/default/hostapd в строчке DAEMON_CONF добавьте путь к конфигурационному файлу:

sudo vi /etc/default/hostapd

С настройкой hostapd все, но запускать точку доступа еще рано, я бы даже сказал очень рано. Перейдем к конфигурации сетевого интерфейса. Нам нужно задать статический ip, DNS, режим и еще несколько настроек. Для этого идем в /etc/network/interfaces и добавляем следующие строки:

auto wlp3s0
iface wlp3s0 inet static
address 10.10.0.1
netmask 255.255.255.0

Это нужно в том числе для того, чтобы NetworkManager не трогал сетевой интерфейс Wifi. После сохранения настроек перезапустите компьютер. Осталось настроить DHCP сервер для раздачи IP пользователям, которые будут подключаться к нашей сети. Для этого используем dnsmasq:

sudo apt install dnsmasq

После установки открываем конфигурационный файл и добавляем туда несколько строк, чтобы программа слушала интерфейс wlp3s0, и выдавала адреса в диапазоне 10.10.0.x:

sudo vi /etc/dnsmasq/dnsmasq.conf

dhcp-range=10.10.0.2,10.10.0.255,255.255.255.0,12h
interface=wlp3s0
listen-address=127.0.0.1
dhcp-host=00:0f:00:5a:b6:42,10.10.0.1
cache-size=300
dhcp-authoritative
server=8.8.8.8
no-resolv
address=/backbone/10.10.0.1
dhcp-option=3,10.10.0.1
dhcp-option=1,255.255.255.0
log-queries
log-dhcp

ip addr list | grep wlp3s0

В выводе команды ищите параметр link:

Осталось настроить iptables для пропускания трафика и настроить автозагрузку всего этого, но предлагаю пойти другим путем. Мы напишем скрипт, которым можно будет в любой момент раздать Wifi в Linux, а также остановить раздачу. Вот сам скрипт:

sudo vi /usr/local/bin/wifi_access_point.sh

После сохранения скрипта дайте ему права на выполнение:

sudo chmod ugo+x /usr/local/bin/wifi_access_point.sh

И вот только теперь можно тестировать. Для чтобы раздать Wifi Ubuntu используйте:

sudo /usr/local/bin/wifi_access_point.sh start

А для остановки:

sudo /usr/local/bin/wifi_access_point.sh stop

Вы можете добавить этот скрипт в автозагрузку, чтобы настройка точки доступа wifi linux выполнялась автоматически.

Выводы

Вот и все. Теперь вы знаете как выполняется настройка точки доступа Ubuntu и сможете раздать Wifi на своем компьютере или ноутбуке. Это довольно сложный процесс, но если разобраться, то вполне можно выполнить. Если у вас остались вопросы, спрашивайте в комментариях!

Ранее длительное время я работал с модулем NDISwrapper, который удавалось запускать с поддержкой WEP шифрования. После того как WEP шифрование было принято считать небезопасным, под рукой оказалось решение под названием wpasupplicant позволяющее работать с WPA и WPA2 методами шифрования в беспроводных сетях, которое было взято на вооружение в совокупности с драйверами b43 - в них на этот момент уже поддерживались Broadcom устройства. Все прекрасно работало пока не было принято решение вернуться к стабильному дистрибутиву после многолетних экспериментов работы в среде sid, что повлекло за собой переустановку и необходимость перенастройки системы и написания данной инструкции.

Для начала необходимо убедиться в присутствии беспроводного адаптера - команда lspci

В моем случае обнаружились ethernet и wifi сетевые карты:

Оказалось на сегодняшний день есть несколько разновидностей драйверов для Linux: b43, b43legacy, brcm80211, rndis_wlan, wl, наряду с которыми все так же остается возможность запускать WINDOWS-драйвер сетевых карт при помощи NDISwrapper модуля.

Далее просто приведу шаги выполненные по вышеприведенной инструкции:

1. Необходимо добавить contrib non-free части в строку с источником установки, отредактировав файл /etc/apt/sources.list

2. После добавления новых источников установки необходимо обновить список доступных пакетов и установить утилиту wireless-tools

3. Далее следует установка самих драйверов, в зависимости от типа вашей сетевой карты необходимо выбрать правильный драйвер, в моем случае это устройство BCM4312 802.11b/g LP-PHY - как показала команда lspci, поэтому я выполняю команду устанавливающую firmware-b43-lpphy-installer. Для владельцев других сетевых карт соответственно:

802.11b/g BCM4306 revision 3, BCM4311, BCM4318 - устанавливаем firmware-b43-installer; 802.11b BCM4301, 802.11b/g BCM4306 revision 2 chipset - устанавливаем firmware-b43legacy-installer;


4. Проверим что модуль загрузился:

Модуль b43 - загружен успешно, если у вас он окажется не загружен, можно попробовать загрузить его командой modprobe b43, в случае если он загружен но не отрабатывает корректно - можно попробовать сначала его выгрузить командой modprobe -r b43 после чего загрузить заново.

5. Драйверы установлены и загружены теперь можно проверить наличие wifi карты в списке сетевых устройств утилитой iwconfig:

Видно что в списке сетевых адаптеров присутствует wlan0 - устройство распознанное как IEEE 802.11bg, это и есть ни что иное как наш wifi адаптер.

6. Далее необходимо сконфигурировать сетевые настройки в системе для нашего wifi адаптера. Для этого редактируем файл настройки сетевых подключений /etc/network/interfaces добавляя опции новой wifi сетевой карты:

7. Стартуем новый сетевой интерфейс - ifup wlan0

8. Проверить поднялся ли wlan0 интерфейс можно командой ifconfig

9. Если интерфейс поднялся мы можем просканировать пространство на наличие WIFI точек доступа командой - iwlist scanning

Результаты сканирования показали наличие точки доступа под названием - ESSID:"myhome", работающей на канале - Channel:13, в режиме - Mode:Master, с включенным шифрованием - Encryption key:on, тип шифрования - IE: IEEE 802.11i/WPA2 Version 1.

10. Устанавливаем поддержку WPA/WPA2 шифрования поскольку наша точка доступа использует WPA2

11. Конфигурируем wpasupplicant, Редактируем файл /etc/network/wpa-psk-tkip.conf

В моем случае конфиг выглядит именно таким образом, возможно у вас он будет отличаться если например будет отличаться метод шифрования, более подробно с опциями конфиг файла для wpasuplicant можно ознакомиться при помощи команды - man wpa_supplicant, гугла и админской интуиции.

12. Донастраиваем сетевое соединение, дописываем в конфиге /etc/network/interfaces новые строки:


13. Перезагружаем сетевые соединения командой /etc/init.d/networking restart


14. Проверим что все работает

Посмотрим список поднятых интерфейсов:

Видим поднятые внутренний системный интерфейс Loopback, и наш wifi wlan0 интерфейс, теперь проверим работает ли интернет

Google пингуется отлично!

Посмотрим таблицу маршрутизации системы:

Понимаем что все работает.

На этом я завершаю заметку о том как настраивать Wi-Fi в Linux. Надеюсь что данная информация будет Вам полезна, а поднять шифрованное wifi соединение при помощи родных драйверов Linux теперь не для кого не составит большого труда.

Когда где-то год назад я поставил на свой Dell Latitude D520 с чипом broadcom 4311 Ubuntu 8.10, то столкнулся с тем, что wi-fi работать напрочь отказывался. Я погуглил, пару дней поизучал посты на различных форумах, сделал какие-то шаманские действия и благополучно забыл и про проблему и про те действия, которые делал.

Все бы хорошо, но черт меня дернул поставить Karmic Koala с нуля… Про проблему я вспомнил сразу. А вот решение было забыто напрочь.

Решение быстрое


Итак, загрузившись, я обнаружил, что wi-fi у меня не работает. Посмотрев в /var/log/syslog увидел там следующие подзрительную строчку:
ERROR: Firmware file «b43/ucode5.fw» not found or load failed

Пройдясь по гуглу я нашел блог, в котором было решение проблемы вида «распакуй архив туда-то и все заработает». Скачал оттуда архив, в котором было недостающее firmware, распаковал в /lib/firmware/ и все действительно заработало.

Надо сказать, что в 8.10 проблема так легко не решалась, потому что там были другие драйвера. В 8.10 были bcm43xx, сейчас же грузятся b43.
Попутно с поиском решения я набрел на сайт с этими самыми драйверами b43, где есть много информации по поддержке этими драйверами различных чипсетов broadcom 43xx.

Также я в нескольких местах встречал мнение, что b43 работают хуже и нестабильнее нативных драйверов.

Мне тоже показалось, что раньше я видел в списке сетей гораздо больше, поэтому я решил пойти по немного более сложному пути, который был еще в 8.10, а именно:

Запуск драйверов производителя — решение посложнее

Родные драйвера я скачал с сайта поддержки Dell. Были они в виде self-extracting архива, но без проблем распаковались file-roller'ом

Далее делаем следующее:

  • Устанавливаем ndiswrapper — утилиту, которая позволяет драйверам Windows для беспроводных карт работать в Linux.
  • Удаляем модуль b43 из автозагрузки помещая его в blacklist:
    sudo vim /etc/modprobe.d/blacklist.conf
    добавляем туда строчку: blacklist b43
  • Загружаем виндовые драйвера:
    sudo ndiswrapper -i /path_to_drivers/bcmwl5.inf
  • Чтобы ndiswrapper запускался при загрузке системы, дописываем его в /etc/modules (sudo vim /etc/modules и добавляем туда строчку ndiswrapper)
  • Далее после перезагрузки все должно бы заработать, но не тут то было.
    Перезагрузился, а wi-fi по прежнему не работает.

Причиной тому яляется модуль ssb, который загружается перед ndiswrapper и не дает ему взять на себя управление wi-fi картой.

По субъективным ощущениям на виндовых драйверах все работает действительно лучше и стабильнее.

Настройка беспроводной сети Wi-Fi на устройствах с ОС Debian не такая сложная, как это может показаться на первый взгляд. Не секрет, что все компоненты этой системы приходится устанавливать практически вручную, и многих это отпугивает. Применяя определенные алгоритмы, описанные в этой статье, пользователи смогут настроить беспроводные соединения в Debian легко и быстро.

debian

Настроить беспроводное соединение можно при начальной установке Debian, но так поступать не рекомендуется. Все дело в том, что алгоритм защиты WEP, используемый на этапе установки, уже давно считается устаревшим и небезопасным, как если бы вы вообще не пользовались шифрованием. Поэтому рекомендуется настраивать интернет-соединение уже после установки системы.

Установка драйверов

Перед тем как начать настройку, нужно убедиться, что нужный драйвер для вашего устройства уже находится в системе. Если это так, то можно приступать к установке, выполняя следующие шаги:

  1. Отредактировать файл списка репозиториев по пути /etc/apt/sources.list. После каждой строки, где встречается слово main, нужно добавить contrib non-free, что позволит установить несвободные компоненты.
  2. Сохранить изменения.
  3. Обновить список с пакетами.
  4. Установить драйвер, используя нужный пакет.
  5. Установить дополнительные компоненты для управления расширениями.

Настройка точки доступа

Если пользователю требуется полноценная точка доступа (ТД), то лучше всего найти подходящий дистрибутив, в котором собрана вся обязательная информация по наладке именно этого конкретного оборудования.

Перед тем как начать наладку точки доступа, обязательно скачайте и установите эти четыре пакета:

Инсталляцию компонентов осуществляют с помощью консоли:

$ sudo apt-get install nano net-tools hostapd dnsmasq

Настройка Wi-Fi в Debian

Давайте рассмотрим примерный алгоритм, позволяющий настроить ТД:

  1. Для начала будем работать с сетевым интерфейсом:

$ sudo nano /etc/netword/interfaces.d/wlan0

allow-hotplug wlan0 iface wlan0 inet ic address 192.168.0.1 netmask 255.255.255.0 hostapd /etc/hostapd/hostapd.conf

  1. С помощью команды подтверждаем внесенные изменения:

$ sudo /etc/init.d/networking restart

$ sudo nano /etc/hostapd/hostapd.conf

  1. Производим редактирование конфигурационного файла путем внесения дополнительных строк:

Понятно, что в строки ssid и wpa_passphrase нужно вписать название и пароль для своего беспроводного устройства.

  1. Теперь осталось закрепить созданную конфигурацию в системе:

$ sudo nano /etc/default/hostapd

  1. Осталось внести коррективы в конфигурацию dnsmasq. Этот пакет состоит из множества важных компонентов, поэтому нам нужно найти определенные параметры и поменять лишь некоторые из них. Строки, подлежащие замене:

port=0 interface=wlan0 no-dhcp-interface=lo,eth0 bind-dynamic dhcp-range=192.168.0.3,192.168.0.10,255.255.255.0,12h

$ sudo systemctl enable hostapd $ sudo systemctl enable dnsmasq

$ sudo rfkill unblock wifi

  1. Так как у нас теперь свое собственное интернет-соединение, то необходимо отключить один из клиентских сервисов с помощью команды:

$ sudo systemctl mask wpa_supplicant.service

  1. Перезагружаем систему, чтобы все изменения вступили в силу:

После вышеперечисленных манипуляций точка доступа должна быть готова.

Настройка Wi-Fi

Чтобы настроить беспроводное соединение в Debian, используют графический или консольный режим. Чаще всего пользуются терминальным режимом, так как он наиболее универсален.

Настройка Wi-Fi в Debian

Проверка беспроводного контроллера

Чтобы осуществить настройку Wi-Fi, в первую очередь нужно убедиться, что система распознает контроллер и настроена на правильную работу с ним. Сначала необходимо посмотреть идентификационный номер устройства и производителя. Эта информация становится доступной, если использовать специальную команду:

После ввода команды появится перечень всех установленных модулей и их идентификационный номер. Вот так примерно будет выглядеть строка после ввода команды Isusb:

Bus 001 Device 002: ID 0fte:3597 Realtek Semiconductor Corp. 8811CU Wireless LAN 802.11ac WLAN

Сразу становится ясно, что:

Кроме того, нужно убедиться, что соответствующий Network Interface также присутствует в списке интерфейсов. Как правило, это wlan0 (хотя в некоторых исключительных случаях система его может обозначить как eth2). Этот список можно вызвать командой ifconfig -a.

Если Debian по каким-то причинам не видит Wi-Fi, то это значит, что софт не установлен или находится в non free-репозитории, который по умолчанию не подключен.

Так как главной концепцией разработчиков «Дебиэн» является «открытая» операционка, то в основной набор пакетов не включают проприетарные драйверы. В этом случае желательно скачать их самому, тем более, сейчас существуют целые наборы микрокодов (firmware), где имеется возможность найти большинство пакетов от любых производителей оборудования, таких как, например, Realtek или Broadcom.

В самых запущенных случаях можно использовать пакет ndiswrapper, в котором собран весь софт Windows.

Пакеты требуется загрузить в устройство до начала работы.

Приложение Wicd для создания Wi-Fi

Wicd

Кроме того, приложение обладает массой преимуществ, таких как:

  • большой функционал;
  • поддержка профилей для проводных и беспроводных сетей;
  • использование основных схем шифрования, таких как WPA, WPA2, WEP и другие;
  • совместимость с пакетами wireless-tools и wpasupplicant;
  • возможность отображения сетевой активности и мощности благодаря специальному значку в системном лотке;
  • наличие и графического и консольного интерфейса.

NetworkManager

Если вы не нашли свое устройство в перечне подключений, то вот что нужно сделать:

  • выберите Connect to Other Wireless Network
  • в появившемся поле Network Name вбейте идентификационный номер своей сети;
  • если она зашифрована, то появится вкладка Wireless Security, где в строке Password необходимо будет вбить свой пароль;
  • чтобы инициировать активацию нужно воспользоваться кнопкой Connect.

NetworkManager

Настройка через консоль

Как мы уже говорили, несмотря на удобство при использовании графического интерфейса, использование командной строки считается наиболее предпочтительным, так как большинство используемых утилит являются стандартными для большинства операционных систем. Проще говоря, даже под оболочкой графических программ скрываются все те же утилиты, такие как wireless-tools, nmap, ifconfig, а также wpa_supplicant и многие другие. Некоторые из них мы сегодня уже упоминали. Помимо вышеперечисленных, хотелось бы отдельно остановиться на следующих файлах:

Помимо этих файлов, есть еще много подобных компонентов, которые могут решить те или иные проблемы с подключением.

Возможные сложности и ошибки

Пользователи часто сталкиваются с массой сложностей при установке Wi-Fi соединений. Эти неполадки возникают в основном из-за ошибок в кодах. Кроме того, частой проблемой является несовпадение версий программного обеспечения и драйверов. Чтобы избавиться от большинства ошибок, следует устанавливать правильные компоненты и совместимые версии. Также есть менее известные методы, которые, впрочем, успешно решают некоторые ошибки с подключением:

  • можно отключить на некоторое время Ethernet-кабель;
  • выполнить сброс блокировок на нужном уровне;
  • заблокировать проблематичные модули в ядре;
  • для улучшения подключения допускается деактивировать поддержку одного из протоколов;
  • установить канал с фиксацией номера;
  • подключить сетевую карту;
  • отключить ненужные функции у карты, например энергосбережение.

Советы по безопасности

Любое беспроводное соединение по своему определению менее безопасно, чем проводное, однако можно повысить безопасность и при использовании Wi-Fi, если следовать простым рекомендациям:

Как видите, настройка беспроводных соединений в операционной системе Debian не вызывает никаких затруднений, если подходить к этому вопросу грамотно.

Этот портал решает вопрос установки и конфигурирования устройств WiFi. Установка устройства, по существу, состоит из двух частей: 1) установка драйвера (также называемого модулем) и 2) настройка вашего WiFi интерфейса.

Системы основанные на свободном ПО, таком как Debian, зависят от сотрудничества между производителями и разработчиками для производства и поддержки хороших дрейверов и прошивок. Драйверы и прошивки это то, что определяет насколько хорошо работает ваше оборудование, и работает ли оно вообще.

Общественный договор Debian предписывает свободу дистрибутива. В практике, это означает, что производители обязаны сотрудничать с выпускными спецификациями и свободными дрейверами, которые могут быть разработаны сообществом. Новейшие версии Debian (6+) не включает несвободные (non-free) драйверы или прошивки.

Несвободные (non-free) дрейверы и прошивки выпускаются компаниями отказывающимися или неспособными к сотрудничеству с сообществом свободного ПО. Часто поддержка недоступна, либо недостаточно хороша, для несвободных прошивок и драйверов. Например, нет некоторых особенностей, ошибки неисправляются, или поддержка от производителя быстро заканчивается.

Поощряя хорошие социальные практики, сообщество может поддерживать конечных пользователей. Процедуры комплексной установки больше не требуются и поддержка продолжается еще долго после того, как продукт был снят с производства.

В данный момент лишь несколько современных wifi чипсетов доступны для работы со свободными системами. Для USB wifi устройств этот список включает Realtek RTL8187B чипсет (802.11G) и Atheros AR9170 чипсет (802.11N). Для Mini PCIe все карты с чипсетом Atheros поддерживаются.

Предпосылки

wireless-tools, инструменты для манипулирования беспроводными расширенями Linux (установлены по умолчанию на ПК и ноутбуках)

NetworkManager (установлен на ПК и ноутбуках использующих граф. окружение Gnome)

wicd, проводной и беспроводной менеджер, рекомендуемый для других графических окружений (без зависимостей GNOME), таких как XFCE, Fluxbox, Openbox, Enlightenment.

wpasupplicant, поддержка клиентов для WPA и WPA2 сетей

Если они отсутствуют, вы можете установить их с помощью команды:

aptitude install wireless-tools

Установка драйвера

В этом разделе представлен список WiFi устройств (сгрупированных по host интерфейсу) сортированных по имени драйвера/модуля. Каждый список имеющет два главных элемента: имя модуля и поддерживаемый чипсет. Известные неподдерживаемые чипсеты находятся в конце каждого списка.

Если доступно, ссылка на страницу помощи предоставит вам дальнейшую информацию. Мы рекомендуем вам прочитать соответствующую страницу помощи (справки), так как некоторые устройства могут потребовать микрокод (прошивку) до их использования.

Читайте также: