
Setting up Eduroam on Raspberry Pi
Anyone who has ever used Eduroam on a Raspberry pi will know that it’s no easy task to set it up. Fortunately, it is possible, it just takes a lot of trial and error.
This has been tested on a Pi2, Pi3, and a model b+ with a WiFi adapter.
How to set up an Eduroam WiFi connection on Raspberry pi:
Firstly, you will need to find out your university’s network information – this will vary depending on which university you are at. As this guide is made (and tested) for Plymouth University, you may have to find your own university’s information. In this case, the information was readily available on the university’s website — you will need to look this up in case there are any differences (this part is up to you!).
Before you start, you may need to stop network connections:
sudo service networking stop
Warning: This will disable any currently open network connections – if you are using your Raspi with SSH, this will disconnect it, so be sure to do this using a mouse/keyboard/screen.
Security
If you have used WiFi on a Raspberry Pi before, you may have noticed your password is stored in plain text – this is not okay! We can combat this by hashing it. You can convert your password by opening a command prompt and typing in:
read -s input ; echo -n $input | iconv -t utf16le | openssl md4
then type in your password. It will feed back a hashed version of your password. This needs to be added to the the ‘wpa_supplicant.conf’ file as indicated later.
Editing the Config files
The two files we need to edit are ‘/etc/wpa_supplicant/wpa_supplicant.conf’ and ‘/etc/network/interfaces’. What you put into these files depends on your university’s network.
The first can be edited in the terminal by typing:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
in ‘wpa_supplicant’:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=GBnetwork={ssid=”eduroam”scan_ssid=1 scan_ssid=1proto=RSNkey_mgmt=WPA-EAPpairwise=CCMP TKIP pairwise=CCMP TKIPgroup=CCMP TKIPeap=PEAPphase2=”auth=MSCHAPV2″identity=”<eduroam-username>”password=hash:<eduroam-password-hashed-using-iconv-and-openssl>id_str=”eduroam”}
where <eduroam username> is your usual eduroam login and <eduroam password> is the hashed password.
Next, edit ‘interfaces’ by typing into the terminal:
sudo nano /etc/network/interfaces
and adding in:
auto lo wlan0iface lo inet loopbackiface eth0 inet dhcpiface wlan0 inet dhcpwpa-driver wextwpa-conf /etc/wpa_supplicant/wpa_supplicant.confiface default inet dhcp
You may also need your university’s security certificate – this can usually be found with the other details for manually connecting to your university’s WiFi. Once you have found it, add it to the folder ‘/etc/ssl/certs/’ and then link back to it from within your ‘wpa_supplicant.conf’ file by adding:
ca_cert=”/etc/certs/<NameofCert>”
where ‘/etc/certs/<NameofCert>’ is the name/location of the certificate needed.
Once this is done, you will need to run wpa_supplicant:
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
You may need to reboot to get it to connect.
Troubleshooting
You may find that your Raspberry pi resets key_mgmt to “none” on connecting to Eduroam and lists as “disassociated from Eduroam” – if this is the case, you may find it easier to work on a copy and overwriting the original with the Eduroam version.