Setup eduroam with easyroam on unsupported linux devices.
German universities (as of the time of writing) are switching from the official eduroam client to easyroam by DFN in october 2024. Since I needed to set up Wi-Fi on my Fedora notebook, I tried to follow their guide but quickly realized that they only officially provide a .deb client for Debian-based distributions and porting the file with alien did not work.
So, I sent an email asking for an .rpm package, and they responded with:
[...] uns ist es leider nicht möglich die easyroam app für RHEL/Fedora basierte Distros (.rpm Package) und/oder für die vielen anderen proprietären Linux Derivate zur Verfügung zu stellen. Das wird uns leider niemals gelingen.
which roughly translates to: no, never.
I started following their guide for a manual setup with NetworkManager but realized that they assume you can only use NetworkManager on Debian, which is not always the case. So, here are two small scripts to make your life easier: one for extracting certificate and key files from a PKCS#12 (.p12) bundle file, and another for directly setting up easyroam/eduroam on Fedora (and possibly other distributions as well).
Currently, the direct setup has been tested only on Fedora with NetworkManager, but I can extend support to other distributions and other network managers if there is interest.
- Open https://www.easyroam.de
- Search for your university and log in
- Navigate to
Generate profile
- Select
manual options
, choosePKCS12
and enter your device name - Download the file by clicking on the
Generate profile
button
Install easyroam/eduroam on distributions using NetworkManager
Warning
Tested only on Fedora Workstation 40
Note
For immutable distributions like Fedora Atomic Desktops, refer to C-3PK's fork
Tip
To remove the generated configuration, delete the file /etc/NetworkManager/system-connections/easyroam.nmconnection
or run: nmcli connection delete easyroam
curl -o easyroam.sh https://raw.githubusercontent.com/jahtz/easyroam-linux/main/easyroam_nm.sh
This script unpacks the PKCS12 (.p12) file for manual configuration
Tip
After unpacking, you can follow the official DNF guides for:
- netctl (e.g. Arch)
- wpa-supplicant (e.g. Pi OS Lite)
curl -o easyroam.sh https://raw.githubusercontent.com/jahtz/easyroam-linux/main/easyroam_cert.sh
Resulting files:
easyroam_root_ca.pem
→ CA certificateeasyroam_client_cert.pem
→ User certificateeasyroam_client_key.pem
→ Private key
- Make the script executable:
chmod +x easyroam.sh
- Run the setup:
./easyroam.sh