Como uso o NMCLI para criar uma conexão Wifi e conectar-se ao SSID através de WPA?

12

Meio Ambiente

  • BeagleBone Black executando o Debian 7.7
  • ferramenta nmcli, versão 0.9.4.0

Tentei alguns exemplos de comandos para começar, mas nenhum me ajuda a adicionar uma conexão e conectar.

Aparelhos

# nmcli dev
DEVICE     TYPE              STATE        
wlan0      802-11-wireless   disconnected     <====
usb0       802-3-ethernet    unmanaged    
eth0       802-3-ethernet    connected 

Conexões

Eu tenho poucos

nmcli con    
NAME                      UUID                                   TYPE              TIMESTAMP-REAL                    
Wired connection 1        00000000-4a11-43d1-9252-4b92de0e75c3   802-3-ethernet    Thu Oct 23 05:46:02 2014          
WLAN-A69E22               29eeb2f6-cf80-0000-0000-d23733e97eb4   802-11-wireless   Thu Oct 30 16:06:14 2014          
Wireless connection 1     bfaa9524-a1d9-0000-8279-71a56720c06c   802-11-wireless   Wed Feb 24 02:33:55 2015          
Wireless connection 2     00000000-d5cc-411b-a62e-000000000000   802-11-wireless   Wed Oct 22 23:31:24 2014   

Redes

nmcli dev wifi list
SSID                              BSSID               MODE             FREQ       RATE       SIGNAL   SECURITY   ACTIVE  
'MAR'                       00:00:00:86:D0:22   Infrastructure   2462 MHz   54 MB/s    80       WEP        no      
'MYHOME'                    00:00:00:00:2D:16   Infrastructure   5180 MHz   44 MB/s    80       WPA WPA2   no

Gostaria de adicionar uma nova conexão sem fio ao SSID MYHOMEusando nmclie desejo conectar-me a ela.

Os documentos que encontro parecem não corresponder à minha versão do nmcli

Para o Fedora, eu descobri que o seguinte funcionaria, veja aqui

nmcli con add con-name MyCafe ifname wlan0 type wifi ssid MyCafe ip4 192.168.100.101/24 gw4 192.168.100.1

SOCORRO

Conexões

# nmcli con help
Usage: nmcli con { COMMAND | help }
  COMMAND := { list | status | up | down | delete }

  list [id <id> | uuid <id>]
  status [id <id> | uuid <id> | path <path>]
  up id <id> | uuid <id> [iface <iface>] [ap <BSSID>] [--nowait] [--timeout <timeout>]
  down id <id> | uuid <id>
  delete id <id> | uuid <id>

Aparelhos

# nmcli dev help
Usage: nmcli dev { COMMAND | help }

  COMMAND := { status | list | disconnect | wifi }

  status
  list [iface <iface>]
  disconnect iface <iface> [--nowait] [--timeout <timeout>]
  wifi [list [iface <iface>] [bssid <BSSID>]]

nenhum parece permitir a criação de conexões

Algumas saídas

nmcli -f GENERAL,WIFI-PROPERTIES dev list iface wlan0

GENERAL.DEVICE:                         wlan0
GENERAL.TYPE:                           802-11-wireless
GENERAL.VENDOR:                         Realtek
GENERAL.PRODUCT:                        802.11n NIC
GENERAL.DRIVER:                         rtl8812au
GENERAL.HWADDR:                         04:8D:38:0F:D9:32
GENERAL.STATE:                          30 (disconnected)
GENERAL.REASON:                         42 (The supplicant is now available)
GENERAL.UDI:                            /sys/devices/ocp.3/47400000.usb/musb-hdrc.1.auto/usb1/1-1/1-1.3/1-1.3:1.0/net/wlan0
GENERAL.IP-IFACE:                       
GENERAL.NM-MANAGED:                     yes
GENERAL.FIRMWARE-MISSING:               no
GENERAL.CONNECTION:                     not connected
WIFI-PROPERTIES.WEP:                    yes
WIFI-PROPERTIES.WPA:                    yes
WIFI-PROPERTIES.WPA2:                   yes
WIFI-PROPERTIES.TKIP:                   yes
WIFI-PROPERTIES.CCMP:                   yes
zabumba
fonte
1
Supondo que o Ubuntu respeite a numeração dos pacotes do Debian, o changelog parece indicar que o recurso foi adicionado na 0.9.6.0 ( "Adicione a capacidade de conectar-se a novas redes WiFi a partir do nmcli" ). FWIW, é acessado pelo devobjeto e não pelo conobjeto nmcli dev wifi connect <SSID> password <PASS> iface <IFACE>.
steeldriver
Ok, deixe-me ver se posso atualizar o pacote.
zabumba
@joelmaranhao: Você conseguiu? Como você atualizou para a próxima versão? Tem um problema diferente que também exige uma versão mais recente, mas apt-get upgradea manterá na 0.9.4.
Nhee 30/05
atualizar para 0.9.10 , é uma grande atualização.
Iman

Respostas:

12

nmtui é um comando alternativo para nmcli, baseado na interface do usuário de texto

como root basta digitar

nmtui

insira a descrição da imagem aqui

GAD3R
fonte
esta é a única solução que funcionou para mim (fedora 23) após inúmeras noites de cli hacking sem resultados razoáveis. por que diabos isso é tão simples e estúpido e ninguém escreve em nenhum wiki existente ?! muito obrigado GAD3R!
bitbitdecker
1
nmtui e nmcli não são comandos disponíveis na minha instalação do Debian 8. O que da?
Arya #
1
O @Arya nmtuifaz parte do network-managerpacote packages.debian.org/…
GAD3R 5/17
7
nmcli device wifi con "ssid" password "p455w04d"
mrosiak
fonte
1
Obrigado por isso. Realmente não entendo por que a senha requer uma palavra de barra / argumento / comando e o SSID não.
pdoherty926
@ pdoherty926 Uma solução alternativa ruim é executar o comando como na resposta com a senha na senha limpa, mas incorreta. Então você pode usarnmcli connection up "ssid" passwd-file <path to file>
MrMas