Подключение к сети WiFi через консоль с помощью wpa-supplicant

Сегодня разберемся как можно подключится к WiFi сети с помощью программы wpa-supplicant через консоль в linux.
Первое что необходимо сделать, так это проверить установлен ли у вас пакет wpasupplicant, иначе ничего не выйдет.
sudo apt install wpasupplicant
Следующим шагом проверим наличие и название беспроводного интерфейса:
ifconfig -a
enp6s0: flags=4099 mtu 1500
ether 00:26:18:12:17:8d txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 2 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp2s0: flags=4163 mtu 1500
ether 00:24:23:09:c5:03 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 MiB)
Если выдает что команда не найдена, то можно воспользоваться вот такой командой:
ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:26:18:12:17:8d brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:24:23:09:c5:03 brd ff:ff:ff:ff:ff:ff
Далее подключаем (поднимаем) wlp2s0 интерфейса:
sudo ifconfig wlp2s0 up
Сканируем сеть на наличие WiFi сетей:
iwlist wlp2s0 scanning | grep -i essid
Вывод команды выглядит следующим образом:
ESSID:"ezhiki"
ESSID:"MGTS_91C0"
ESSID:"c2_free1"
ESSID:"Keenetic-8475"
ESSID:"onlime-22"
ESSID:"Olga"
ESSID:"c2_free"
ESSID:"lauk2"
ESSID:"hms"
ESSID:"Roder"
ESSID:"BERLOGA"
ESSID:"DroidWiFi"
ESSID:"Beeline_2G_37"
Мой Wi-Fi под названием «ezhiki», теперь создадим файл, в котором будут лежать все необходимые параметры нашего подключения:
sudo wpa_passphrase ezhiki 'PASSWORDS' > /etc/wpa_supplicant/wpa_supplicant.conf
- PASSWORDS – пароль от вашей сети.
Если его открыть:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
то Вы уведите примерно следующее:
network={
ssid="ezhiki"
#psk="PASSWORDS″
psk=c3fff452f64cbfe79bhjdfsdfsf78jf333a9429c6c0654eafae3d45de307e6e4b11
}
Если чего-то не хватает, то дописываем со своими значениями и жмём
ctrl+O, enter, ctrl+X
Ну что же, можно уже и подключится к wifi сети:
sudo wpa_supplicant -D wext -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
ВНИМАНИЕ! Нужно не забыть прописать в конфигурационном файле сети тип подключения: вручную или dhcp (как я/). Для этого наберите в консоле:
sudo dhclient wlp2s0
Автоматическое подключение к Wi-Fi сети
Если после перезагрузки все выше описанные действия приходятся проделывать заново, то есть смысл отредактировать конфигурационный файл поднятия интерфейсов при загрузки системы. Также данный пункт вам придется проделать если Вы пытаетесь запустить USB Wi-Fi свисток. И так конфигурационный файл находится в директории /etc/network
давайте откроем его данной командой:
sudo nano /etc/network/interfaces
Добавим в конце файла во такие строки.
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Сохраняем ctrl+o, enter и закрываем ctrl+x. Теперь после перезагрузки подключение к Wi-Fi должно отработать автоматом.
Если есть вопросы, то пишем в комментариях в Телеграмм и ВК.
Ссылки в шапке страницы.Заранее всем спасибо!!!
И да, проблем у меня нет, есть вопросы которые надо решить. С wi-fi решил, теперь вот с подключением Homebridge MQTTThing к Esp Easy решаю. Тут всё печальнее, инфы на порядок меньше, а вариантов для метода тыка несоизмеримо больше.
Оооо да, я пробовал запустить умный дом на малинке. Инфы в инете мало – с этим на 100% соглашусь. Даже от самих разработчиков данного ПО. Но решается общими усилиями на форумах. А вот после выкладываются себе на сайты ))).
форумы конечно вариант, но чайнику тяжело угнаться за полётом мысли продвинутых пользователей. Там примерно тоже, что и в данной статье. Пишется проверьте установлен ли wpasupplicant , а команда даётся на его инсталляцию. Установил второй, ОС легла (образно). Пишется nano <файл для редактирования>, а без sudo в начале он не сохраняется,… Подробнее »
Нет моншэр чувства Вас обманывают, пароль я ввёл. Ваша статья безусловно пригодиться для изучения команд и для будущих писателей, как образец того, как нельзя писать статьи. Поскольку изложение не соответствует декларируемым целям. Чтобы не быть голословным даю 10 000USD, если следуя пунктам вашей статьи, Вы запустите usb-wifi свисток на Pi… Подробнее »
Спасибо за заботу и сочувствия. Но Вы читаете через строки. В статье приводится пример, как запустить wifi со встроенной картой Малинки. А у вас тут появился свисток. На него то хоть драйвера встали? Pi увидела данное оборудование?
Можем разобраться в вашей проблеме, если Вы ГОТОВЫ конечно.
sudo wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
Successfully initialized wpa_supplicant
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
спасибо за труд, но юзерам pi он не пригодится :{
А вместо PASSWORDS свой пароль указали. Такое чувство что нет
Если ОС без Х то даже очень пригодится