So finally got the Pi5 working. Initial testing is going well, but ran into a snag with a captive portal. Note, This same captive portal works fine with the Pi4 image. The flow is improved over earlier versions as I get the Sign into network, which is encouraging. The issue is when I tap sign in to network I get a blank page. See screenshot. Gli.Net routers also use OpenWrt and have a feature where one can use their device, say a phone to log into the captive portal and then do a mac clone to the Client interface on the router. I’ve been researching this extensively and it seems to work pretty well. Is is possible to add this feature to the app? It would be helpful to have this feature available for those more challenging captive portals.
I mistakenly had adguard enabled for initial test. I disabled adguard hoping it would then let me sign in to the portal, but got same blank page. I navigate to http://neverssl.com which triggers the sign in to network, but then still get the blank page.
Can you confirm whether you’re on firmware 1.5.21 or 1.5.20 on the Pi 5? You can check under Settings > More > System Report, then look for Firmware Version.
Also, does a reboot resolve the issue? A reboot shouldn’t be necessary, but I’m wondering if the network hasn’t fully reset to apply the settings.
I’m currently working on new app and firmware builds, so I’ll be testing more on the Pi 5 specifically to catch any quirks with the latest versions. Knowing if a reboot fixes things would help narrow it down.
On a related note, I’m also looking into the MAC clone-type option. I was initially hesitant since iOS now uses randomized private MAC addresses by default, which might reduce its effectiveness but I’ll test to see how it handles that in the real world
Firware Version 1.5.21.
Unsure if a reboot works or not as I had shut down the router before I received your response. However, I did boot up the router this morning. I connect to the same network and no portal which is expected until I navigate to a page. I navigate to http://neverssl.com and voila’ up comes the captive portal page.
So it wasn’t a reboot per se, but I did start the router again today so unsure how much this helps. I plan on also doing further testing at various locations around town and will report back.
I’m pleased to hear you’re looking into a MAC clone type option. In the meantime as a temp solution I tried writing a bash script that would clone the mac address of my phone to the wan mac address. I spent all day on it, but could not get it working properly. I don’t think I sufficiently understand the intricacies of OpenWrt networking .
This would be for those stubborn captive portals that don’t work normally per the way described above. The workflow would be as:
Authenticate through the portal on my phone
Copy the Mac address of the wifi network. On android, easy, just long press on the mac address to copy
Connect via built in andriod 16 terminal app to Pifi router
Run script to clone the mac address as mac <mac_address>
Here is the script I wrote that doesn’t work. When time permits, perhaps you could help fix it or alternatively provide a script that works.
#!/bin/sh
# Validate MAC address format
validate_mac() {
[ -z "$1" ] && return 1
echo "$1" | grep -E "^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$" > /dev/null
}
# Get MAC address: use parameter or prompt
mac_addr="$1"
if [ -z "$mac_addr" ]; then
echo "Enter MAC (XX:XX:XX:XX:XX:XX):"
read mac_addr
fi
# Validate MAC address
if ! validate_mac "$mac_addr"; then
echo "Error: Use XX:XX:XX:XX:XX:XX"
exit 1
fi
# Set MAC address for client interface (wifinet1 on radio0, @wifi-iface[1])
uci set wireless.@wifi-iface[1].macaddr="$mac_addr"
uci commit wireless
/etc/init.d/network restart
# Check current MAC address (phy0-sta0 for client interface)
current_mac=$(ifconfig phy0-sta0 | grep -oE "HWaddr [0-9A-Fa-f:]{17}" | cut -d' ' -f2)
echo "Set MAC: $mac_addr"
echo "phy0-sta0 MAC: $current_mac"
# Compare and show checkmark if they match
if [ "$mac_addr" = "$current_mac" ]; then
echo "Match: ✓"
else
echo "Warning: MACs do not match!"
fi
More test results. Was at the SAP office tonight and tested the Pifi. Initially, could not get it to work. I can confirm that after a reboot I was able to authenticate with their captive portal. The reboot seems to do the trick. As you mentioned previously it shouldn’t be necessary, but for now it is. Hope this is helpful.
Because there is a slightly newer OpenWrt version on Pi 5 (24.10 vs 23.05) there must be a subtle difference in how it’s being applied - maybe even be fixable via app change (but will figure it out)