CLI Wifi setup with iw
This is a quick overview of the necessary commands and configuration to connect to wireless networks from the command line with iw and wpa_supplicant.
Preparation
Identify available Wifi adapters:
$ iw dev
Check the device status (from now on using device wlan0):
$ ip link show wlan0
Bring up the interface and scan for available networks:
$ ip link set wlan0 up
$ iw wlan0 scan
Now there are several possibilities to actually connect to the targeted wireless network:
Solution 1 - manually with wpa_supplicant and dhclient
Generate the wpa_supplicant configuration file (replace $SSID with the network's SSID, hit return and enter the passphrase):
$ wpa_passphrase $SSID >> /etc/wpa_supplicant.conf
Note: You might want to remove the (commented out) clear text passphrase from the resulting wpa_supplicant.conf file.
Connect to the wireless network and obtain an IP address:
$ wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
$ dhclient wlan0
Solution 2 - using wpa_supplicant with ifup/down
Add the Wifi configuration to your /etc/network/interfaces (of course $SSID and $PASSPHRASE have to be replaced by the actual values):
### File: /etc/network/interfaces
auto wlan0
iface wlan0 inet dhcp
wpa-ssid $SSID
wpa-psk $PASSPHRASE
To avoid the clear text passphrase in your interfaces file, you can run
$ wpa_passphrase $SSID
As before, you'll have to replace $SSID with the network's real SSID, hit return and enter the passphrase. When done, replace the $PASSPHRASE in the above /etc/network/interfaces file with the resulting 256bit value of psk.
Now bring up the interface, connect to the wireless network and obtain an IP address as usual with
$ ifup wlan0
Note: This solution will (try to) automatically connect to the configured wireless network when the system boots.
Checking the link
Finally, use ip or ifconfig to check the link status and ping a known host to verify connectivity:
$ ip addr show wlan0
$ ifconfig wlan0
$ ping -c 2 devuan.org