How to connect wifi network from raspberry pi 2 (snappy)
I've set up new raspberry pi 2 with snappy core. And I couldn't find how to connect wifi network from snappy terminal.
My wifi dongle working correctly but there is no iwconfig in snappy core. Wlist not found too. Anyone can help me?
Thanks in advance.
Solution 1:
So I just received my Raspberry Pi 3 Model B in the mail and installed Ubuntu Snappy Core 16 in the recommended way. I performed the initial setup via HDMI and usb keyboard, ethernet, & DHCP. Then I created my ssh connection over ethernet and disconnected the monitor and keyboard. From there, I wanted to connect my device to WiFi and stumbled upon this post.
I like to try things without extra installations or workarounds, so I consulted Installation Tips as recommended above and saw that WPA_Supplicant was supposed to be pre-installed. With very little meddling and less effort than the Tips suggested, I found that you can configure the wifi by simply adding a config file consisting of four lines to the default location searched by wpa_supplicant and nothing else. Though it was asked a while ago about a Raspberry Pi 2 I see from recent comments that it might still be relevant and it was so simple I am inclined to share.
I know this answer looks long, but it is very simple and detailed with pictures. Anyone who has a basic knowledge of Terminal and was able to set up their raspberry Pi initially will be able to follow it.
Tl;Dr
- Setup your Rasberry Pi and establish a LAN connection via SSH
- Shutdown your Raspberry Pi with
sudo shutdown -P now
- Plug your SD card into a linux distro
- In a text editor add a config file called "wpa_supplicant.conf" to the /writable/system-data/etc/ folder on the Writable partition of the SD card
- I did this by creating the conf file on my desktop and then using
sudo cp
to move it to the correct directory
- The config file should be:
network={
ssid="Typhon Secure"
Use your network SSIDpsk="*******"
Use your network Passkey}
- Note: This works for Hidden Networks as well
- Eject your SD, plug it into your Pi, boot your Pi; it should connect to your WiFi
My tutorial begins from the point of having an ssh connection via ethernet, which can be achieved by following the instructions at Ubuntu Core Get Started Raspberry Pi 2/3.
Then type wpa_supplicant
and you will see that it does not need to be installed as it is pre-built into Snappy Core. As you'll see in the below images, just running wpa_supplicant
will return a lot of options, but notice the last line:
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
What this tells you is first the Driver, then the Interface, then the location that it is looking for the interface file: -c/etc/wpa_supplicant.conf
Now that I knew where the configuration file needed to be, I shutdown the Raspberry Pi with sudo shutdown -P now
and once it shutdown; disconnected the power and inserted the SD into a linux box with Fedora. Somehow the file system shows differently so you'll find the location where wpa_supplicant.conf
needs to be location is at writable/system-data/etc
and the SD card mounted in /run/media/cregger/ for me, so you'll see my file path is /run/media/cregger/writable/system-data/etc/
.
I used nano to create a new file called "wpa_supplicant.conf" with the following four lines:
network={
ssid="Typhon Secure"
(My network SSID)
psk="*******"
(Obviously the asterisks represent my WiFi passkey)
}
Don't forget to terminate.
Note that this works for hidden networks with no extra configuration. My network has a hidden SSID and I changed nothing. It has WPA-PSK 2 security; pretty standard fare.
You'll notice that I saved it to the desktop. I then copied it to the proper location with terminal as it is owned by root.
Then eject your SD card from Linux, plug it back into your Raspberry Pi, plug your power source back into your Raspberry Pi; let it boot and it will seek your wifi.
You'll see in my case both Eth and Wlan have taken an IP
I can now ssh via either LAN or WLAN
I know this was long, but I hope it was helpful in helping you to keep from mucking up your FS and installing a bunch of needless applications.
Solution 2:
From http://www.marinus.nu/2015/02/enabling-wifi-on-snappy-ubuntu-core.html
You can install dpkg of the necessary wifi tools
Install first from another computer a few tools
wget http://ports.ubuntu.com/pool/main/w/wpasupplicant/wpasupplicant_0.7.3-6ubuntu2.3_armhf.deb \
http://ports.ubuntu.com/pool/main/libn/libnl3/libnl-3-200_3.2.24-2_armhf.deb \
http://ports.ubuntu.com/pool/main/libn/libnl3/libnl-genl-3-200_3.2.24-2_armhf.deb \
http://ports.ubuntu.com/pool/main/p/pcsc-lite/libpcsclite1_1.8.11-3ubuntu1_armhf.deb \
I put it on a flash drive and then moved it over
#Mount External Hard Drive
mount -t vfat /dev/sda1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137
then I navigated to /media/external and ran the command
sudo mount -o remount,rw /
sudo dpkg -i *.deb
then added this file to /etc/network/interfaces.d/wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa_ssid "<YOUR_WIFI_NAME>"
wpa_psk "<YOUR_PASSWORD>"
then i rebooted for the effects to take place
sudo reboot
Bonus: for snappy to work remember to set date
sudo date --set 03 Mar 2015 20:55:00