OpenWRT Travel Router

I recently posted about my purchase of the GL.iNet GL-AR300M16 which I of course immediately flashed with OpenWRT. As this was intended as a travel router it came along with us on a recent vacation. Above you can see the tiny little GL.iNet device plugged via the WAN port into one of the LAN ports of the internet router of the rental we had.

The GL.iNet isn’t a speedy device – with only a single 2.4GHz wireless connection it wasn’t able to saturate the internet connection (200Mbps symmetric) but I was still getting pretty reasonable speeds (~50Mbps).

I had setup the travel router to have a “travel” SSID, and could associate all of the devices we’d brought (6) to that. Sure this is a setup step, but for future trips I’ll only have to setup the travel router and all the devices will connect to the “travel” SSID.

As an aside, I’ll mention that I’ve started to bring my Roku when we travel, this way I have a familiar movie/show watching experience and I don’t have to remember to clear any passwords when I leave because I take the box with me.

Where it gets more interesting, is that I configured the travel router as a wireguard client. Pretty much following my post on OpenWRT as a wireguard client verbatim. I did set up the allowed_ips as a /24 CIDR block – effectively creating a split VPN – so that traffic targeted at my ‘home’ network would flow over wireguard, but other traffic would go directly to the internet. The benefit to this VPN setup is that if I’m streaming a movie on Netflix, that traffic will bypass the wireguard tunnel and when I want to reach a “local to my home network” service like homeassistant, it just works like at home.

Then as icing on the cake, I fiddled with the DNS options so that any address handed out by the travel router gets my pi-hole as the DNS server. If you want to do something similar check out my pi-hole setup post that talks about this configuration in OpenWRT. This gives me ad-blocking and my personal block lists. This helps keep the internet a little bit more family friendly, plus no ads!

I did experience a couple of network hangs,  4 over the week long trip, but a quick power cycle of the router and we were back in business. I suspect that this may have been either high load, or heat, that triggered the problem. The limitation of only 2.4GHz networking didn’t seem to be a big deal, and I got reasonable WiFi coverage over a 3 floors of a townhome.

This setup was pretty awesome. It gave me a ‘at home’ network experience, while I was away from home. What a great little box.

As a bonus, let’s dive into another travel configuration. I’m writing this post from a hotel room, connected to the travel router. Now the hotel doesn’t have a wired ethernet port, so I need to do something slightly different.

There is an OpenWRT package “travel-mate” that makes this more complicated setup easy. We want to operate in AP+STA (access point + station) mode, where the single wifi radio is doing both jobs. Many routers can do this, the GL.iNet is one of them.

The travel-mate documentation is a little sparse, but there is a long and fairly active forum thread that provides help. I was able to get it working with a little bit of stumbling around.

Installing two packages: travelmate and luci-app-travelmate will get you going. An OpenWRT menu “Services->Travelmate” will appear in the web UI, allowing you to access the configuration.

A newly installed travel-mate will have blank information, mine is a capture from a running version.

You’ll need to do a one time “Interface Wizard” to get the interfaces setup. This should create some trm_ network interfaces. I did this once and have forgotten about the details, you can probably safely do the same.

When you are ready to connect to the upstream WiFi (say the hotel’s internet) you will want to visit the “Wireless Station” tab and scan for, and select a SSID to connect to.

There is some magic I don’t yet fully understand about configuring a login script to bypass the captive portal that your hotel is likely to have. In my case, my laptop that connected to the travel router was presented with the captive portal webpage and I was able to log in that way (the travel router basically was a proxy for the captive portal). Once logged in, the router was granted access by the hotel WiFi and all other devices connected to the travel router just worked. (yeah, magic)

I’ll just quickly cover the  travel-mate General Settings.

The top red circle is the “Enabled” checkbox. This is handy as you don’t want travel-mate to be active if you’re using the travel router in a wired setup like I was in the top part of this post. Leaving it enabled while in a wired setup will possibly cause WiFi drop outs as it tries to scan for available networks to connect to.

The bottom red circle is checked on by default, by for my use I found that I had to disable it. Otherwise it was disabling my wireguard VPN. With the checkbox cleared, my split VPN is working fine and I’m enjoying the “at home networking, while I’m not at home” experience. It was also pretty nice that my phone and my tablet just connected to the “travel” WiFi once it was up and running.

Since we are using a single radio to both handle the clients (my devices) and talk to the host network (the hotel WiFi) you can expect that the overall speed to be much less. I know this is true as I’ve tested travel-mate in this AP+STA mode with my home network, and seen the difference (I was only able to get about 26Mbps when my home net connection is much faster). The good news here is that hotel WiFi while adequate, isn’t very good, at least not in this hotel.

Here are two speed tests, one via the travel-router, and one directly to the hotel WiFi.

They are basically the same, especially given the variations you’ll see on the hotel WiFi. The key take away here is that using the travel router isn’t imposing any real overhead or limits, and if we had much better hotel WiFi I’d still get acceptable performance.

It is interesting to note that with travel-mate and running in AP+STA mode, and only 3 devices and 1 user .. it was very stable. I didn’t have any hangs or weird problems once it was setup. I’ll certainly bring it along for future trips.

India

Recently I did some business travel to India.  My day to day work at IBM is with a global team, and a fair number of them are located in India.  I’ve spent the last 2+ years working over the phone with a number of people from the IBM lab there and the opportunity came around to go there in person, so there I was.

Let me lead in with a few travel tips.  For countries like India or Mexico (and a fair list of others) it is a good idea to get the appropriate travel vaccinations.  The City of Ottawa lists a number of travel clinics, I used the one on Centrepointe which happens to be next to the Eclipse office.  I’ve heard mixed reviews about the taste and side-effects of Dukoral – I was fortunate to have zero side effects.  I was a day late taking it, and upon reading the instructions I realized that I could have taken it literally weeks before the trip and still had fair protection.  (lesson here, read the instructions when you get them)

The flight can cost as little as $1500, my ticket was more than that due to the dates I was flying – but I still flew coach / economy the whole way. I left Friday night, returned one week later Saturday evening. The travel was long: 8 hours to Frankfurt with a 5+ hour layover followed by another 8 hour flight, literally 24hrs door to door. At a bit over 6 feet, I barely fit in economy seats (about and inch to spare in front of my knees) – I’m so glad I’m not a few inches taller.

If you are doing a flight like this, consider the portable electronics you are taking with you.  In Frankfurt you’ll be challenged to find an outlet in the airport and it is not going to accept a north american plug. India similarly will likely not have compatible plugs. Bring your adapters. Every gadget I brought could charge via USB, and my laptop is quite happy with 220v input if I can simply plug in somewhere (cheap adapter required). It turned out that in my hotel rooms in India, generally there was one outlet that would accept the 2 prong plug but don’t count on it.

Flying Air Canada / Lufthansa, the Canada to Germany leg was reasonably nice.  Seat back personal entertainment systems. The Germany to India was an older plane, still using shared CRT screens. On my return trip, the Air Canada seat back system was acting up and I only made it through one movie before it became useless. Thank goodness I have movies on my phone.

One of the things many people have pointed out is the traffic in India is quite something. By travelling on off peak hours and staying at hotels close to where I needed to be I avoided the worst traffic. There is no lane discipline, it is quite normal to be driving down the road with the car straddling the dashed line – and traffic lights are just a packing exercise to see how many cars can fit in how small a space. It is quite similar to how people drive in Canada in the parking lots after hockey games – same chaos.  The picture at the top of this post amuses me, many of the license plates start with ‘kaos’ – the KA coming from Kannada.

You’ll also encounter a wide variety of vehicles on the road. Many two wheelers as they are cheap and more agile in the traffic conditions they have. We passed a steam roller on the highway that was nearly going at highway speeds. In town we ran into a group of water buffalo who decide it was time to cross the street – mixed right in with the traffic.

The most exciting driving had to be the U-turns. Many roads have concrete dividers preventing turns of any form, so you’d often have to go a fair ways to find the first place you could double back. The strategy for making a U-turn was wait for some oncoming traffic that was smaller than you, then pull out with enough time for them to stop. You’d inch your way around until you had blocked enough traffic to complete your maneuver.

I was warned away from eating anything that wasn’t well cooked, and to only drink from bottles that were uncapped in front of me. This limited my diet during the week I was there, but meant I avoided getting sick. We ate a lot of Indian food, and it was all excellent. Restaurants were not at all afraid to put a little kick in the dishes.

The biggest surprise for me was how friendly the people there were. The best comparison I can make is to the folks on the east coast of Canada. I spoke at a conference, and at lunch I had a number of informal discussions with people. Many of the people there treated me like an old friend, yet these were customers who were there to hear me (and others) speak.

English is spoken by many in India, and signs are also generally in English as well. There were a few experiences where the language barrier came into play (trying to buy coffee at CCD), but these were few and far between.

Similar to Mexico, the gap between rich and poor is huge.  There are also scanners and extra security at every hotel and most businesses, I believe this is due to the Mumbai attacks in 2008. It is these sorts of things that make me glad I’m only visiting – Canada might be boring, but it’s home.

Free Airport WiFi

Back nearly 2 years ago I wrote about the lack of “free” wifi at the Ottawa airport, I was pleased to find out they now offer free wifi. I’m not opposed to paying for wifi access, but most of the providers charge more than I’m willing to pay.  If it’s not free then I think the Starbucks model of buy something (a coffee card) and get access is a great way to go.

As you can see from the image, there is still an optional pay service at YOW – but the free one is clearly marked.  I ran a quick speedtest that showed 186kbps down / 26kbps up – not very fast but I don’t expect much for free.  It worked well enough to check twitter and get to my web mail.

For this trip, I was headed to Florida.  The Orlando airport (MCO) also has free wifi, currently it is supported by Google through the holiday season but it is always free.  I’ve been in several US airports which also have free wifi year round, and given that you’ll likely end up waiting around for your flight having internet access is a great way to while away the time.

Ideally any location you end up waiting in for some undetermined amount of time should have (very) cheap or free internet.  My car dealership has free wifi in the waiting area, why not extend this to doctors offices, bus stops, train stations, banks, etc?  Imagine if the government decided that all of its public service centers (think passport office) would have free wifi – I’d be way more willing to sit patiently and wait.

One last note – I’d like to recommend the WiFi Get app for the iPhone/iPod Touch. I think it’s a must have app if you travel with your device.