Подключение к WiFi без NetworkManager'a

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#1

19 июн 2017, 20:49

Итак, выпилив сразу после установки системы все следы Networkmanager и networking.service жил спокойно и счастливо, пользуясь systemd-networkd. Ровно до того момнта как потребовалось зацепиться к беспроводной сетке :smile:

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

1. Определим необходимый нам интерфейс

Код: Выделить всё

chocobo@desktop ~ $ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 78:24:af:89:f7:cc brd ff:ff:ff:ff:ff:ff
3: wlx60e3271846e9: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 60:e3:27:18:46:e9 brd ff:ff:ff:ff:ff:ff
У меня он оказался wlx60e3271846e9 - какой чудесный нейминг :crazy:

2. Активируем его c sudo ifconfig wlx60e3271846e9 up

3. Сканим доступные вокруг точки доступа (текстат там много, я сразу отгрепал по ESSID)

Код: Выделить всё

chocobo@desktop ~ $ sudo iwlist wlx60e3271846e9 scan | grep ESSID
                    ESSID:"Andreiko-smile"
                    ESSID:"homenet_"
                    ESSID:"DIR-300NRAlena"
                    ESSID:"Keenetic-2603"
                    ESSID:"WiFi-DOM.ru-4226"
                    ESSID:"WiFi-DOM.ru-7517"
                    ESSID:"DomRU-242"
                    ESSID:"win32"
Меня тут интересует homenet_

4. Далее - подключаемся к выбранной точке

Код: Выделить всё

sudo iwconfig wlx60e3271846e9 essid homenet_
тут стоит оговориться, что точка используемая в этом примере - открытая, поэтому синтаксис для WPA2 будет чуть другой.

5. На этом почти все, осталось поднять адресацию. В моем случае, при испльзовании systemd-networkd - надо задать описание интерфейсу в /etc/systemd/network/
Завожу конфиг /etc/systemd/network/25-wireless.network с следующим содержимым

Код: Выделить всё

[Match]
Name=wlx60e3271846e9

[Network]
DHCP=ipv4
Тут все прозрачно, имя интерфейса и DHCP-адресация (можно завести и статику при желании)

6. Даем рестарт сетевой службе

Код: Выделить всё

sudo systemctl restart systemd-networkd
7. Проверяем

Код: Выделить всё

chocobo@desktop ~ $ ip a
......
......
.....
3: wlx60e3271846e9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 60:e3:27:18:46:e9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.104/24 brd 192.168.0.255 scope global dynamic wlx60e3271846e9
       valid_lft 7138sec preferred_lft 7138sec
    inet6 fe80::62e3:27ff:fe18:46e9/64 scope link 
       valid_lft forever preferred_lft forever

Код: Выделить всё

chocobo@desktop ~ $ ping -I wlx60e3271846e9 linuxmint.com.ru
PING linuxmint.com.ru (82.146.54.131) from 192.168.0.104 wlx60e3271846e9: 56(84) bytes of data.
64 bytes from linuxmint.com.ru (82.146.54.131): icmp_seq=1 ttl=57 time=52.2 ms
64 bytes from linuxmint.com.ru (82.146.54.131): icmp_seq=2 ttl=57 time=44.9 ms
64 bytes from linuxmint.com.ru (82.146.54.131): icmp_seq=3 ttl=57 time=110 ms
64 bytes from linuxmint.com.ru (82.146.54.131): icmp_seq=4 ttl=57 time=14.9 ms
64 bytes from linuxmint.com.ru (82.146.54.131): icmp_seq=5 ttl=57 time=48.8 ms
64 bytes from linuxmint.com.ru (82.146.54.131): icmp_seq=6 ttl=57 time=237 ms
^C
--- linuxmint.com.ru ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5007ms
rtt min/avg/max/mdev = 14.934/84.802/237.000/73.774 ms
Вуаля, вроде как все на месте :smile:


Но данная заметка была расчитана не на еще одну красноглазую инструкцию :angel: (пусть ничего сложного тут и нет) - а на рассмотрение возможности алгоритмизации описанной выше последовательности для создания мышетыкательной оснастки без помощи NM.
Для начала думаю можно использовать zenity чтоб
  • спарсить и выдать список с выбором интефейса
  • просканить и вывести для выбора доступные точки
  • у выбранной проверить защиту, и при необходимости запросить пароль.
  • спросить адресацию (по умолчанию наверное в 95% случаев будет DHCP, но тем не менее)
  • сгенерить на основе этих данных команды подключения и конфиги
Вот как-то так. И если все пройдет гладко - можно попробовать завернуть все это и в апплет
Изображение
   
Изображение

Аватара пользователя

di_mok
Сообщения: 5469
Зарегистрирован: 27 авг 2016, 19:06
Решено: 32
Откуда: Арзамас
Благодарил (а): 1593 раза
Поблагодарили: 1276 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#2

19 июн 2017, 21:20

Chocobo писал(а): Для начала думаю можно использовать zenity
И примостырить аплет Создание аплета Cinnamon
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение

Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#3

19 июн 2017, 21:28

di_mok, Да, тоже вспомнил эту тему, разумеется. Но так как JS со мной знаком очень отдаленно - я пока больше склоняюсь к выбору PyGTK.

Но об этом еще рано пока, надо сначала на баше домучать :smile:
Изображение
   
Изображение

Аватара пользователя

di_mok
Сообщения: 5469
Зарегистрирован: 27 авг 2016, 19:06
Решено: 32
Откуда: Арзамас
Благодарил (а): 1593 раза
Поблагодарили: 1276 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#4

19 июн 2017, 21:38

Да там жавы то будет - одно название.На быдлокодинге можно выехать. :-D Блин, со временем тяжко для поковыряться.
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение

Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#5

20 июн 2017, 09:06

di_mok, ну я пока набрасываю Bash-функции для zenity, оттуда можно выдрать примитивы будет

Код: Выделить всё

iface=$(ifconfig -a | sed 's/[ \t].*//;/^\(lo\|\)$/d');
select_iface ()
{
        iface=`echo $iface | sed 's/ /\n/' | sed 's/^/FALSE\n/g' |\
            zenity --width=350 --height=250  --list --radiolist --separator=' ' \
                    --title="Выбор Интерфейса" \
                    --text="Пожалуйста выберите интерфейс:" --column="" --column="Iface"`
}
Снимок экрана от 2017-06-20 09-01-34.png
Снимок экрана от 2017-06-20 09-01-34.png (15.11 КБ) 3537 просмотров

Код: Выделить всё

select_network ()
{
        sudo iwlist $iface scan | grep ESSID | cut -f2 -d"\"" > /tmp/aplist
        network=`cat /tmp/aplist | sed 's/^/FALSE\n/g' |\
            zenity --width=350 --height=250  --list --radiolist --separator=' ' \
                    --title="Выбор сети" \
                    --text="Пожалуйста выберите сеть:" --column="" --column="сеть"`
}
Снимок экрана от 2017-06-20 09-01-44.png
Снимок экрана от 2017-06-20 09-01-44.png (19.32 КБ) 3537 просмотров
Изображение
   
Изображение

Аватара пользователя

SemenSinchenko
Сообщения: 340
Зарегистрирован: 17 фев 2017, 12:01
Решено: 2
Откуда: Москва
Благодарил (а): 43 раза
Поблагодарили: 46 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#6

20 июн 2017, 10:26

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

Повторюсь, баг был раньше (когда Debian только перешел на systemd, а это было черти когда), был в Debian (за других не скажу), но я очень хорошо помню, что на сайте Debian была написана рекомендация не пользоваться таким способом подключения Wi-Fi, а использовать что-нибудь более современное типо NM или wicd...

Я бы на всякий случай проверил, как компьютер будет включаться когда такой сети (описанной в /etc/systemd/network/) рядом нет.

Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#7

20 июн 2017, 21:21

SemenSinchenko, в /etc/systemd/network описан только сам сетевой интерфейс и адресация, ssid там не фигурирует


А я, как обычно наигравшись в баш-программирование, переписал все на python3+PyQt5 :smile:
никогда раньше толком не имел делов с Qt, поэтому знатно прошелся по всем граблям :grabli:, но в необходимые основы вроде уже въехал

Неказистое окошко пока выглядит так, основные события выделены в функции - можно дальше прорабатывать логику.
Снимок экрана от 2017-06-20 21-13-48.png
Изображение
   
Изображение

Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#8

21 июн 2017, 13:12

Можно уже сказать, что кое-что готово.
набросал остатки функционала для подключений - оно работает :ok: .
Код пока показывать не буду, надо все причесать :sry:
Снимок экрана от 2017-06-21 12-51-36.png
В ходе работы над этой штукой уяснил что можно пойти несколькими путями. В шапке был указан отход от NM, при этом networking.service c одной стороны нафиг не нужен когда есть systemd-networkd, с другой стороны особо против него ничего не имею, ну и по умолчанию в системе он задействован. Так что, возможно тут должен быть выбор.

Использовать iwlist, описанный в первом посте получится только для открытых сеток, с WEP/WPA он не дружит. так что не самая подходящая утилита, хоть к открытым и цепляется на ура в одну незамысловатую строку.

При использовании модуля wifi в питоне - помимо базовых операций с адаптером он умеет конфигруть и сохранять подключения в /etc/network/interfaces. Но весь дебаний networking.serviсe использует ifup/ifdown и dhcpd Т.е решение вполне работоспособно не дергая по коду баш, но без systemd-networkd.

Ну и самый логичный вариант - вызвать wpa_supplicant, который умеет все вышеперечисленное, и не рулит сам адресацией интерфейсов. Он сохраняет у себя в конфиге PSK-пароли в явном и хешированном виде и монопольно держит интерфейс когда задействован, за что тоже можно зацепиться при разнообразных проверках.


В общем это мысли вслух, чтоб не чересчур не костылировать (пока писал еще кое-что домыслил :joke:)
Изображение
   
Изображение

Аватара пользователя

SemenSinchenko
Сообщения: 340
Зарегистрирован: 17 фев 2017, 12:01
Решено: 2
Откуда: Москва
Благодарил (а): 43 раза
Поблагодарили: 46 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#9

21 июн 2017, 13:38

Chocobo писал(а): описан только сам сетевой интерфейс и адресация, ssid там не фигурирует
Я вспомнил как все было.
Я ставил Debian "чистым" методом, соответственно после установки настраивал сеть руками через wpa-supplicant. Все отлично работало, пока я не попытался включить ноут в макдаке - он запускался минуты три.
Потом уже прочитал на сайте Debian, что использование wpa-supplicant не рекомендовано пользователям продвинутых DE именно по этой причине...
Не знаю, как это может помочь, но вроде проблема была и не решалась (по другому к сети с WPA2 не подключится). Ну или может флаг auto убирать, но это опять же неудобно - каждый раз после включения ноута подключать сеть...

Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#10

21 июн 2017, 14:01

SemenSinchenko, Спасибо за инфу. Все это еще предстоит проверять)
Изображение
   
Изображение

no avatar

achilles_85
Сообщения: 67
Зарегистрирован: 13 фев 2017, 13:08
Благодарил (а): 10 раз
Поблагодарили: 1 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#11

26 ноя 2019, 13:28

Жаль тема заглохла. Я нечто такое хотел бы для подключения к openvpn серверам. Не допилили случаем свое творение?

Аватара пользователя

symon2014
Сообщения: 5924
Зарегистрирован: 16 дек 2017, 21:59
Решено: 36
Откуда: Феодосия
Благодарил (а): 32 раза
Поблагодарили: 747 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#12

26 ноя 2019, 13:34

achilles_85 писал(а):
26 ноя 2019, 13:28
Я нечто такое хотел бы для подключения к openvpn серверам.
А как это нечто выглядит?

no avatar

achilles_85
Сообщения: 67
Зарегистрирован: 13 фев 2017, 13:08
Благодарил (а): 10 раз
Поблагодарили: 1 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#13

26 ноя 2019, 13:45

etamax писал(а):
26 ноя 2019, 13:34
А как это нечто выглядит?
Как у автора этой темы выглядит инструмент для подключения к wifi сетям

Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#14

26 ноя 2019, 14:56

achilles_85, опенвпн прекрасно оборачивается в сервис-юнит, там в целом есть простор для творчества.
Изображение
   
Изображение

no avatar

achilles_85
Сообщения: 67
Зарегистрирован: 13 фев 2017, 13:08
Благодарил (а): 10 раз
Поблагодарили: 1 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#15

03 дек 2019, 14:52

Chocobo писал(а):
26 ноя 2019, 14:56
achilles_85, опенвпн прекрасно оборачивается в сервис-юнит, там в целом есть простор для творчества.
Это понятно. Мне интересно было вы допилили свою задумку или нет

Аватара пользователя

Автор темы
Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#16

03 дек 2019, 21:07

achilles_85, тут к сожалению похвастаться нечем, хотела была заброшена.

Точней, на тот момент оно
было временно отложено до появления поддержки netplan, как единойточки входа к сетевым конфигурашкам, но обратно так пока и не реанимировалось к гуйным идеям )
Изображение
   
Изображение

no avatar

masterb
Сообщения: 12
Зарегистрирован: 21 янв 2020, 14:12
Контактная информация:

Подключение к WiFi без NetworkManager'a

#17

21 янв 2020, 14:27

Народ, кто-нибудь пробовал подключать wi-fi при живом т.е. без "выпиливания" NM с помощью iwconfig, wpa_supplicant? Проблема в том, что интернет начинает работать только когда залогинишься а надо до. Пробовал назначить essid интерфейсу - устанавливал, проходит несколько секунд и он опять пустой, что за дела? В интернете нашел решение мол надо отключить сервисы NM (networkd-dispat, NetworkManager), что и было сделано, но толку нет, может что-то ещё надо отрубить? Охото разобраться.

Аватара пользователя

rogoznik
Сообщения: 10014
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#18

21 янв 2020, 14:51

masterb писал(а):
21 янв 2020, 14:27
Проблема в том, что интернет начинает работать только когда залогинишься а надо до
Это как? Если сеть имееют ключ доступа, то подключиться к ней, а значит и получить инет, ты можешь только когда ввел верный ключ и прошел процедуру проверки.
ИзображениеИзображение

Аватара пользователя

symon2014
Сообщения: 5924
Зарегистрирован: 16 дек 2017, 21:59
Решено: 36
Откуда: Феодосия
Благодарил (а): 32 раза
Поблагодарили: 747 раз
Контактная информация:

Подключение к WiFi без NetworkManager'a

#19

21 янв 2020, 14:57

masterb, пиши себе что хочешь в /etc/network/interfaces , NM даже не дёрнется помогать.

no avatar

masterb
Сообщения: 12
Зарегистрирован: 21 янв 2020, 14:12
Контактная информация:

Подключение к WiFi без NetworkManager'a

#20

21 янв 2020, 15:06

Да, тип авторизации используется wpa psk/ wpa2 psk и это выполняет программа wpa_supplicant но перед этим надо настроить интерфейс т.е. как минимум присвоить essid а это не получается, что-то его сбрасывает, подозреваю на NM. Раньше был antix дистрибутив и там не было NM - все работало, в mint он - NM по ходу мутит что-то, только как его отрубить без удаления. Удалять не пробовал.

Закрыто

Вернуться в «Системные утилиты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей