As a self-employed web developer, I do a lot of networking. But I'm not talking about the kind of networking and its social challenges when talking to people, pitching my business, and making new connections. I'm talking about one of the few aspects that I don't like about Linux as a desktop operating system: internet connectivity over public wi-fi.
Networking problems can occur with any operating system, but Windows, MacOS, and Android seem to make it much easier to connect to most public wi-fi networks on a train, in hotels, cafés, or coworking spaces, especially when they are somehow restricted and use a so-called captive login portal.
I have been researching this issue for quite some time and found several helpful strategies like
- closing all open browser tabs and HTTPS sessions
- opening an HTTP page like neverSSL
Still, sometimes this doesn't seem enough to ensure internet access.
Some aspects that seem to make connectivity problems worse include
- using Docker
- using a lot of different Docker containers and networks over a long time
- keeping browser tabs open
- using optional tools or default settings that check for network connectivity too early on
- updating a long-term support distribution via
dist-upgrade
.
Takeway: don't use distribution upgrades!
I used to run Ubuntu Budgie LTS that came preinstalled on my TUXEDO Infinitybook laptop, equipped with all necessary drivers and an elegant Gnome desktop inspired by Macbooks. In the beginning, everything was fine, even when running Docker. Occasional connection problems could be solved by the simple steps mentioned above. I used to open http://captive.open-mind-culture.org/ to get redirected to captive portal pages (like "WiFi on ICE" on German ICE trains) successfully.
But things got worse over time. Despite my research to improve my half-knowledge, and despite stressing my manufacturer's support department, I never completely found out why. I had hoped for a magical solution by upgrading to Ubuntu 24.04 LTS in 2024, but my hopes turned into disappointment, as network connectivity wasn't the only thing to deteriorate after the update.
Linux Mint to the rescue! Really?
I remember having similar network issues several years ago using Linux Mint on another machine, a refurbished Lenovo ThinkPad that refused to connect reliably with Vodafone's default wi-fi router. But friends experienced similar issues with ThinkPad laptops running Windows and so did a cheap Huawei Android phone. So I thought Mint wasn't the problem.
To double-check, I booted my current laptop with a Linux Mint live system on a USB stick and went to different places to verify that I could connect to their public wi-fi. Then I ditched Ubuntu and installed a minimal Mint 22 distribution with a classic Xfce 4 desktop and added some apps essential for web development, including Docker.
My issues returned! I couldn't use the internet in a public library anymore!
Digging into the details, I found out that my computer connected, and that I could ping Google's DNS nameserver at 8.8.8.8
but everything else failed.
Next steps:
- prevent automated connectivity checks via SSL (but where are the "privacy" settings in Mint?)
- don't open my default browser which might restore HTTPS sessions
- open http://neverssl.com in another browser before anything else
- clean up Docker networks or change Docker's defaults if possible and necessary
Acknowledgements: links and sources used for this post
Conclusion / Discussion: what's your solution?
What's your experience? Do you use Linux? Did you have any similar networking issues and how did you solve them?