How to connect to WiFi from the command line?
Other posts seems to be addressing more complicated network connection issues from the command line. The Unity panel Network indicator/button doesn’t respond too well sometimes — it keeps trying to connect to a network even when i click on «disconnect», stuff like that. So I want to go command line for the control. I don’t like GUIs anyway. Is there not some simple command line tool which can do something like the following?
wifi connect MyNetworkNameA wifi disconnect wifi connect MyNetworkNameB
Depends , what wireless security ? This is covered in detail here — help.ubuntu.com/community/NetworkConfigurationCommandLine/…
On Ubuntu 16.04 and on 18.04, still experiencing wifi disconnects. A reconnect command would be a good hack.
4 Answers 4
I think you want to keep using managed interface (by NetworkManager). nmcli is a command‐line tool for controlling NetworkManager.
- To see list of saved connections, use ( )
Just change , , in the following commands to reflect your setup. If WiFi info already saved, easier way using name of connection as it was saved in NetworkManager.
Ubuntu 16.04
##disconnect nmcli d disconnect ##connect nmcli d connect
##disconnect nmcli c down ##connect nmcli c up
Ubuntu 15.10 & previous
##disconnect nmcli d disconnect iface ##connect nmcli d wifi connect password iface
##disconnect: nmcli c down id ##connect: nmcli c up id
If your password isn’t automatically recognized type this:
Works like a charm! And, as suspected, the command line responds immediately, while the GUI can be sluggish, uncooperative, and unresponsive sometimes.
Saved my day when I lost my Unity dash and taskbar, and the Network Settings dialog kept on crashing upon any kind of network connection establishment.
@kirill_igum , sorry to be late quiet busy, You may use cron for scheduling wifi scan using iwlist wlan0 scanning or nmcli d wifi list then nmcli to connect to the corresponding wifi network depending on your needs.
On Ubuntu 14.04 this connect command returns Error: Device ‘wlan0’ is not an Wi-Fi device. I believe this answer is incomplete.
To save a connection setup: sudo nmcli dev wifi con «SSID_NAME» password PASSWORD «CONFIG_NAME» To find auto your saved connection setups: nmcli c
nmtui ncurses solution
Great interactive ncurses network manager option:
If for some reason it is not installed, the Debian package is:
sudo apt install network-manager
Comes in the same package as nm-applet (the default top bar icon thing) and nm-cli , and is therefore widely available.
This is a much more intuitive solution than what is above IMO. Unless you’re trying to learn how Linux/Unix connects to WiFi, this seems like the ideal select and press enter solution. Works well on Ubuntu 18
and Jetson Nano . and usefully it kept eth0 up too (I’m running headless and didn’t lose the ssh session)
F***ING THANK YOU! Over the years I’ve had to rescue a laptop several times, and I always have to look up the spells required for wifi. nmtui is the best solution and just works!
If your wi-fi access point is saved, it will auto-connect. Turn wireless on or off with a simpler command:
nmcli nm wifi on nmcli nm wifi off
nmcli radio wifi on nmcli radio wifi off
How do you make NM enable wifi automatically during boot? Every time I reboot, Network Manager starts with wifi disabled.
@Cerin, you may try adding this command to startup applications, see askubuntu.com/questions/243139/…
If you want to connect to a network called PrettyFlyForAWiFi-5G
nmcli -a d wifi connect PrettyFlyForAWiFi-5G
-a (or —ask ) means it will ask you for the password. The connection will be saved and should connect automatically if you restart your computer.
You could append password to the end (the literal word password followed by the actual password)
nmcli d wifi connect PrettyFlyForAWiFi-5G password 12345678
but maybe run unset HISTFILE beforehand, so that your WiFi password isn’t saved to your ~/.bash_history file.
To see all the WiFi networks around you ( —rescan yes is optional, the list of networks might be up to 30 seconds old without it)
nmcli d wifi list --rescan yes
which will output something like
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY PrettyFlyForAWiFi-5G Infra 44 405 Mbit/s 59 ▂▄▆_ WPA2 PrettyFlyForAWiFi Infra 6 195 Mbit/s 41 ▂▄__ WPA1 WPA2
To forget a connection (that was saved after you ran nmcli -a d wifi connect )
nmcli c delete PrettyFlyForAWiFi-5G
To see a list of all saved connections
You can use nmcli connection instead of nmcli c and nmcli device instead of nmcli d
nmcli is the command line interface for NetworkManager (which is part of GNOME, Ubuntu’s default desktop environment) and is already installed on Ubuntu.
Don’t forget to set up your country code for using the perfect regulations:
sudo iw reg set sudo nano /etc/default/crda
Настройка, установка, подключение Wi-Fi в Ubuntu: через консоль и интерфейс
Приветствую тебя мой дорогой читатель! Сегодня мы поговорим о проблемах Ubuntu WiFi. Самым верным способом подключения компьютера с любой операционной системой является провод. Но не всегда возможно прокинуть кабель, поэтому ещё более простой способ коннекта — это Wi-Fi.
Вот тут у пользователей ОС Linux могут возникнуть проблемы, так как не во всех дистрибутивах «Убунты», есть вшитые драйвера вай -фай модуля. Оно и понятно, производители системы специально стараются её не загружать всяким хламом. Раз ты читаешь эти строки, то скорее всего у тебя возникли сложности с настройкой WiFi. Но ничего страшного нет и сейчас мы решим эту злосчастную и противную проблему.
Как установить драйвера
И так в первую очередь нужно узнать – какая модель передатчика стоит внутри. Помимо этого, было бы хорошо узнать наименования компании, которая выпустила передатчик. Для этого открываем консоль и внимательно прописываем команду:
Теперь мы знаем название модели аппаратного передатчика. Осталось скачать драйвер для Linux. Заходим на страницу .
Теперь очень внимательно смотрите во второй столбец – это производитель. Тут может быть несколько вариантов как у меня. Поэтому после этого находим последний столбец – там будет указан тип подключения. Так как я использую внутренний модуль, который подключен к PCI, то выбираю именно этот вариант. Так можно взглянуть на типы поддерживаемых стандартов – «a/b/g/n», чтобы удостовериться, что вы скачиваете, именно то что нужно.
Открываем драйвер, который вы считаете наиболее приемлемым вариантом. Теперь находим в таблице название модели вашего модуля. И так для пущей уверенности, давайте проверим, PCI-ID — это первый столбец. Узнать PCI-ID можно с помощью команды:
Теперь внимательно посмотрите во второй столбец – если драйвер есть, то вы увидите надпись «Yes», если его нет, то «No». Если вы видите, что дров такого типа нет, то возвращаемся на страницу назад и смотрим другой пакет.
Как только находим нужный драйвер нужно его скачать. Нажимаем по ссылке в самом начале после надписи «For example». Возможно потребуется установка драйвера, но он как уже и было сказано вшит в саму систему.
Но нужно будет установить прошивочку. Поэтому поводу нужно просмотреть в раздел «Firmware installation». Там может быть ссылка на файл и прошивку, которую нужно будет скопировать и скачать. Для каждого драйвера может быть какие-то отдельные нюансы, поэтому просто внимательно прочтите этот момент.
В моём случае, мне нужно скачать пакет и скопировать его в отдельную папочку. Далее нужно будет выгрузить модули по порядку:
$ sudo modprobe -r wl
$ sudo modprobe -r b43
$ sudo modprobe -r b43-legaxy
Также добавляем модули в ЧС, чтобы система их не подгружала.
$ vi /etc/modprobe.d/blacklist-bcm.conf
blacklist b43
blacklist b43-legacy
blacklist wl
Теперь модуль нужно запустить, для этого есть простая команда в консоли:
Все теперь радиоволны вай-фай должны витать вокруг вас. Сразу скажу, что я привел пример на своем аппарате, установка драйверов идёт по тому же принципу, но могут быть не которые различия. Особенно это касается прошивочки – о ней нужно смотреть отдельную инструкцию по своей модели.
Как подключить WiFi в Ubuntu
Подключение теперь примерно такое же как в Windows или других ОС. В самом верху вы должны увидеть небольшой значок, который чем-то напоминает треугольник. Просто нажимаем на него, выбираем нужную сеть и вводим пароль. Теперь интернет на компе должен быть.
Бывает такие случаи, когда такой значок просто не появляется или нужно сделать это через командную строку. Чтобы произвести подключение к WiFi откройте консольку. И так всё действия нужно будет сделать ручками, так что приступим.
- В строке ESSID будет наименование, которое мы будем использовать для подключения. Далее прописываем:
$ wpa_passphrase ИМЯ_СЕТИ_ESSID > wpa.conf
- Надеюсь, вы уже поняли, что вместо второго слово нужно ввести наименование вашей сети. Далее вписываем ключ подключения.
- Теперь для подключения нужно ввести команду как на картинке выше. После «-D» нужно ввести название драйвера. После «-i» название интерфейса, который используется вашим оборудованием. Последнее «-с» — это наименование файла, который мы создали ранее.
- К маршрутизатору то мы подключились, но теперь нужно получить сетевой адрес и DNS прописать. Открываем новое окно, но не закрывая старое и прописываем:
$ sudo dhclient -r
$ sudo dhclient -i wlp3s0b1
Теперь вы знаете, как быстро настроить WiFi и запустить его, подключение уже должно работать. Можете попробовать пропинговать какой-нибудь сайт, для надёжности. На Линукс все куда сложнее, но после всех шагов, описанных в статье всё должно работать стабильно.
How to bring up a wi-fi interface from a command line?
and interrupt it, it brings the device up somehow and then scanning etc. works. I’d like to avoid this obviously superfluous step.
There are multiple wifi interface from kernel to user-space. The iwconfig is deprecated and may not be configured into a modern kernel. The iw method is more modern/preferred (nl80211). Older iwconfig may give wierd errors when wext support is not compiled/configured. What tools/scripts distros make available is another issue. I guess if you use a distro, they should take care to give the right packages/configurations. If you build your own, then you may have the issue above.
5 Answers 5
sudo ip link set wlan0 up or sudo ifconfig wlan0 up .
Answer from Apr 13’17:
To elaborate on the answer by Martin:
ifup and ifdown commands are part of ifupdown package, which now is considered a legacy frontend for network configuration, compared to newer ones, such as network manager .
Upon ifup ifupdown reads configuration settings from /etc/network/interfaces ; it runs pre-up , post-up and post-down scripts from /etc/network , which include starting /etc/wpasupplicant/ifupdown.sh that processes additional wpa-* configuration options for wpa wifi, in /etc/network/interfaces (see zcat /usr/share/doc/wpasupplicant/README.Debian.gz for documentation). For WEP wireless-tools package plays similar role to wpa-supplicant . iwconfig is from wireless-tools , too.
ifconfig at the same time is a lower level tool, which is used by ifupdown and allows for more flexibility. For instance, there are 6 modes of wifi adapter functioning and IIRC ifupdown covers only managed mode (+ roaming mode, which formally isn’t mode?). With iwconfig and ifconfig you can enable e.g. monitor mode of your wireless card, while with ifupdown you won’t be able to do that directly.
ip command is a newer tool that works on top of netlink sockets, a new way to configure the kernel network stack from userspace (tools like ifconfig are built on top of ioctl system calls).