Если инфорация оказалась интересна и/или полезна, не побрезгуйте, оставьте комментарий ;)

пятница, 13 мая 2022 г.

Подключение Wi-Fi из командной строки в Linux на примере Ubuntu 22.04

Уже писал, как настроить в рамках статьи о компиляции модуля ядра для свистка Wi-Fi на OSMC. Но подумалось, что лучше вынести в отдельную статью и как продолжение предыдущей статьи о запуске свистка Wi-Fi на чипе RTL88x2bu (AC1200)

Ставим менеджер сети
evgeniy@micro-gen10plus:~$ sudo apt install connman

Включаем Wi-Fi
evgeniy@micro-gen10plus:~$ sudo connmanctl enable wifi
Enabled wifi

Сканируем сети

evgeniy@micro-gen10plus:~$ sudo connmanctl scan wifi
Scan completed for wifi

evgeniy@micro-gen10plus:~$ sudo connmanctl services
*AO Wired                ethernet_00fd45ff45d0_cable
*AR Wired                ethernet_dea33fb4d870_cable
    HomeWiFI             wifi_1cbfcebfcab5_486f6d6557694649_managed_psk
                         wifi_1cbfcebfcab5_hidden_managed_psk
    Nadya                wifi_1cbfcebfcab5_4e61647961_managed_psk
    Liana                wifi_1cbfcebfcab5_4c69616e61_managed_psk

У меня вокруг какие-то девчонки :)

Запускаем агента. Если это не сделать то в дальнейшем будет ошибка (см. ниже)

evgeniy@micro-gen10plus:~$ sudo connmanctl
connmanctl> agent on
Agent registered
connmanctl>

Cмотрим информацию о нужной нам сети:

evgeniy@micro-gen10plus:~$ sudo connmanctl services wifi_1cbfcebfcab5_486f6d6557694649_managed_psk
/net/connman/service/wifi_1cbfcebfcab5_486f6d6557694649_managed_psk
  Type = wifi
  Security = [ psk, wps ]
  State = idle
  Strength = 81
  Favorite = False
  Immutable = False
  AutoConnect = False
  Name = HomeWiFI
  Ethernet = [ Method=auto, Interface=wlx1cbfcebfcab5, Address=1C:BF:CE:BF:CA:B5, MTU=1500 ]
  IPv4 = [  ]
  IPv4.Configuration = [ Method=dhcp ]
  IPv6 = [  ]
  IPv6.Configuration = [ Method=auto, Privacy=prefered ]
  Nameservers = [  ]
  Nameservers.Configuration = [  ]
  Timeservers = [  ]
  Timeservers.Configuration = [  ]
  Domains = [  ]
  Domains.Configuration = [  ]
  Proxy = [  ]
  Proxy.Configuration = [  ]
  mDNS = False
  mDNS.Configuration = False
  Provider = [  ]

Создаем файл настройки
sudo vim /var/lib/connman/wifi_1cbfcebfcab5_486f6d6557694649_managed_psk.config

Внутри файла:
[wifi_1cbfcebfcab5_486f6d6557694649_managed_psk] Type = wifi Name = wifi_1cbfcebfcab5_486f6d6557694649_managed_psk Passphrase = пароль на Wi-Fi
Не забудьте сменить идентификатор сети на свой.

Подключится можно из командной строки
evgeniy@micro-gen10plus:~$ sudo connmanctl connect wifi_1cbfcebfcab5_486f6d6557694649_managed_psk
Connected wifi_1cbfcebfcab5_486f6d6557694649_managed_psk


или из внутреннего интерпретатора команды:
evgeniy@micro-gen10plus:~$ sudo connmanctl
connmanctl> connect wifi_1cbfcebfcab5_486f6d6557694649_managed_psk
Connected wifi_1cbfcebfcab5_486f6d6557694649_managed_psk
connmanctl>

Если появляется ошибка
Error /net/connman/service/wifi_1cbfcebfcab5_486f6d6557694649_managed_psk: Method "Connect" with signature "" on interface "net.connman.Service" doesn't exist
то, скорее всего не выполнена команда "agent on"

Настраивая проводную сеть, выяснил, что с ConnMan надо быть осторожным. Ставил я его для управления Wi-Fi. А он берет на себя повышенные обязательства и назначает адреса с DHPC-сервера. Выглядело это так. Через Netplan я назначил интерфейсу статический IP. А в "ip addr" для этого интерфейса после перезагрузки сервера я видел сразу 2 IP-адреса: один назначенный статический, второй из пула DHCP-адресов. Много времени убил, пока понял, что виноват ConnMan. Будьте осторожны.

Если используете Netplan, то для подключения к Wi-Fi в файл конфигурации надо добавить соответствующий раздел с настройками. Пример для подключения к домашнему Wi-FI (защита WPA по кодовой фразе). Выделил зеленым:


network:
    renderer: networkd
    ethernets:
        eno1:
            dhcp4: yes
            dhcp6: no
        eno2:
            dhcp4: no
            dhcp6: no
        eno3:
            dhcp4: no
            dhcp6: no
        eno4:
            dhcp4: no
            dhcp6: no
        usb0:
            dhcp4: no
            dhcp6: no
    wifis:
        <имя беспроводного интерфейса, например, wl0>:
            dhcp4: yes
            dhcp6: no
            access-points:
                <имя беспроводной сети (SSID)>:
                    password: <пароль на Wi-Fi>
    version: 2

Комментариев нет: