К основному контенту

Настройка точки доступа wifi broadcom в Linux

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

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

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

Стандартный b43 и brcmfmac нам не подходят потому что не работают в режиме точки доступа на нашей карте, хотя эти уже поддерживают режим монитора.

Остается только brcmsmac, который можно заставить раздать wfi linux только с помощью hostapd. Сначала разберемся с драйверами ядра. Теперь, когда мы определились что будем использовать, перейдем к настройке broadcom linux. Смотрим какой драйвер загружен:

lsmod 

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

brcmsmac 497481 0 cordic 1024 1 brcmsmac brcmutil 4596 1 brcmsmac

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

sudo rmmod 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

Теперь установим hostapd:

sudo emerge -av hostapd

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

sudo vi /etc/hostapd/hostapd.conf

/etc/hostapd/hostapd.conf interface=wlp3s0 driver=nl80211 logger_syslog=-1 logger_syslog_level=2 logger_stdout=-1 logger_stdout_level=2 #dump_file=/tmp/hostapd.dump ctrl_interface=/var/run/hostapd ctrl_interface_group=0 macaddr_acl=1

ssid=your_ssid

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 - ваш сетевой интерфейс broadcom wifi. ssid устанавливает желаемое имя точки доступа, wpa_passphrase - пароль. Дальше открываем файл /etc/conf.d/hostapd и указываем в строчке INTERFACES имя своего сетевого интерфейса:

sudo vi /etc/conf.d/hostapd

INTERFACES="wlp3s0"

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

vi /etc/conf.d/net

modules_wlp3s0="!wpa_supplicant !iwconfig" config_wlp3s0="10.10.0.1 netmask 255.255.255.0" mode_wlp3s0="ap" dns_servers_wlp3s0="8.8.8.8"

Осталось настроить dhcp сервер для раздачи ip пользователям, которые будут подключаться к нашей сети. Для этого используем dnsmasq:

sudo emerge -av 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=1c:3e:84:82:a2:52,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

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

 sudo vi /etc/init.d/wifi_access_point 

/bin/bash

case $1 in

start )

# на случай если интерфейс программно отключен rfkill unblock all

# запускаем сервисы /etc/init.d/hostapd start /etc/init.d/dnsmasq start

# включаем форвардинг пакетов

sysctl net.ipv4.ip_forward=1

# правила для iptables iptables -t nat -A POSTROUTING -o enp2s0f0 -j MASQUERADE iptables -A FORWARD -i enp2s0f0 -o wlp3s0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i wlp3s0 -o enp2s0f0 -j ACCEPT ;; stop ) /etc/init.d/hostapd stop /etc/init.d/dnsmasq stop sysctl net.ipv4.ip_forward=0 ;;

esac

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

sudo chmod ugo+x /etc/init.d/wifi_access_point

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

sudo /etc/init.d/wifi_access_point start

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

sudo /etc/init.d/wifi_access_point stop

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

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

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Лучшие аналоги Paint для Linux

Когда я работал в Windows, я часто использовал стандартную программу редактора изображений Windows - Paint. Не всегда нужен очень и многофункциональный инструмент вроде Photoshop или Gimp. Иногда, чтобы подправить ту или иную картинку, дорисовать на ней несколько фигур или вставить текст достаточно простого, легкого в освоении графического редактора вроде Paint. В Linux таких программ довольно много. В этой инструкции мы рассмотрим лучшие аналоги Paint для Linux. В этот список не будут включены такие программы, как Gimp и Krita, ведь это полнофункциональные графические редакторы, векторные редакторы, такие как Inkscape мы тоже рассматривать не будем. А теперь перейдем к списку. Содержание статьи: KolourPaint MyPaint Gnome Paint XPaint Pinta mtPaint GPaint Rassam-paint Выводы KolourPaint На первом месте в списке аналогов Piant для Linux будет KoloutPaint. Это стандартный графический редактор для окружения рабочего стола KDE. Он поддерживает множество форматов изображений PNG, J…

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…