To use WPA2 pre-shared key on the Raspberry Pi, you will first need to add a network configuration to “/etc/wpa_supplicant/wpa_supplicant.conf”. Note the lack of space in “network={“.
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="Your SSID Here" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="YourPresharedKeyHere" }
After you have modified wpa_supplicant.conf, you will need to change the “wlan0” section of “/etc/network/interfaces”. For a static IP, it will look like this:
# allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet static address 10.1.2.20 netmask 255.255.255.0 network 10.1.2.0 gateway 10.1.2.1
For DHCP, it will look like this:
# allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
After that, you will need to bring up the “wlan0” interface using “ifup”:
# sudo ifup wlan0
You may have to bring the interface down and then back up:
# sudo ifdown wlan0 # sudo ifup wlan0
You may see messages like this:
# sudo ifup wlan0 ioctl[SIOCSIWAP]: Operation not permitted ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument
While the messages are annoying, the adapter will still connect and transmit and receive data.
You can check your wireless connection using iwconfig:
# iwconfig lo no wireless extensions. eth1 no wireless extensions. wlan0 IEEE 802.11bg ESSID:"Your SSID Here" Nickname:"<WIFI@REALTEK>" Mode:Managed Frequency:2.442 GHz Access Point: NN:NN:NN:NN:NN:NN Bit Rate:54 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Power Management:off Link Quality=100/100 Signal level=95/100 Noise level=0/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 eth0 no wireless extensions.
If there are errors in your “/etc/wpa_supplicant/wpa_supplicant.conf” file or you have some other problem, you can start wpa_supplicant manually using the following command:
# sudo /sbin/wpa_supplicant -P /var/run/wpa_supplicant.wlan0.pid -i wlan0 \ -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf
The backslash above is used to break the long line into two lines.