Найти в Дзене
Computer Pro

Подключение Wi-Fi на ArchLinux без графического интерфейса после установки

Лет 12 я не использовал свой маленький ноутбук Asus EEEPC. Последние лет 5, а то и дольше он хранился в не самых благоприятных условиях - в гараже, где зимой холодно, а еще бывает довольно таки влажно.

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

На работе случилась небольшая "седалищная часть человека", поэтому от мобильного интернета приходится отказываться. Мне понадобился маленький, незаметный "сервачок", вот и решил для этих целей отряхнуть от пыли старичка EEEPC.

Само собой поставил ArchLinux. Установлены только консольные программы, ничего связанного с X-сервером нету.

Когда-то, очень давно, из под другого аккаунта, я описывал процесс подключения wifi в консоли. Но с тех пор в дистрибе Арча что-то изменилось и те танцы с бубном уже не требуются (появилась утилита iwctl).

Но они мне пригодились сейчас. Ибо после установки арча, в минимальном исполнении я не позаботился о том что мне потребуется для подключения WiFi, поэтому мне пришлось около 4 раз после установки загружаться снова с флешки, монтировать раздел /dev/sda1 в /mnt, переключаться в этот /mnt с помощью arch-chroot /mnt там устанавливать какие-либо программы и затем снова загружаться с HDD и понимать что вот еще чего-то не установил! Снова биос, смена источников загрузки, загрузка с флехи и так далее...

Для подключения требуются следующие команды:

sudo ip link set wlp2s0 up

wlp2s0 - это имя моего wifi адаптера в системе. ip - эта программа установилась со всеми компонентами системы, её я не ставил

Чтобы узнать имя адаптера можно так же воспользоваться ip:

ip link

после чего выведутся доступные сетевые интерфейсы, в моем случае это:

-2

Далее нужно разрешить сетевой карте работу, иначе не будет подключения:

sudo ip link set wlp2s0 up

И только после этого можно создать файлик с подключением к нашей точке доступа с помощью утилиты:

wpa_passphrase RT-GPON-8A80 very_hard_password > file_wifi_key.txt

С помощью этого файла я и буду подключаться к сети. Только утилиты начинающиеся на wpa_ в системе еще не установлены их можно установить в процессе установки (тогда когда интернет подключен с помощью iwctl)

из под root@archiso устанавливаем wpa_supplicant:

pacman --root /mnt -S wpa_supplicant

Установятся три программы: wpa_cli, wpa_passphrase, wpa_supplicant

При помощи wpa_supplicant осуществим подключение к точке доступа:

sudo wpa_supplicant -i wlp2s0 -c file_wifi_key.txt

Программа почему-то не завершается самостоятельно, но к точке доступа коннект создаёт. Поэтому после того как увидим надпись

-3

Можно нажать Ctrl+Z и прервать выполнение программы. Коннект уже есть а вот сети еще нет, потому как не назначен ip-адрес, его дает утилита dhclient, у меня она тоже не была установлена, инсталл:

pacman -S dhclient

После подключения к точке доступа запускаем dhcp-клиент который и выдаст компьютеру ip-address:

sudo dhclient wlp2s0

Программа просто ничего не сообщая отработала и завершилась, но айпишник появился и пинг пошел:

-4

Вот вроде бы все заработало, но есть одно маленькое (да не маленькое, а существенное - НО) после перезагрузки компа - соединение не делается самостоятельно. Оно должно делаться с при загрузке системы.

Люди пишут что нужно воспользоваться netctl, я какое-то время ковырялся, но так и не разобрался как настроить автоматическое подключение при загрузке системы. У меня работает только в ручном подключении:

sudo ip link set wlp2s0 up

sudo wpa_supplicant -i wlp2s0 -c file_wifi_key.txt

sudo dhclient wlp2s0

После выполнения этих трех команд появляется сеть... Буду разбираться, но не сегодня...

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