BalenaOS — Connecting to Eduroam
Balena is an awesome way to manage a distributed fleet of IoT devices, as it brings modern tools like version control and git into IoT deployment. This is a short post to help you get started with balenaOS on university WLAN networks (802.11.X) such as Eduroam, using the balena’s built-in network manager tool, nm.
BalenaOS uses nm to manage networking interfaces and devices. In order to get this working on your own device (Raspberry Pi, BalenaFin, etc.), you’ll need to supply nm with a connection file. This file is used by nm to prepare your network device (in this case WLAN) for scanning and connecting to your specified network.
It’s also worth noting that you can manage Ethernet and Cellular interfaces with nm!
In order to configure this file, you should:
- Mount your device’s file system, i.e. sd card for the Raspberry Pi or eMMC flash for the balenaFin.
- Navigate to “/resin-boot/system-connections”
- Open the example config file “resin-wifi-01” within a text editor of your choice as this is the file that we’ll edit for our own network connection
This file should look something like the example connection file as shown below.
Generic Example Connection File for WPA
If you entered your network settings from balenaCloud, you should see some of the fields already filled in with your details.
This is great if you’re on your home network and don’t need to worry about enterprise networks. However, this won’t get you connected to Eduroam. For that, you’ll need to add some additional details about your specific network and include the required certificates. Below is an example for connecting to the University of Warwick’s Eduroam network. Although many universities will have a very similar config file, you may need to check with your IT services for specific details (Ask for how to connect to Ubuntu) but it’s worth trying this config first.
Example Connection File for Eduroam at the University of Warwick
You’ll notice that you’re required to supply an identity which is typically your university ID (this may be your email address) and associated password. You may also need to find out which certificate that your network requires. In my case, I’m required to locate to the QuoVadis_Root_CA_2.pem certificate, which can be found in this location, “/etc/ssl/certs/QuoVadis_Root_CA_2.pem”.
Once you’ve made your edits:
- Save the file
- Safely eject your sd card/eMMC from your system
- Next, remount it on to your IoT device
- Finally, reboot the device
If you’re using balenaCloud, it should appear as online on your dashboard, within a few minutes. If you’re not using balenaCloud, you can look for visual indicators on the device to see if it’s connected to a network.
A repeating pattern of 4 short flashes from the ACT LED will signify that your device cannot reach a network (this applies to the Raspberry Pi and balenaFin, other devices may vary).
You may wish to add additional setting to your network configuration and may want to check out the Gnome Developer docs for more settings and options for nm.