Raspberry PI - Travel Router dual Wi-Fi adapters

I’m looking to build a travel router that has dual Wi-Fi adapters one of which connects to public hotspot that will require UserID and password details the second adaptor will be my private Wi-Fi hotspot that my devices connect to and then share the the public hotspot.

My plan is to use a Raspberry PI either a 4 or the new PI Zero 2 Wireless but I don’t think there’s support for the new Zero 2 yet?

My questions are:

    • Is Pi Zero 2 W Supported yet?
    • I’ll need an additional USB Wi-Fi card is there a recommended and supported card I should use?
    • The public hotspot does not support SSID & password, instead it prompts for a username & password, I think this is WISP related. Will OpenWrt support this or is there a plug that will be needed?

Has this been done before and are there any guides as to how this setup should be tackled or is this just not possible with either the hardware or OpenWrt?

The reason for doing this…. I visit caravan sites that provide paid for Wi-Fi but access is restricted to a single device and prompts for a userid & password to allow connection. I’m trying to create a device that is seen by the internet provider but creates a private hotspot that routes traffic to and from the internet. Hopefully this makes sense. I’m aware that this may not be the fastest solution but the objective is to share Wi-Fi access.

If can be done using any device having two radios (some even one).

But the RPi is bad from a wifi point of view, the radio really sucks.

I'd get a pocket router of some kind, like the GL.Inets.

Sounds Similar To My Setup (UK BT Wi-Fi Public Network) i made an openwrt service to automate the login process, it uses AP+STA Mode, so if one device signs in all other devices are signed in at the same time as it only appears an ONE device to the internet side of the network) you need at least one wifi card as most can do "client mode" and "AP Mode" at the same time, i have a BT HomeHub 5A & TP-Link Routers & use the built in Wi-Fi, I also have an USB rt3070 (turns out actually rt3070L) but seems to work after installing kmod-rt2800-usb Driver, this works in AP & STA Mode, haven't tested the USB wifi long term bust tested to confirmed worked :slight_smile:

For best stability the better approach may be to use the PI in client mode & if you can pick up an old ISP router (free of osomeone you know has an old one) & disable DHCP ect... and turn it into a "Dumb AP" to handle your wifi connection inside for better stability ( the consensus online seems to be that USB wireless may not be the most stable in AP mode, but milage may vary, haven't tested mine over days to see stability)

As suggested above I already have a GL.Inet,GL-ML300N2 v2 device which I’m testing. Initially had a few problem with the firmware version the GL-iNet version was OpenWRT 19.x and the device kept hanging., also to run Travelmate I need OpenWRT +20:x. As a result I’ve reflashed the device with v21.x from the OpenWRT site and stability is a lot better and Travelmate working.

My next challenge is to understand how captive portal works, the site I want to connect to has two different screens, first screen you enter email and password and you are then connected, the second screen identifies that your a returning visitor and just asks if you’d like to rejoin.

If anyone can recommend and sites or tutorials that I can study that covers the script creation and how to assign it to an uplink that would be great.

Currently in the UK and testing using my home network, but my plan is to test captive portal in the Wetherspoons ready for the final script to connect to the Caravan Clubs Wi-Fi

Thanks for you help so far, it’s been a great learning excercise and reusing old kit.

1 Like

I think it is not possible just by OpenWRT. You need to write script on PC to fill forms, and press keys. It is like Selenium etc.

I have a similar setup. Zero2w and 2 usb wifi (2.4G only). My internal wifi works ok (I used a patched openwrt source) but I used two USB cards for better signal strength.

I got my USB from amazon UK, I think 5-10 USD each. Check for "Ralink" cards.
I also use a USB+Eth add-on.

1 Like

What about the speed you get there?

I randomly saw this now :slight_smile:
30Mbit? its a single stream 2.4G wifi. You cant get much more I think... No?

This is possible, i wrote a script to log into the BT Wi-Fi Network by sending my email & password in a HTTP POST request whenever no internet is detected (BT like to log you out after 4 hours) you can see the script in the openwrt section of my github (could be modified to exchange the BT URL for the URL of the portal you are connecting to, debug mode in chrome may help finding the URL you need) the command i use to login (this is a HTTP POST request)

wget -T 2 -O /dev/null --post-data "username=$USERNAME&password=$PASSWORD" ''

for example, can see the script here aidanmacgregor/BTWi-Fi_Autologin_-_OpenWrt_Linux_ChromeOS_Android_Macrodroid_Windows.EXE: Automatically Login To The BT Wi-Fi (UK) Network (And Stay Online), Available For Windows, Linux, Android & OpenWrt (Login, Theme & LED Customisations) (github.com)

Take a look at this Raspberry PI repo.

It contains a simple script to build a travelrouter on raspi with multiple pre-set WAN interfaces for Eth0 and iphone/android tethering. The build also includes the travelmate package for easy piggybacking off hotel wifi captive portals.

You can optionally any number of bring your own usb wifi adapters that supports AP mode, just list your specific chipset package names in the build script.

Just copy the base config files into the in the script's inject-files directory when promtped.

When the build is complete, select the SquashFS image in the build output dir and flash in the usual way.

Power up with the newly flashed image and connect to the new OpenWRT wifi network to contine to configure with the luci gui on from there.