Beryl and captive portal not working

A couple of weeks ago I bought a Beryl and last week I tried to connect it to a hotels wifi (Premier Inn in the UK). However I just could not get the captive portal up on my phone or laptop via the Beryl (but could directly). I had 2 Android phones with me and a windows laptop. None of these could get the captive portal via the Beryl. I turned off dns rebinding protection, signed into the wifi directly from my laptop then tried cloning the mac address to the Beryl but nothing worked.

I’m using the Beryl in repeater mode and it works fine with my home wifi.

I have tried the advice here: Connect to Captive Portal - GL.iNet Docs

Any ideas?

Does Beryl connect to the hotel wifi or not?

After you turn off DNS rebind protection, have you tried to reconnect to hotel wifi again?

For mac clone, can you make sure you are using firmware 3.211? Repeater mac clone only works in this firmware.

Thanks I’ll try again in a couple of weeks next time I’m travelling, probably to same hotel as it happens.

I’ll be back in the same hotel tomorrow night so will try this again and report back, thanks

Also try making the first web site u try to visit http://www.neverssl.com {note the http:)

1 Like

Thanks @limbot that’s a new one for me, never come across that tip before

You can also try setting a Static IP address on the router to be the same DHCP IP address that was assigned to your phone:

I do not work for and I do not have formal association with GL.iNet

@wcs2228 thanks will give that a try as well

That’s literally what I did.

I made some progress with this, this week. Here’s what I discovered:

  • I could connect to the hotel wifi with our without mac cloning. With mac cloning need to restart router after original device has left the wifi network otherwise there is a mac address conflict (obviously).
  • To get the hotels captive portal passed through I needed to turn off the nextdns dns profile I had active on the router and use the hotels dns server. I’m assuming that this means anything else from a dns perspective should be turned off until you’ve passed the captive portal.
  • The wifi blocked port 853 (DoT) so android private dns (nextdns in my case) didn’t work so I had to download and install their app which spoofs a vpn to work instead. I left nextdns turned off on the Beryl.
  • I had dns rebinding protect turned off, didn’t have the chance to try with it on
  • My Beryl would only stay connected to the hotel wifi for around 30min before being kicked off. I put this down to a combination of the hotel wifi being poor (1-4 Mpbs :frowning: ) and the hotel being busy and will try again next time as I stay in the same hotel pretty much on a monthly basis.
  • The hotel was a Premier Inn in the UK with wifi provided by Virgin Media.
  • The neverssl link above seemed to be useful as sometimes some devices just can’t find a connection.
3 Likes

I face the same issue (Berryl AX). Via wwan the captive portal doesn’t show, even it shows I’m properly connected. When I attach a cable to the wan port (found the kpn router in the closet :wink:), then the portal pops up instantly. Tried everything, even entering the captive portal url myself, local dns settings set using the wwan auto provided dns. Rebind attack disabled… whatever I try, not able to make it work.

What happens then? Simply nothing?

Late response, but I fixed it by changing the TTL. More info: OpenWRT TTL manipulation on a travel router explained · GitHub

Installed package: iptables-mod-ipopt
And made this persistent: iptables -t mangle -I PREROUTING 1 -j TTL --ttl-set 65

I first validated the execution manually to make sure no errors popup.
Then validated by doing a ping to 1.1.1.1 for example. This then should show a TTL of 65, and not 64 anymore.

Other source: Changing TTL in OpenWrt 22.03 - #11 by wcs2228

1 Like