Wifi не ко всем сетям linux

Как настроить Wifi-соединение на любом Linux-десктопе

Если вы владелец какого-либо мобильного устройства под управлением OS Linux, то вам в первую очередь придется задуматься над выполнением задачи номер один — настройка соединения с беспроводной точкой доступа Wifi. По умолчанию, стандартные инструменты для Linux-десктопов надежны и удобны в использовании. Например, Wifi Radar , Network Manager , Wicd и многие другие программы этого класса. Конечно, подразумевается, что вы используете окружения типа Gnome или KDE, обладающих очень богатым функционалом и выбором.

Но как быть, если у вас нечто другое и более редкое — E17, Fluxbox, ION или вообще «голая» консоль? В этом случае вам стоит применить классический способ настройки — командная строка.

Давайте рассмотрим два случая настройки соединения с беспроводной точкой доступа:
— графическое приложение Wicd ( для примера );
— консольные утилиты.

Вступление

Предполагается, что у вас имеется беспроводное сетевое устройство (адаптер), который работает под Linux. Если вы вдруг обнаружили, что ваше устройство не работает, можно предложить, как один из вариантов для новичков, поставить последнюю версию дистрибутива Ubuntu и установить проприетарные драйвера для своей беспроводной карточки. Предложенный случай является наиболее простым и действенным, по сравнению с попытками заставить работать адаптер через драйвер ndiswrapper.

Также предполагается, что у вас имеются в наличии два параметра для подключения к беспроводной точке: SSID и идентификационный ключ. Без них (особенно — без второго, так как первый еще можно легко узнать) вы не сможете установить соединение.

Wicd — графическое приложение, написанное на Python. Гибкая и удобная в использовании программа, предлагающая большой функционал. Wicd легко устанавливается и им также легко пользоваться. Достаточно всего нескольких минут для ознакомления с программой. Стоит также заметить, что Wicd, помимо графического интерфейса, имеет и консольный вариант «исполнения», не уступающий по функциональности.

Командная строка

Давайте теперь посмотрим, как настроить wifi-соединение через командную строку. К слову сказать, такой способ является универсальным, так как используются утилиты, являющиеся стандартными для всех дистрибутивов Linux. Более того, все приложения с графическим интерфейсом (GUI) основаны на работе именно этих утилит. Образно говоря, если мы «снимем» «крышу» GUI у любого графического приложения, то под ней мы увидим скромных и незаметных тружеников консоли: ifconfig, wireless-tools, wpa_supplicant, ping, nmap и многих других.

Для выполнения нашей задачи понадобятся следующие утилиты:

  • — ifconfig : полностью управляет работой любого сетевого адаптера вашего компьютера (будь то проводной или беспроводной интерфейс);
  • — iwlist : выдает список доступных для подключения (находящихся в радиусе досягаемости) беспроводных дочек доступа;
  • — iwconfig : утилита управления и конфигурирования беспроводных сетевых устройств (адаптеров);
  • — dhclient (или его налоги): автоматически получает IP-адрес от dhcp-сервера беспроводной точки;
  • — wpa_supplicant : утилита для настройки шифрованных соединений.

Перед началом настройки wifi-соединения логичным было бы проверить наличие всех этих утилит в системе (хотя, почти все они входят в стандартный набор Linux-дистрибутивов). Давайте, все же, убедимся в том, что они есть у нас, выполнив совсем несложные команды (см. man which):

  • — which ifconfig
  • — which iwlist
  • — which iwconfig
  • — which dhclient
  • — which wpa_supplicant
Читайте также:  Linux create с program

При выполнении каждой из этих команд вы увидите путь, по которому они располагаются в файловой системе. Если вдруг не увидите — вам придется установить отсутствующие. Наиболее простой и рекомендуемый — это менеджером пакетов того дистрибутива Linux, которым вы пользуетесь. Как альтернатива — можно предложить установку из исходников, но такой путь требует достаточного опыта от пользователя.

Рассмотрим пример подключения к wifi-точке с шифрованием WEP

1 . Первое, что мы сделаем — посмотрим, какие сетевые адаптеры имеются у нас на компьютере:

Вывод будет содержать имена и подробное описание всех сетевых интерфейсов, которые удалось обнаружить утилите ifconfig. Если не был обнаружен желаемый, то причина заключается только в одном — нет драйверов для него и не включена поддержка этого интерфейса в ядре Linux.

2 . Запускаем беспроводной сетевой адаптер:

здесь :
— wlan0 — стандартное в большинстве Linux-систем имя wifi-карточки;
— up — опция говорит команде ifconfig запустить для работы («поднять») сетевое устройство.

3 . Теперь нам надо сканировать эфир вокруг себя на наличие доступных hot-spot’ов:

— wlan0 — имя беспроводного адаптера;
— scan — команда iwlist запускается в режиме сканирования.

Результатом работы iwlist будет детальный отчет, из которого на данном этапе нас интересует только одна строчка: ESSID:»Some_Name». Значение параметра ESSID («Some_Name») — это имя беспроводной точки доступа. Теперь мы знаем, к какой конкретно wifi-точке мы будем подключаться.

4 . Выполняем подключение:

— wlan0 — сетевой адаптер, на котором настраивается соединение;
— essid — задаем имя точки доступа, к которой подключаемся;
— key — указываем ключ шифрования, использующийся этой точкой доступа для передачи данных.

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

5 . Последний шаг — получаем от dhcp-сервера wifi-точки IP-адрес:

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

Здесь мы добавили еще одну команду sleep с параметром 10 секунд. Это рекомендуется делать перед получением IP-адреса для надежности установки соединения.

Сохраняем этот файл под каким-либо именем (например, wireless_up) и делаем его исполняемым командой:

Переносим wireless_up по пути /usr/local/bin, чтобы сделать его глобально видимым всей системой.

Теперь вам достаточно набрать в командной строке:

. и соединение будет установлено.

Рассмотрим более сложный случай — соединение с точкой доступа по WPA-шифрованию

Соединение с таким шифрованием поддерживает только утилита wpa_supplicant, поэтому она нам понадобиться. Также, опять таки, предполагаем, что мы знаем ключ (пароль) шифрования этой точки доступа.

1 . Генерируем пароль на основе этого ключа с помощью утилиты wpa_passphrase, которая входит в состав пакета wpa_supplicant. Дело в том, что пароль, который мы будем использовать далее, должен быть в виде шестнадцатиричного числа:

Утилита выдаст сгенерированную строку psk, которую мы вставим в конфигурационный файл wpa_supplicant.conf:

Читайте также:  Как восстановить windows с помощью образа системы

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

для предоставления необходимых прав доступа.

2 . «Поднимаем» интерфейс wlan0:

3. Указываем, к какой точке мы хотим подключиться:

4 . Запускаем утилиту wpa_supplicant на установку соединения:

здесь :
— B — запускать команду wpa_supplicant в фоновом режиме;
— Dwext — говорим утилите wpa_supplicant использовать драйвер wext для интерфейса wlan0;
— i — задаем настраиваемый сетевой интерфейс (wlan0 в нашем случае);
— с — указываем путь к конфигурационному файлу wpa_supplicant.conf.

5 . Проверяем, что соединение установлено:

На выводе увидим подробную информацию по указанному интерфейсу wlan0.

6 . Получаем локальный IP-адрес:

7 .Упрощаем процесс, создав по пути /etc/network/interfaces запись следующего вида:

Заключение

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

Источник

не вижу определенную wifi сеть

Домашняя сеть. Роутер dlink dir-120 раздает сеть точке доступа wifi — dlink dap-1150. От точки кормятся 2 ноутбука.

Ноутбук с arch перестал видеть конкретно домашнюю wifi сеть. Настройки роутера\точки не менялись. Обновления арчика было более недели назад.

Другие устройства видят сеть как и прежде. Если загрузить вместо арчика win7 или ubuntu_livecd, то сеть видна и работает.

Не видит — это не видит какой-то конкретный network manager?

На ноутбуках есть хардварный выключатель wifi — подергайте его. Если все равно не видит, в каждом из двух положений дайте выхлоп команд `iwconfig` и `iwlist scan` (под рутом).

нет, iwlist тоже не видит

А где этот хардварный выключатель? Могу wifi модуль вытащить\воткнуть

Это без всяких дерганий, отсутствует ESSID Youngster

sudo iwlist wlan0 scan:

sudo iwconfig wlan0:

Выхлопы при выкл модуле\переставленной антенне (у меня одна, а на модуле 2 входа)\без модуля:

хардварный ресет точки с перепрописыванием конфигурации решил все проблемы

wap2+aes работает стандартными средствами через wap_supplicant с указанием лишь essid и зашифрованного psk

Часто это клавиша «Fn + клавиша с изображением сети» (антенка).

Если в iwlist scan отсутствует, значит нужно сначала решить это. Все же начал бы с рутера, а потом искал что не соответствует в машине.
1. Режим b/g/n: поиграйтесь с режимами на рутере. Наиболее вероятная причина ИМХО.
Маловероятно, но все же:
2. Частоты 2.4GHz и 5GHz — тоже поиграйтесь
3. Убедитесь что ESSID не скрывается; у меня это опция «Enabling Hidden Mode», еще видел «ESSID broadcast».
Цель — чтобы увидилось в iwlist scan.

Еще можно проверить что выдает sudo iwconfig wlan0 и iwlist scan в Ubuntu где все работает. Думаю, можно быдет найти разницу и, следовательно, проблему.

Еще у меня был странный опыт, когда я не мог подключить виндовые машины к рутеру по wifi, притом мой Андроид-планшет и линуксовая машина отлично подключались. Помог ресер рутера (Dlink DIR-720 с родной прошивкой). Не могу объяснить что это было, просто подтверждение истины «семь бед один ресет» 🙂

в дальнейшем помогало тупое переименоваие essid сети. меняешь хоть один символ — все видно. откатываешься — снова все видно.

Читайте также:  Настройка сканера для mac os

Источник

Wi-Fi адаптер Linux постоянные разрывы сети

Собрал здесь советы по устранению постоянных разрывов сети Wi-Fi адаптерами под Linux. Понятное дело, что чаще всего всё работает отлично, но иногда разрывы Wi-Fi происходят постоянно. Что же делать, если ваш Wi-Fi адаптер под Linux постоянно теряет сеть? Иногда он может терять сеть и не подключаться обратно вплоть до перезапуска компьютера или рестарта демона network-manager ( sudo service network-manager restart ).

Попробуйте отключить режим сбережения энергии

Отключаем режим энергосбережения в Wi-Fi адаптере:

В этой команде wlan0 — это ваш Wi-Fi адаптер. Узнать это имя можно командой:

У меня вывод такой (показываю только полезный кусок):

То есть в моём случае имя wlp2s0, а значит для меня команда отключения энергосбережения будет выглядеть так:

В старых дистрибутивах Linux вместо ip a используется команда:

Проверить текущее значения режима энергосбережения можно так:

Попробуйте сменить network-manager на wicd

Для этого сначала установите wicd. Инструкцию для Debian можно найти в официальной wiki.

Здесь приведу выдержку команд, на случай, если тот сайт перестанет работать или страница будет перемещена:

Если нужно, исправьте «/etc/network/interfaces» так, чтобы содержалось лишь следующее:

Добавьте своего обычного пользователя в группу netdev, затем перезапустите DBus:

Стартаните демона wicd:

Запустите графическую оболочку wicd с обычного пользователя:

Подключитесь к какой-нибудь сети, после чего удалите network-manager:

Wi-Fi адаптер Linux постоянные разрывы сети: 2 комментария

Тоже приходилось мучиться.
Потом был поставлен какой-то левый пакет из левого репозитория (уже не помню откуда) и всё заработало

Возможно, расположенное поможет тем, кто страдает.

First of all remove the settings you made.

sudo rm /etc/modprobe.d/rtl8723be.conf

If you do not have this file, nothing is wrong.

Then install a good driver

sudo add-apt-repository ppa:hanipouspilot/rtlwifi
sudo apt-get update
sudo apt-get install rtlwifi-new-dkms linux-firmware

Reboot and enjoy

If you still have problems, you may need to add an option:

echo «options rtl8723be ant_sel=2» | sudo tee /etc/modprobe.d/rtl8723be.conf

then reboot again.

Expanation is made by chili555 in this answer.

This is the same driver as https://github.com/lwfinger/rtlwifi_new, rock.new_btcoex branch but packed as dkms.

If you also need bluetooth working, run also:

sudo apt-get install rtl8723au-bt-dkms linux-firmware

Note: Support for 4.2 kernels and Ubuntu 15.10 has been added to the PPA. For kernel 4.2 the bluetooth driver should not be installed from the PPA. There is already native support of the bluetooth adapter in kernel 4.2.

If you do not have any internet connection, you can download the package using another computer, a phone, etc.

The package is HERE

You will also need DKMS installed. You can find the DKMS package for Ubuntu 16.04 HERE

Copy these two files to the Ubuntu Home folder (

/) and run in terminal

sudo dpkg -i dkms*.deb rtlwifi*.deb

Important: For Ubuntu 16.04+ installed on a system with Secure Boot on UEFI, the unsigned kernel module may not load. In this case see THIS ANSWER to fix it.

Meanwile I will try to find a way how to sign the module in the PPA. There is a way how to do it.

Источник

Оцените статью