The Raspberry Pi Linux distribution I’m using is Adafruit’s Occidentalis. It supports WiFi out of the box and appears easy to configure. But as noted by Adafruit, adding peripherals to the RPi may increase the loading on the power supply to your board and this, in turn, may affect the voltage presented to the RPi.
This is clearly the case, even for the tiny OURlink WiFi (802.11b/g/n) USB Adapter (uses the RTl8192cu chip which is supported by Debian Linux) I purchased from Adafruit. When I plugged it into the RPi, it became unstable and crashed. Adafruit advises that you can over come this by attach the RPi’s USB port to a powered hub. (Note that all USB hubs aren’t powered or powered sufficient, and therefore, not all are recommended. I used a Dynex 4 Port Hub with a 5V 2.1A power adapter and all seem fine.) If you find using a using a USB hub completely unacceptable, you could make some RPi board modifications to the polyfuses, but this isn’t the “official/supported” approach for this power problem …. but first …. see the Epilogue below.
My First Attempt (Unsuccessful)
Once I got the RPi USB port properly powered, I followed the Adafruit’s instructions. I updated the/etc/network/interfaces
file with the following:
########## DID NOT WORK FOR ME ########## # The loopback network interface auto lo iface lo inet loopback # The primary (wired) network interface iface eth0 inet dhcp # The wifi (wireless) network interface auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid YOUR_SSID wpa-psk YOUR_WEP_KEY
I ran ifconfig -a
and got the following:
This tells me that Linux sees the WiFi device and assigned it device name wlan0
. It also says there isn’t an IP address assigned and no data is moving. Appears that network interface wlan0
isn’t running so I tried bring it up with sudo ifup wlan0
and I got the following:
No IP assigned … now what?
This Worked … But
After the typical thrashing about, it came to me that I’m not using WAP security (which is implied by the/etc/network/interfaces
file content) but I’m using WEP. I did some web searching and found a site that claimed to address Debian WiFi WEP configuration. This provided me the needed command syntax for the solution. I updated the/etc/network/interfaces
file with the following:
# The loopback network interface< auto lo iface lo inet loopback # The primary (wired) network interface iface eth0 inet dhcp # The wifi (wireless) network interface auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wireless-essid YOUR_SSID wireless-key YOUR_WEP_KEY
I then ran sudo ifup wlan0
to start the wireless networking (Note: you can use sudo ifdown wlan0
to turn-off the wireless network). This time DHCP discovery appeared to work. I then ran ifconfig -a
giving me the display below with an assigned wireless IP.
The wireless device now has an IP address and data seems to be flowing. In an effort to further convince myself that the WiFi was working, I disconnected the wired ethernet connection and attempted to re-login in via ssh -X pi@RedRPi.local
, over the wireless interface. This failed, giving the message:
ssh: Could not resolve hostname RedRPi.local: hostname nor servname provided, or not known
Working For Sure
I suspected (after more thrashing about) it was Ssh or Avahi/Bonjour or both that was getting in the way. So I did the following:
- I cleaned out the
~/.ssh/known_hosts
file on the PC from which I’m accessing the RPi (I’m using Cygwin with Openssh). With the entries in the file removed ssh keys would need to be recreated on next login. - I then logged into the RPi in via
ssh -X pi@RedRPi.local.
The login created an entry the~/.ssh/known_hosts
file on the PC. - Using vi, I edited the
~/.ssh/known_hosts
file. I duplicated the one existing record but changed the IP address to the wireless address. - I restarted the openssh on the PC. (I terminated all the Cygwin window and restarted them. I could get anything else to work short of a PC reboot).
- I then logged in using
ssh -X pi@192.168.1.7
. Now I’m wireless!!
My ~/.ssh/known_hosts
file looks like this:
Epilogue
I have found that if I don’t use a USB powered hub and I plug in the OURlink WiFi (802.11b/g/n) USB Adapter while the RPi is up and running, the RPi will crash. The good news is that, once the RPi reboots, it runs fine without the powered hub.
So, go ahead and use the WiFi USB Adapter, without the powered hub, but make sure the adapter is plugged in when you boot up …. problem solved!
” This time DHCP discovery appeared to work”
hm… my wifi adapter didn’t work after insert this code
“auto wlan0
10 allow-hotplug wlan0
11 iface wlan0 inet dhcp
12 wireless-essid YOUR_SSID
13 wireless-key YOUR_WEP_KEY”
in /etc/network/interfaces
but when ethernet is connected hi is work.
i dont need wifi and ethernet together.
i need only wifi.
what will do next?
Maybe remove line numbers from the code you’ve copy/paste :).
very funny. decided. lacked power USB
Jeff,
Thanks for posting valuable info! I have the same USB wireless adapter and this post will probably save me a alot of swearing later when I have time to set it up! 😉
Thanks!
I’m not sure exactly why but this blog is loading very slow for me. Is anyone else having this issue or is it a problem on my end? I’ll check back later on and
see if the problem still exists.
I’m so happy to have found your blog, Jeff. Thanks to you, my Raspberry Pi has gone wireless! I look forward to reading the rest of your posts with happy anticipation
I tip my hat (elegantly) to you, Sir!
Been running my RPi for a year using a wired internet connection. Switching to a wifi dongle I ran into the WEP-related hurdles when trying to connect using Raspbian’s simple WiFi Config tool. Your config file solved those problems at once!
Thanks for your tutorial, helped me a lot!
Hey Jeff.
Just want to say thanks a million for the step-through. It was really valuable to go through the steps the way you did. Though in the end my problem was a mistyped password, I would have given up before checking something as silly as that if I hadn’t come across your blog.
By the way, never say die! After finding my password issue, it still wouldn’t connect to the Wi-Fi. However, upon rebooting, it connected then!
Thanks again.
Hola Jeff,
Tu explicación es muy clara, de verdad que me sirvió mucho para salir de apuros, pues en casi toda la red se hace referencia a wifi tipo WAP y no a WEP.
De antemano muchas gracias.
Thanks Jeff! You made my WiFi connection work.
Thanks so much! My raspberry is now working wireless with a netgear N150 key.
In interfaces put wireless-key s:YOUR_WEP_KEY instead wireless-key YOUR_WEP_KEY.
Thanks for this, it helped me get my Raspberry PI configured on a WEP network.
NOTE: I had to put the wireless-key in quotes. i.e. like this:
wireless-key “4565AB…. ”
BUT the wireless-essid must NOT be in quotes. i.e.
wireless-essid mynetworkname
Keep up the great work and bringing in the group!