How to connect to the UBC Secure wireless network on Linux
Published on 2025-07-25
Hello friends. For today's article I wanted to share a quick guide on how I managed to connect my Linux computer to the University of British Columbia's enterprise wireless network.
- Open "Gnome Settings"
- Navigate to "Networks"
- Click "ubcsecure"
- Enter your campus wide login (CWL) username
- Enter your CWL password
- Hit enter
- Wait until it tells you that you need to input your password to connect to the network
- Try entering your password again, being careful to get each character correct
- Wait until it tells you that you need to input your password to connect to the network
- Try appending ".stu" to your username (sometimes you have to do that)
- Wait until it tells you that you need to input your password to connect to the network
- Press "OK"
- Disconnect from the network
- Click the gear icon next to the WiFi network's SSID to open the advanced settings menu
- Open your phone's network settings, and navigate to the advanced settings for the ubcsecure network (God willing you have already successfully connected on your phone)
- Attempt to replicate the configuration in GNOME Settings in as much as you can
- Connect to the network
- Wait until it tells you that you need to input your password to connect to the network
- Repeat steps 1-18 for a few hours
- Give up
- Connect to the public visitor network
- Wait for a few weeks.
- Accidentally learn that IT recently upgraded the network to require you to install a certificate to use the network
- Search the manual configuration documentation to figure out where to find the certificate
- Eventually, realize they don't provide the certificate. You have to use their app
- Install the Linux version of the app
- Open the app
- The app doesn't support Debian
- Open the app's XML configuration file
- Attempt to extract the certificate from the configuration file, and apply the changes to your network profile as required
- Connect to the ubcsecure network.
- Wait until it tells you that you need to input your password to connect to the network
- Try to manually edit the configuration file so that it won't refuse to run on your operating system
- The configuration file has a tamper seal
- Give up
- Wait a few months
- Discover, one day, that the printer service is no longer available from the public network.
- Find the courage to try again
- Re-open the XML configuration file in an attempt to determine which "Linux operating systems" the app does indeed support
- Discover the app only supports Ubuntu and Fedora
- Erase your computer's hard drive and install Fedora (you're not much of a Ubuntu person)
- Download the app
- Open the app
- Discover that the app doesn't support Fedora 41
- Think about it for a moment
- Give up
- Wait a few months
- Start your employment with the university
- Discover that your employer operates certain services you will be required to use for work that can only be accessed from the internal network
- Hold your breath
- Learn you'll be supplied with a work station you can SSH into
- Sigh
- Wait a few months
- Move into residence
- Discover the university's residence maintenance system is only available from the ubcsecure network
- Go to the ReStore
- Buy an old wireless router
- Plug it into the Ethernet port in your wall in your dorm
- Discover that the Ethernet ports have been disabled (everyone uses WiFi now, right?)
- Think about it
- Beg your partner to file maintenance requests on your behalf
- Wait a few months
- Learn that new university policy requires certain employee-operated websites be behind a firewall, so that only people working from the internal network can access them
- Consider downloading links2 on your remote workstation
- Quell that dangerous thought
- Cover yourself with determination
- Give up almost immediately
- Attempt to connect to the university VPN
- Discover the university VPN requires multi-factor authentication through Duo
- Download the Duo Mobile app
- Discover that the Duo Mobile app doesn't support your version of Android
- Buy a FIDO2 key
- Configure Duo to use your FIDO2 key
- Discover that the Cisco Secure VPN client doesn't support MFA via FIDO2
- Download Waydroid
- Violate the core principle of multi-factor authentication by installing Duo on the same device you're logging in from
- Configure your Duo client
- Attempt to connect to the UBC VPN
- Discover that you can't connect to the VPN from the public visitor network
- Connect to ubcsecure over a USB bridge to your smartphone
- Connect to the VPN
- Take a deep breath
- Unplug your smartphone and connect to the visitor network
- Re-open the app's configuration file to identify which version of Fedora it supports
- Identify the latest version of Fedora it supports is version 39
- Install Fedora 39 on a USB stick
- Download the app
- Open the app
- Wait for it to tell you that the app doesn't support Fedora 39
- Repeat steps 82-87 for Fedora 38
- Repeat steps 82-87 for Fedora 37
- Repeat steps 82-87 for Fedora 36
- Repeat steps 82-87 for Fedora 35
- It works on Fedora 34
- Follow the prompts
- The profile used by the app doesn't work
- Reboot
- Dig through the setup manual
- Discover that there's an example configuration text file for an outdated version of NetworkManager
- Attempt to replicate the profile
- Some of the parameters don't appear to exist in the latest version of NetworkManager
- Search for them on the internet
- Sift through several articles clearly written by AI
- Find an old blog post on a totally different subject suggesting the parameters do exist, it's just that they're undocumented
- Attempt to recreate the network manually
- Load the network configuration file
- NetworkManager refuses to load the file without specifying any problem
- Attempt to recreate the network manually, applying changes line-by-line in an attempt to tease out the problem
- Discover that NetworkManager's configuration file format has a different representation of lists
- The way lists are represented is undocumented
- Brute-force the list syntax
- Perfectly replicate the configuration using the right parameters
- Run
nmcli device wlan0 connect ubcsecure
- ...
- Wait until it tells you that you need to input your password to connect to the network
- Realize that "old" format is not for NetworkManager at all, but rather for wpa_supplicant
- Disable NetworkManager
- Configure the network in your wpa_supplicant.conf file
- Reboot
- Start trying to load a web page
- Look at the clock
- It's been seven hours
- You forgot to eat supper
- You probably forgot to eat lunch too (or did you have a granola bar?)
- Wake up (wait when did you fall asleep?)
- The web page didn't load
- Download Ubuntu
- Open the app
- ... it's working
- Put in your user name and password
- ... it's loading
- ...
- The profile for Ubuntu wasn't enough to connect to the network
- Reboot
- Connect to the public visitor network
By this point, you will have come to accept that it is literally impossible to connect to the university's secure network using NetworkManager and wpa_supplicant. Can you prove that it's impossible? Can you explain why it's impossible? No, but you'll have convinced yourself as much, and you'll have come to accept that this is all that matters.
I hope you've found this guide helpful! Please feel free to reach out if you have any questions or need further clarification.
Respond to this article
If you have thoughts you'd like to share, send me an email!