« November 2006 | Main | January 2007 »

December 26, 2006

Ubuntu: Configure Wireless From The Command Line

ubuntu.pngAlthough Ubuntu and other distributions give us easy to use graphical user interfaces for configuring almost everything, it's nice to know how to get things working without them. Here we'll show how to connect to a wireless access point and get on the internet from the command line.


First things first, you have to know what the device name of your wireless interface is. Typically this is wlan0, but in my case, it's ath0. Be sure the interface is turned on.

user@ubuntu:~$ sudo ifconfig ath0 up

Next we'll get a list of all the available access points using the iwlist command.

user@ubuntu:~$ iwlist ath0 scanning

You should see something similar to the following:

ath0 Scan completed :
   Cell 01 - Address: XX:XX:XX:XX:XX:XX
     ESSID:"Larry"
     Mode:Master
     Frequency:2.462 GHz (Channel 11)
     Quality=3/94 Signal level=-92 dBm Noise level=-95 dBm
     Encryption key:off
     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
     24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
     12 Mb/s; 48 Mb/s
     Extra:bcn_int=100
   Cell 02 - Address: XX:XX:XX:XX:XX:XX
     ESSID:"MYACCESSPOINT"
     Mode:Master
     Frequency:2.452 GHz (Channel 9)
     Quality=45/94 Signal level=-50 dBm Noise level=-95 dBm
     Encryption key:on
     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
     6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
     36 Mb/s; 48 Mb/s; 54 Mb/s
     Extra:bcn_int=200
   Cell 03 - Address: XX:XX:XX:XX:XX:XX
     ESSID:"motorola"
     Mode:Master
     Frequency:2.462 GHz (Channel 11)
     Quality=4/94 Signal level=-91 dBm Noise level=-95 dBm
     Encryption key:on
     Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
     24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
     12 Mb/s; 48 Mb/s
     Extra:bcn_int=100

The output shows a quite a detailed list of the surrounding access points. You probably know which one you want. Take note of the essid. We'll use that to associate with that access point.

user@ubuntu:~$ sudo iwconfig ath0 essid MYACCESSPOINT

If the access point has some sort of WEP or WPA encryption enabled, you'll need to enter the key. If not, you can skip this step.

user@ubuntu:~$ sudo iwconfig ath0 key 12345abcde

You should now have a connection to the access point. But before you start using the interweb, you'll need to get an IP address. Most access points have DHCP servers that make this part easy. Just run the DHCP client to ask for an address.

user@ubuntu:~$ sudo dhclient

That should provide output similar to the following:

Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

wifi0: unknown hardware address type 801
can't create /var/lib/dhcp3/dhclient.leases: Permission denied
Can't create /var/run/dhclient.pid: Permission denied
drop_privileges: could not set group id: Operation not permitted
pete@pete-laptop:~$ sudo dhclient
Internet Systems Consortium DHCP Client V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

wifi0: unknown hardware address type 801
wifi0: unknown hardware address type 801
Listening on LPF/ath0/00:XX:14:01:6b:XX
Sending on LPF/ath0/00:XX:14:01:6b:XX
Listening on LPF/wifi0/
Sending on LPF/wifi0/
Listening on LPF/eth0/00:XX:43:45:92:XX
Sending on LPF/eth0/00:XX:43:45:92:XX
Sending on Socket/fallback
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPDISCOVER on wifi0 to 255.255.255.255 port 67 interval 4
DHCPACK from 192.168.0.1
bound to 192.168.0.101 -- renewal in 39598 seconds.

Finally, let's check that everything is working. Ping an address.

user@ubuntu:~$ ping www.google.com

Posted by stoltenow at 1:15 AM | Comments (11)