Установка Archlinux. Подключение Wifi в 2021 году.

После отказа разработчиков от wifi-menu вопрос на форуме поднимался неоднократно. В большинстве случаев люди просто не имели знаний. Иногда это были практически доказанные баги iwd. Для ответов на вопросы и в тех, и в других случаях вики в помощь.

В целях экономии времени форумян, заранее понимая что вопросы по-прежнему будут, обозначу две позиции.

1. Последовательность набора команд и их вывод для примера (не надо вводить). Для тех, кто ничего не понял в вики. Пять команд плюс пароль и выход из утилиты.
# iwctl
[iwd]# device list
>wlan0
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
>Telecom-58321801
>38AB-Beeline и прочие сети ваших соседей
[iwd]# station wlan0 connect Telecom-58321801
↵ и вводим пароль
*************
↵
# Мы в сети, либо ошибка. Чаще всего из-за неверного набора пароля.
[iwd]# exit
Проверяем соединение пингом серверов яндекса
ping -c3 ya.ru

2. Видеоролик, чтобы увидеть своими глазами (2 минуты просмотра).

P.S. Обязательно обратите внимание на следующую информацию, так как и по этой позиции продолжает поступать немало вопросов. Читайте вики по установке.
Группа "base" заменена на метапакет "base" - требуется ручное вмешательство
ну её эту новомодную ерунду у неё конфликт имён с udev и она с systemd-networkd корректно не работает, в топку туда к pipewire!
wpa_passphrase $2 $3 > /tmp/wpa &
# wpa_supplicant -i $1 -c /tmp/wpa &
p.s. а ещё отдельный котёл авторам за наличие конфигураций в /var/lib !!!
Ошибки в тексте-неповторимый стиль автора©
indeviral
ну её эту новомодную ерунду у неё конфликт имён с udev и она с systemd-networkd корректно не работает, в топку туда к pipewire!
wpa_passphrase $2 $3 > /tmp/wpa &
# wpa_supplicant -i $1 -c /tmp/wpa &
p.s. а ещё отдельный котёл авторам за наличие конфигураций в /var/lib !!!
Уж лучше в топку systemd
Vadim ты??? )))
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Я ставлю netctl, dialog, wpa_supplicant, dialog и все по старому работает
diko28rus
Я ставлю netctl, dialog, wpa_supplicant, dialog и все по старому работает
Засада в том, что чтоб все это воткнуть на установочный диск, надо как минимум первый раз чем то подключиться для их установки. А если я с помощью iwd подключилась - мне весь этот набор из диалога, нетктл и прочего - уже не нужен, я ставлю искорг и кеды, а в них уже активирую обычный нетворкменеджер.

З,Ы, А по теме вообще - это жуткое козлячество было: убрать wifi-menu из установочого образа, заменив его на эту iwd. Такое впечатление, что в мейнтенерах сидит какой то садомазохист, который сидит и придумывает "как бы еще усложнить процедуру установки, чтоб юзера поматерились"? То блин подключение к вафле усложнят, то из base уберут нужные пакеты и сидишь вспоминаешь "забыл-не забыл чета" в строке pacstrap указать? Как весело - после перезагрузки узнать что iwd без dhcpcd и wpa_supplicant не работает!
Eva_Berg
iwd без dhcpcd и wpa_supplicant не работает
у iwd есть свой dhcp клиент, ну и из коробки в арче системдешный systemd-networkd со своми блекджеком (dhcp) и ...
vs220
у iwd есть свой dhcp клиент,
Слышала, но у меня он почему то в последний раз при первой загрузке уже с установленной системы сам не заработал. М.б. его надо как то отдельно задействовать, йахз. Плюнула и запустила dhcpcd.

З.Ы, Глянула - так и есть, вдобавок как и ожидалось и тут без дополнительного геморроя не обошлось. Извольте создать сами /etc/iwd/main.conf и туда еще чего то прописывать, очередной закат солнца вручную. Проще dhcpcd установить и запустить.
Ну и wpa_supplicant в зависимости к iwd добавить тоже видимо не судьба - а как же, вдруг где то еще водятся лохи, у которых роутер без шифрования работает, как же можно им навязывать установку ненужного в их случае пакета, он же так много места занимает
Заранее извиняюсь за возможный некропостинг, но вот это вот всё:

# rfkill unblock wifi
# iwctl
[iwd]# device list
>wlan0
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
>Telecom-58321801
>38AB-Beeline и прочие сети ваших соседей
[iwd]# station wlan0 connect Telecom-58321801
↵ и вводим пароль
*************
↵
# Мы в сети, либо ошибка. Чаще всего из-за неверного набора пароля.
[iwd]# exit
Проверяем соединение пингом
ping 8.8.8.8
- ни фига не привело у меня к появлению интернета. Загружался с arch.iso на ноуте. Так что расскажу, может кому пригодится. Так вот, я конечно сделал все эти процедуры, и моя сеть стала "UP", но
ping 8.8.8.8
Network unreachable
Пришлось добить вайфай вот этими обычными делами:
# ip link set wlan0 up      (хотя он уже и так UP - убеждаемся командой "ip link")
# wpa_passphrase CЕТЬ ПАРОЛЬ > /etc/wpa_supplicant.conf
# wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf
# dhcpcd wlan0
- и вот только после этого интернет появился и гугл начал пинговаться. Так что какой-то странный у меня iwctl, ограниченно дееспособный. Ну хоть сеть поднял, и на том спасибо, потому что по-другому она таки не поднималась.
yurius
Так что какой-то странный у меня iwctl, ограниченно дееспособный. Ну хоть сеть поднял, и на том спасибо, потому что по-другому она таки не поднималась.

Тут не хватает важного пункта, который есть в wiki, а именно проверки запущена ли служба iwd.
Например:
 systemctl is-active iwd

Затем, если IP выдаётся по DHCP, то нужно либо прописать нужное в main.conf либо указать это явно, например, в systemd-networkd и перезапустить его.

И затем уже :
$ iwctl --passphrase  passphrase station  device connect  SSID 

Как видите, всё указано в wiki, никаких дополнительных источников больше не требуется.
Сеть (а вернее интерфейс) поднимает не iwd а менеджер сети, который на установочном диске является systemd-networkd. Для работы по проводу, достаточно настроить его (если у вас опять же не автоматическая выдача IP) а для беспроводного соединения предварительно нужно настроить параметры через iwd или wpa_supplicant - это, если что, разные менеджеры беспроводных соединений.

Дальше, ещё есть ньюанс: чтобы wifi заработал на новой установке, обязательно необходимо установить пакет linux-firmware, например так (после поднятия сети в live iso):
pacstrap /mnt iwd linux-firmware
...
arch-chroot /mnt
...
printf "[Match]\nName=wl*\n\n[Network]\nDHCP=yes\nIgnoreCarrierLoss=3s\n" > /etc/systemd/network/25-wireless.network
systemctl enable iwd
systemctl enable systemd-networkd
...

В последствии можно отказаться от systemd-networkd и полностью перейти на NetworkManager (например, KDE не умеет управлять подключениями systemd-networkd) и как следствие wpa_supplicant. Для систем без DE можно оставить systemd-networkd+iwd как "низкоуровневое" решение - настроил и забыл.

Если интересно, веду и постоянно обновляю полный листинг команд, для установки базовой системы arch - тестирую на от vps до ноутбука.
 
Зарегистрироваться или войдите чтобы оставить сообщение.