Can the Arduino Yun connect to a network that is password protected using WPA2 Enterprise? If yes, will someone please explain how. Thanks!
If you search the forum, you find it's an open issue and we still haven't had time to set up a test environment.
Hello Federico,
I've searched around the open-wrt wiki and found that open-wrt does handle WPA enterprise even though these options aren't available from the Linino web interface (LuCI). I've attempted to configure WPA enterprise by editing the /etc/config/wireless file.
However, when I restart the wifi using these settings I lose my connection to the Yun. Unfortunately, I cannot access the Yun through the network that is using WPA Enterprise, and I cannot trouble shoot any further, because of my lost connection to the Yun. Do you know how I can connect to the Yun via USB, so that I can continue playing around with the /etc/config/wireless file until I have it configured properly?
Load the YunSerialTerminal sketch over USB, then you get a console in the SerialMonitor or any other terminal program like PuTTY or picocom attached to the USB port for the Yun.
Hi Noblepepper,
Thanks for the suggestion. I have a noob follow up question: after I load the YunSerialTerminal sketch how would I use PuTTY to "access" the terminal?
Thanks!
I assume you are on windows if you want to use PuTTY, you download it from here: Download PuTTY: latest release (0.78). Run it and select a Serial connection, point it to the COM your Yun (or any other arduino) is on and set the speed to whatever speed the Serial.begin(); set.
The other option is to plug in an Ethernet cable and access the yun through it. This way you'll never lose the connection as long as you'll play with wifi (because they are two separate network interfaces)
YES!!!
I've got the Yun to connect via WPA2 Enterprise and I'll include the steps I followed at the bottom of this post. Before getting to this, however, I think my setup is incomplete and could use some further guidance. Specifically, I do not know how to download a CA cert for the network I connect to. This doesn't seem to be necessary to make a connection, because I still connect, but these CA certs seem pretty standard, so I'm not sure what to do. Finally, I can only connect to my Yun by typing the numerical IP address, but not via http://arduino.local; this has been an on-going issue for me, because I do not understand it. How can I connect to my Yun using the the numerical IP address, but then fail to connect via http://arduino.local?
Also, are all opkg packages installed to the Yun memory? Can (and should) any packages be installed to the sd card?
A way to have the Yun connect to WPA Enterprise; I hope this helps as a starting point for just one other soul:
0. This setup was preformed with the help of Windows box.
- Connect the Yun to a computer via the micro USB. This is not only a good way to power the Yun, but also convenient to communicate with a virtual serial connection. Upload the sketch File>Examples>Bridge>YunSerialTerminal from the Arduino IDE.
- Place the Yun within range of a wireless network (or connected via ethernet) that does not require WPA Enterprise. Connect the Yun to this network.
- Open PuTTY, select the Serial from the radio buttons, and change the baud rate to 115200. The baud rate will be whatever was set in the YunSerialTerminal sketch in the line
Serial.begin(####)
. Click the Open button and a window will open. Press enter and the Linino spash screen should appear or at the very least a command line. - Install wpad with the opkg package manager, because wpad has the wpa-enterprise ability whereas wpad-mini, the default package in the Yun, does not. wpad-mini comes pre-installed and must be removed first.
opkg update
opkg remove wpad-mini
opkg install wpad
- Confirm the installation with
opkg list-installed
. - Edit the /etc/config/network file using the vi text editor. Add a new config section that looks like
config interface 'myNetwork'
option proto 'dhcp'
.
To start editing the file, from the command line enter vi /etc/config/network
.
- Press 'i' to start editing text
- Press 'ESC' to stop editing text
- Type ':x' save changes and exit
- Type ':q' to exit
- Type ':q!' to exit without saving changes
- Now, edit the /etc/config/wireless file using vi again. I found my setup worked when I included only the following under the config wifi-iface section. Also, some of these settings are network specific, so please adjust accordingly:
option device 'radio0'
option network 'myNetwork'
option mode 'sta'
option encryption 'mixed-wpa+aes'
option eap_type 'peap'
option ssid 'mySSID'
option identity 'myUsername'
option password 'myPassword'
- Move the Yun into the range of the WPA Enterprise protected network. Restart the wireless interface of the Yun by entering the following command from the command line:
wifi
- The Yun will output some text with details about the connection being made. Finally, confirm and discover the IP address assigned to the Yun using the command
ifconfig
. The output of this command will contain a section called wlan0; the IP address can be found next to the text inet.
Thanks for everyone's help!
You saved me hours of work! Thank you so much!
Thanks for sharing!!!
I don't think the network interface 'myNetwork' is initialized until you run the script /etc/init.d/network start
At which point, the wifi command works.
Thanks for the tutorial!
Thanks for the Information!
For this info:
option device 'radio0'
option network 'myNetwork'
option mode 'sta'
option encryption 'mixed-wpa+aes'
option eap_type 'peap'
Can you tell me where I find the network specific content?
thank you,
Ryan
http://wiki.openwrt.org/doc/uci/wireless
Check WPA Modes sections for Value.
http://www.itcom.itd.umich.edu/wireless/connect/xp.php
Use Windows machine login WPA2 Enterprise network, copy the value from windows machine.
Thank you Sonnyyu!
I would like to do this also but I am running into some problems. I am getting numerous error messages as the Yun tries but then says wlan0: deauthenticating from by local choice (Reason: 3=DEAUTH_LEAVING). This may be because something is overwriting the content I put into /etc/config/wireless. In particular, these lines get modified.
option mode 'sta'
option encryption 'mixed-wpa+aes'
option ssid 'mySSID'
ssid gets reset to the original Yun SSID that it came with out of the box. Encryption is reset to none and mode is switched to 'ap'. I can confirm that the file has been saved when I make the changes using vi. I can re-edit the file using vi and the changes are there. However, running subsequent commands lead to these changes.
PineCone:
ssid gets reset to the original Yun SSID that it came with out of the box. Encryption is reset to none and mode is switched to 'ap'. I can confirm that the file has been saved when I make the changes using vi.
Yes, those are the default out of the box settings. When the Yun boots, it tries to connect to the access point you had configured (mySSID in your example.) If, after one minute, there hasn't been a successful WiFi connection, the Yun resets the WiFi connection to the defaults and reboots. The idea is that if you improperly configured the WiFi settings, and the Yun is unable to connect, it will return to the default access point mode to allow you connect and retry the settings.
The problem here is the deauthentication. You need to solve that: it's not being caused by these parameters getting reset. I wouldn't worry about the settings getting reset at this point, as this is what is letting you back in for another try.
Once you get it to where it will authenticate properly (and stay authenticated) you can easily disable this automatic reset behavior (it gets annoying to have to reset everything back the way you want it if your access point goes down temporarily.) You may also want to disable this behavior if you have another way to access your Yun, like the Ethernet port.
To stop this auto-reset, edit /etc/rc.local, and comment out the line that calls wifi-live-or-reset
PineCone:
::::SNIP::::
ssid gets reset to the original Yun SSID that it came with out of the box. Encryption is reset to none and mode is switched to 'ap'. I can confirm that the file has been saved when I make the changes using vi. I can re-edit the file using vi and the changes are there. However, running subsequent commands lead to these changes.
PineCone,
The Arduino Yun has a script that puts it back into default SSID and AP mode, when it cannot find the AP you have set it for.
Watch this video (6:53)
Getting started with Arduino Yún - tutorial
Then, read these short instructions.
Resetting the processors (AR9331, WiFi, and 32U4)
http://arduino.cc/en/Guide/ArduinoYun#toc6
Then start over, plug in your Yun, do a quick reset (5-10 seconds), and run this sketch
http://arduino.cc/en/Tutorial/YunSerialTerminal
Let us know how it goes.
Post results from the YunSerialTerminal, if you are still having problems
Please use markup when posting results.
Jesse
Thank you all, I will give these a try!
bitfrosting:
YES!!!
I've got the Yun to connect via WPA2 Enterprise...
Fantastic post, thank very much for sharing. I was up and running in about 3 mins after reading your post.
@PineCone,
please start a new thread and explain your problem from the beginning. There are three solutions to this thread and two have nothing to do with the original problem.
It is very likely you have a different problem. Please start a new thread.
Jesse