I am trying to connect to my WEP network just using the command-line (Linux).

I run:

sudo iwconfig wlan0 mode Managed essid 'my_network' key 'xx:xx:... hex key, 26 digits'

Then I try to obtain an IP with

sudo dhclient -v wlan0


sudo dhclient wlan0

without success (tried to ping google.com).

I know that the keyword is right, and I also tried with the ASCII key using 's:key', and again, the same result.

I get the message below when running dhclient:

Listening on LPF/wlan0/44:...
Sending on   LPF/wlan0/44:...
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to port 67 interval 3 

I have no problem connecting with WICD or the standard Ubuntu tool.

  • 3
    Side note - don't use WEP, use WPA2 Sep 29, 2013 at 2:12
  • Can you please post the results of iwconfig without any parameters too. What version of Linux are you using? Sep 29, 2013 at 4:20
  • 3
    The OP might use WEP for his own reason. It is considered shallow in perspective of security, but some people just still prefer it. Sep 29, 2013 at 4:41
  • 1
    @DanijelJ There is no practical difference anymore between WEP and no encryption. In 2010, it was already possible to crack WEP in 3 seconds on a 1.7GHz Pentium M processor. If security is important, use WPA2. If it's not, don't encrypt. But WEP? That's just silly. Jun 26, 2015 at 15:13
  • The merits of using WEP and WPA, WPA2, RAID, etc. are beside the point. Although from memory it was significantly easier to connect clients to a WEP network. If you want to be thorough or definitive, include instructions for as many as possible.
    – voices
    Sep 25, 2016 at 9:32

8 Answers 8


Option 1

Just edit /etc/network/interfaces and write:

auto wlan0
iface wlan0 inet dhcp 
                wpa-ssid {ssid}
                wpa-psk  {password}

After that write and close file and use command:

sudo dhclient wlan0

Replace {ssid} and {password} with your respective WiFi SSID and password.

Option 2

Provided you replace your Wireless network card, Wi-Fi Network name, and Wi-FI Password this should also work.

I am using: - Wireless network card is wlan0 - Wireless network is "Wifi2Home" - Wireless network key is ASCII code ABCDE12345

First, get your WiFi card up and running:

sudo ifconfig wlan0 up

Now scan for a list of WiFi networks in range:

sudo iwlist wlan0 scan

This will show you a list of wireless networks, pick yours from the list:

sudo iwconfig wlan0 essid Wifi2Home key s:ABCDE12345

To obtain the IP address, now request it with the Dynamic Host Client:

sudo dhclient wlan0

You should then be connected to the WiFi network. The first option is better, because it will be able to run as a cron job to start up the wifi whenever you need it going. If you need to turn off your WiFi for whatever reason, just type:

sudo ifconfig wlan0 down


I have also seen people using alternative commands. I use Debian, Solaris and OSX, so I'm not 100% sure if they are the same on Ubuntu. But here they are:

sudo ifup wlan0 is the same as sudo ifconfig wlan0 up
sudo ifdown wlan0 is the same as sudo ifconfig wlan down

  • 2
    The last two commands aren't the same. «ifconfig … up» just activates an interface, wheres «ifup …» besides activating also setups IP addresses and some other options.
    – Hi-Angel
    Oct 19, 2014 at 8:09
  • 13
    I like version 2 very much! Only I get: Error for wireless request "Set Encode" (8B2A) : SET failed on device wlan0 ; Invalid argument. And this is the command I used (just like you suggested): sudo iwconfig wlan0 essid mywifiname key s:THEPASSWORD. Can you help?
    – nourdine
    Nov 28, 2014 at 23:35
  • 1
    @Danijel: Thanks! Do both methods work for both WPA2 with shared passphrase. Do they not work for WPA2 with username and password?
    – Tim
    May 4, 2015 at 22:54
  • @nourdine this worked for me: superuser.com/a/295972/253766
    – smac89
    Jul 23, 2018 at 3:22

If you have nmcli installed, I think this is the simplest solution.

For a new connection:

nmcli dev wifi connect <mySSID> password <myPassword>

Or if a connection was already set up:

nmcli con up <mySSID>

(or if that does not work, try nmcli con up id <mySSID>)

  • this does not work, the wifi option does not even have a "connect" command
    – redbeam_
    Jan 13, 2017 at 22:21
  • @redbeam_ Seems like the wifi connect option was added in version 0.9.6. See this answer.
    – DLight
    Jan 14, 2017 at 11:03
  • On Ubuntu 14.04, this command should be: nmcli con up id <mySSID>.
    – Leo
    May 17, 2017 at 2:19
  • got some issue with antergos installer on xiaomi book air and this allowed me to connect using wifi. Thanks !
    – Francesco
    Jan 14, 2018 at 10:43
  • 1
    THANK YOU! A solution that works!! May 7, 2020 at 5:10

There is Danijel J's two options are good, but there is also a 3rd option if you have this working via the 'standard Ubuntu tool' using nmcli, which should already be installed at /usr/bin/nmcli.

First, run

nmcli c

This will list your connections, with the first column being the SSID, and the second column being the UUID of the connection.

Copy the UUID of the SSID you want to connect to so you can paste it into the next command.

Next, run

nmcli c up uuid <paste uuid here>

and this will, using the same stuff as the 'standard Ubuntu tool' connect to your wifi!


Use nmtui if you are just looking to connect.

screenshot of nmtui

You'll be prompted to activate a connection, with the list of SSIDs and you can just enter your password.

  • 4
    Wonderful. This is the best solution i ever see. Sep 5, 2018 at 18:21
  • I had to use sudo i.e. sudo nmtui
    – MrTJ
    Jul 31, 2020 at 7:54
  • How to install nmtui on Debian? Oct 24, 2020 at 6:35
  • apt install network-manager ?
    – MrE
    Oct 24, 2020 at 15:43
  • thanks what a time saving solution
    – Someone
    Dec 31, 2021 at 18:05

Install wpa_supplicant and you have a nice software for all of your Wireless needs. You can then use wpa_cli command to access and set your network interactively. there is also a number of 3rd party software available acting as a GTK+ or QT GUI for wpa_supplicant if you want to go gui at anytime.

Also you could set the connection configuration in /etc/wpa_supplicant.conf or /etc/wpa_supplicant/wpa_supplicant.conf depend on you linux OS. for more information on interactive command type h inside wpa_cli.

  • 2
    Why should one go with wpa_supplicant instead of @Danijel Option 1 (which seems much easier)?
    – KcFnMi
    Aug 3, 2021 at 15:03

Besides from above answers, you can also use wifi-menu on Arch Linux. It will show a CLI-Based GUI and you can choose a WiFi from WiFi list that is shown. wifi-menu depends on dialog though. You must have it installed first.


Fixed issue.

Laptop with no WiFi switch. No bios always on or disable switch etc.

Keyboard had FN + F2 which wouldn't recognize

I attempted to bring up the interface got the

Not permitted due to RF-KILL blah blah

Installed rfkill

Sudo apt-get install rfkill

Did rfkill list , like othersmentioned and I saw in otherforums

The saw a soft block on the wriless cards Did Rfkill unblock (index #) of device
once that was done my WiFi led turned on.

Then did the "ip Link set dev xx up" or the "ifconfig xxx up" and the ifup or w.e to get the interface to be up not just the hardware for ip address and boom. Wifi May want to edit etc/xxx/xxx/interface file to dhcp or statis it and onboot yes or auto . El/deb devices do the config of the interfaces differently.

  • This answer helped me to reactivate my Asus eee 901 with malfunctioning keyboard controller as simple server. I managed to activate wi-fi and connect my netbook to WPA network. Thanks a lot.
    – Marecky
    Jun 29, 2017 at 21:39
  • No problem. Glad I could help.
    – ssvegeta96
    Jun 30, 2017 at 16:36

I know that this was asked 3 years ago. I am answering just in case someone else runs into this situation as I've just did.

The thing is that everything is correct until the dhclient part, where it gets stuck at "DHCPDISCOVER on wlan0..." forever.

Solution: Go to your network manager (Wicd, Network Manager, whatever) and unmark the "Enable Networking" option. It seems that it interferes with the dhclient's normal functioning.

And dhclient worked like a charm.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.