Written on 2025-06-10
For his retirement, my father wanted to embark on road trips across Europe and the Maghreb (North Africa). He needed a local network for his devices (phone, laptop, e-reader, TV, etc.) with a connection fast enough for seamless internet browsing and high bandwidth.
Here are the key requirements:
This article was written during the project’s development. It’s more of a thinking notepad than a polished blog post, but I believe there’s valuable information here. I’m not an expert in this field, so please correct any mistakes (you can open an issue or PR on the repository for this website ).
Since the motor home is mobile (spoiler alert), DSL, fiber, or coaxial connections are not feasible. Our options are limited.
The technology itself is excellent, but availability and bandwidth vary greatly. Plus, it doesn’t work while moving, so it can’t be the main solution. However, if quality Wi-Fi is available at a location, it’s worth using!
For most services, satellite prices are prohibitive, latency is very high, and bandwidth is insufficient. Some providers have pros and cons, but none truly stand out:
5G is ideal for this use case: low latency, high throughput, and worldwide coverage. There are some caveats with roaming due to operator restrictions, but solutions exist.
Latency when roaming in the US with a French operator is around 1–2 seconds (likely due to low QCI and packet routing loops from the US to France and back), making HTTP transactions painfully slow. For optimal routing, always use the nearest exit node: a local provider is best.
Roaming is convenient for avoiding local SIM cards or exorbitant fees, and the current EU law is great. However, operators still limit roaming time, usually based on the last 4 months: if you roam more than you’re on your home network, they’ll cut you off. This is likely because they lose money on roaming, as the price per GB is capped in Europe (see EU law ).
Since my father will spend long periods in specific countries and some services still use IP location (or VPN) blacklists (e.g.: you can’t access some local websites from an IP outside the country, and most VPN IPs are banned), options are limited (looking at you, Lyft, CVS, and McDonald’s).
To have the best exit node in every country, you must be able to change providers.
eSIM is great, as it allows downloading SIM profiles from operator servers (or third parties like Thales or IDEMIA). If your router’s network card doesn’t support eSIM, you can use the excellent sysmocom eUICC for eSIM , which is usable by devices themselves: I’ve tested it with Android thanks to the included ARA-M layer (note: it causes issues with some providers, but sysmocom maintains a compatibility list ).
The Prepaid Data SIM Card Wiki is a fantastic resource for finding SIM providers in different countries, even listing the best airport booths for SIM purchases!
I’ve included the APN (access string) for each provider, as behavior can vary.
As French citizens, we can buy post-paid SIM cards, which are usually more advantageous than prepaid. Every operator provides an IPv6 block for routing multiple devices.
free
: Dualstack IPv4/IPv6orange
: NAT64 (DNS supports this, or use 464XLAT); many resellers like Youprice mmsbouygtel.com
: NAT64 (same as above); resellers include Auchan Telecom eSIM activation abroad and roaming time enforcement not tested.
US Mobile SIM cards are available to anyone, with competitive prices (for the US) and the option to choose T-Mobile, AT&T, or Verizon: and even swap during your subscription!
Technical details:
ereseller
: IPv6 with NAT64, always uses CGNAT for external connectivitywholesale
: IPv6 block; any address inside can be used for external connectivityvzwinternet
: not tested⚠️ US Mobile will lock you out if you use the eSIM in anything other than a phone (IMEI check).
No KYC required.
eSIM can be activated abroad; roaming time enforcement not tested.
No KYC required.
eSIM can be activated abroad; roaming time is enforced.
⚠️ Requires a German ID card or EU passport for KYC.
eSIM can be activated abroad; roaming time enforcement not tested.
Not yet tested.
To ensure my father always has internet connectivity, even if roaming isn’t available, I added a Roamless eSIM that activates if other providers lose connectivity. Coverage is limited, but since he doesn’t plan to visit remote areas, this should suffice.
Router requirements:
Some existing models:
DIY boards require some tinkering before production use. Due to the multi-provider requirement, any proprietary router without an API is unsuitable.
My choice: Banana Pi R4 . It’s a development board more than a router, so you can tinker-it as you wish.
There are two main chipset manufacturers for 5G cards:
Theses chipsets are used by many card manufacturers including:
Only two connection types: USB or PCI. I wanted to avoid another OS layer, as modern 5G cards often run Linux (or Android). Fun fact: you can adb shell
into the T99W175 or FM350-GL to update some settings.
AT protocol is serial, but not well-defined. Responses vary between devices (and firmware versions), making it hard to work with. Some manufacturers add proprietary commands.
For the EM7455: if you only need connectivity and don’t need to select specific bands or communicate with the UICC (especially LPAC for eSIM), I advise against QMI: it’s quirky (some microservices don’t respond, client allocation is odd).
To enable dualstack on EM7455 with QMI: you need two WDS connections simultaneously: one for IPv4, one for IPv6 (our QMI driver supports this).
MBIM is great: easier and simpler than QMI, but harder to fine-tune as it abstracts many details. Some functions work on one card but not another, but you can query capabilities (e.g.: ms-uicc???-something works on T99W175 but not EM7455 or EM7430).
Newer chips support many MBIM functions; I think it’s currently the best protocol.
Newer cards set the APN automatically, but sometimes with outdated parameters (e.g.: default APNs set as IPv4 only, even if the provider supports IPv6 CLAT). Setting a new APN with MBIM using Microsoft V2 may require one or two resets, or the network won’t start.
At Good one , we wrote an abstraction layer for each protocol, so I’ll use the same open-source code for this project.
Banana Pi offers two Wi-Fi cards:
I chose the BPI-BE14, but it’s tricky to work with. It has two drivers:
Note: this card runs hot.
For Wi-Fi, there are many small antennas available.
TODO: Find some on Aliexpress
This is new territory for me: I’m not an RF expert, but I tried to choose the best materials for the use case.
In a motor home, the exterior is made of large metal sheets. Spoiler: cellular signals hate metal, so I plan to install an external antenna (with Wi-Fi, to connect from outside).
There are two main types of vehicle antennas:
I’ve used Taoglas antennas on dev boards and found them better than others. Since I’m not an expert, I’ll stick with the only manufacturer I trust. They offer many models that meet our requirements.
I didn’t select one of theses models as we don’t know the space available on the roof of the motor home. I’d prefer the block one as it has it’s own ground plane but if there is not enough space I’ll use the plug one.
To connect to a french provider to let my father use french services abroad, I set up a standard Wireguard server on my home router (Linksys WRT1900 ACS but it doesn’t matter, any OpenWRT router can do this). I opened up the SSH server and the Luci interface on the Banana Pi to let me connect to the router trough the VPN. In case of a problem, it will possible to debug it remotly.
To display useful information about the router and network status, I added an inexpensive eInk display (I’ve wanted to experiment with eInk screens for ages). I used the excellent TRMNL design system for this prototype.
Setting up reliable internet in a motor home is a complex but manageable task. By using a flexible router like the Banana Pi R4, a capable 5G modem, and suitable antennas, it’s possible to achieve stable connectivity across different countries and regions.
This setup should let my father stay connected wherever he travels, with internet access that’s good enough for everyday use. There will always be challenges and room for improvement, but with the right hardware and a bit of DIY effort, mobile connectivity can be made reliable, convenient and fun (maybe it’s not your definition of “fun”, but it’s mine 😄).