Steam Deck Eduroam Issues
Table of contents:
If you want to skip the story, just jump to Conclusion.
Backstory
Back in late 2024 I obtained a Steam Deck, and first thing I wanted to do with it after coming back to my university dorm was connecting to Eduroam. Of course I know its terrible nature and horror stories about from the internet, some of which I already experienced myself, but tried anyway (I was successfully able to use it with Ubuntu based distros). Well, what do you know, I could not connect to it, just like with Arch linux I tried back in 2023. This time I was determined to once and for all to figure out the solution.
After a LOT of research, results were fruitless. Many attempts were done - dumping network certificate with other distro, trying to modify cat.eduroam.org login script to match my university’s (mine does not have support for it :))) asked our IT admin to add support but they basically told me to gtfo, go figure), using university’s official guide (which is almost 10 years old), but nothing worked. Then, I asked the best resource on the internet - reddit.
A new hope?
Surprisingly, I got a suggestion to try something I didn’t see in other troubleshooting threads:
It turned out that SteamOS (and Arch and probably many of its derivatives?) uses iwd
instead of wpa-supplicant
as default Wi-Fi backend.
So I immediately tried this. I first did it the dumb way - switched via terminal using guides from Arch wiki. Turns out there’s an easier way! Just enable Developer settings and switch it in developer options:
Another problem
Welp, turns out this did not help either. It would progress further in connecting, but would still stop and ask for my password. So what’s the issue here?
Looking at wpa-supplicant
logs, it seems that there is some sort of SSL protocol issue:
So how do we fix this?
Thankfully, Arch wiki is a brilliant resource, and there is a section made specifically for this issue. This section is the exact fix you need, if you encounter protocol error.
After running the command nmcli connection modify 'eduroam' 802-1x.phase1-auth-flags 32
and restarting the service with sudo systemctl restart NetworkManager
I got my Steam Deck successfully connecting to eduroam.
Conclusion
So, to sum up, what is required to connect to eduroam?
- You need some basic knowledge of terminal usage, and root password set up for your Steam Deck (plenty of guides online).
- This will also need you to disable readonly mode (also plenty of guides online).
- Do the initial connection attempt via desktop mode, gaming mode will not work no matter what.
- You need to switch network backend from
iwd
towpa-supplicant
(see here). - If it still refuses to connect, you need to modify
NetworkManager
config (see here).
Huge thanks to MinimumHistorical359 on reddit for pushing me towards the right direction!