So I was on a plane from Dublin to Madrid when shortly after take-off I noticed I had forgotten to download a podcast to listen to during the flight so, in order to get some entertainment I grabbed my laptop, connected to the airplane WiFi, and checked the available connectivity offers. Oh boy that was a mistake…
There was a cheap 6€ option which only allowed messaging (Telegram, FB Messenger, Whats-app…) but a more expensive 8€ option promises Hi speed web browsing and Video Streaming which I presumed would be enough for some 320p video streaming to listen to in the background. So I grab my credit card, pay for the package, and attempt to open youtube.
Well, that’s slow…
Attempting to do the promised “Video Streaming” even on the lowest resolution and on the most popular video site in existence proved to be impossible. The spinning dots stayed on the screen all the time, sometimes a blip of sound and video showed on the screen only to have it stop and buffer again. I felt like I was back in the 90’s with my trusty 56K serial dial-up modem!
Well… I guess I’ll have to try something else.
Downloading a single file
Since streaming wasn’t an option, I decided that maybe I could ask my server to
download a media file, then I could download it myself with
having to worry about the connection skipping. So I downloaded a standard
definition file, and asked
curl to get it.
The result was even more disappointing (screenshot of the best speed I got) than I expected. With an average speed of 11KBps, the airline here is stretching the definition of “hi speed” more than the FCC. My peak download clocked at an amazing 15KBps during a short period of time.
Needless to say, at 10KBps on average, video wasn’t going to happen. But wait! There’s more!
During the flight, the connection status page would randomly degrade the connection to “messaging only” or simply drop it all together, the following messages were a common stay during the flight.
Since I wasn’t gonna get my 8€ worth of “Hi speed web browsing” I’ve decided to just fool around and see how could I improve the connectivity and at the same time checking how bad the airplane WiFi was set up.
VPN, fixing what shouldn’t be broken
On one of My servers I have a VPN server with an HTTP proxy installed on it, for situations like these where Internet connection isn’t all that well or is heavily restricted. The machine uses OpenVPN over UDP (somewhat useful to prevent TCP connection drops) so I launched it and somewhat to my surprise, it worked! It worked OK. And just in case the airline had a policy against using VPN I checked and:
Good to know, Airline.
VPN Ping times
First thing first, testing how good or bad the connection latency gets. The result by this time will not surprise you.
On a normal day, pinging my VPN endpoint has 35ms latency, on the airplane, getting below 500ms was a pipe dream. I kept pinging during the whole duration of the flight and by the end of it, these were the stats.
An amazing 1088ms average with a maximum of 7359ms and a record low of 650ms, I’m definitely feeling like the late 90’s connection-wise.
Browsing the web through the VPN
Next thing was testing whether the web browser would be usable through the VPN and, while still unusable for video, the experience was somewhat better, with connection resets happening less often. I could read some news sites with Vivaldi browser’s “don’t download media” option.
While browsing through the VPN I noticed that for this airline, words mean different things for them.
“Not Available” I don’t think it means what you think it means
As I said before, the connection dropped every so often but through the VPN it felt pretty stable. A lot more stable. So I decided to open a browser without VPN to check the connection status and, this actually surprised me.
On the left, Microsoft Edge showing the WiFi status as “Unavailable” and on the right, Vivaldi browser, through the VPN tunnel showing a web page just fine.
No money? No problem!
As my hour of “Hi speed web browsing” came to an end, the WiFi status page kindly asked me if I wanted to pay for some more time and but I noticed a small thing on my system tray.
The VPN tunnel is still up and kicking, it seems this airplane wifi does not really care about UDP packets so, while the non-proxy browser does indeed fail to load any web page, the browser using the tunnel works just fine.
It seems OpenVPN UDP tunnels survive just fine past the end of your purchased time, so during the last half of the flight, I was browsing without any (further) issue just fine, even though I shouldn’t be able to.
Airplane WiFi on this airline sucks. 1/10 would not buy again. Giving it one point for the awful network configuration that allowed me to stay online past the paid time, next time I’ll try to open the tunnel without paying. My bet is that it will work just fine, at 1999 internet speeds.