Setup
- Router: GL-SFT1200 (Opal)
- Mode: WiFi client (connects to home WiFi) + WireGuard client, tunneling to a GL-MT6000 (Flint 3) at home as WireGuard server
- WireGuard endpoint: static home IP (not hostname, ruled out DNS as a factor)
- This setup worked reliably for months before the update.
Problem
After upgrading from (presumably) 4.3.25 to 4.8.3, the WireGuard client interface (wgclient1) disconnects repeatedly, roughly every 5–15 minutes, and sometimes takes a long time to re-establish the tunnel. The home-side Flint 3 (also on 4.8.3-era firmware with Hardware Acceleration + net.bridge.bridge-nf-call-iptables=0 sysctl fix applied) stays up throughout and is unaffected.
Troubleshooting already done
- Ruled out WiFi client reconnects as the trigger —
wgclient1drops are not correlated with WiFi association/disassociation events in the logs. - Ruled out DNS resolution — switched the WireGuard endpoint from hostname to static IP; drops continued.
- Applied the known Flint 3 NAT-loopback/HNAT sysctl workaround on the SFT1200:
sysctl -w net.bridge.bridge-nf-call-iptables=0
sysctl -w net.bridge.bridge-nf-call-ip6tables=0
This reduced the frequency of plain link is down events somewhat, but disconnects still occurred, now sometimes showing:
wireguard-debug: ACTION=REKEY-GIVEUP
- Noted that Hardware/Network Acceleration is enabled, and the UI itself warns "VPN with IPv6 doesn't work properly" when it's on. My WireGuard interface config includes an IPv6 address alongside IPv4 — haven't yet isolated this as the cause since I reverted before testing it in isolation.
- As a last resort, downgraded back to 4.3.25 (last version I had before 4.8.3) using Local Upgrade with Keep Settings disabled. So far the tunnel (now
wgclient, non-numbered interface name) has stayed up without a single disconnect, going through several successful periodic rekeys.
Question
What changed in the WireGuard client / VPN module or the network acceleration (HNAT) handling between 4.3.25 and 4.8.3 that could cause this? Is the IPv6-over-VPN + Hardware Acceleration interaction a known issue for routed (non-bridge) WAN traffic, similar to the bridge NAT loopback issue previously reported for the Flint 3?
Logs (4.8.3, before downgrade)
Thu Jul 30 14:19:41 2026 daemon.notice netifd: Network device 'wgclient1' link is down
Thu Jul 30 14:19:41 2026 user.notice firewall: Reloading firewall due to ifdown of wgclient1 ()
Thu Jul 30 14:19:45 2026 daemon.notice netifd: Interface 'wgclient1' is now down
[... reconnect attempts with exponential backoff over ~2.5 minutes ...]
Thu Jul 30 14:22:19 2026 daemon.notice netifd: wgclient1 (13361): Configuration parsing error
Thu Jul 30 15:19:04 2026 user.notice wireguard-debug: USER=root ifname=wgclient1 ACTION=REKEY-GIVEUP ...
Thu Jul 30 15:19:12 2026 daemon.notice netifd: Interface 'wgclient1' is now down
Thu Jul 30 15:19:12 2026 daemon.notice netifd: Interface 'wgclient1' is setting up now
Thu Jul 30 15:21:00 2026 user.notice wireguard-debug: ... ACTION=REKEY-GIVEUP
Thu Jul 30 15:17:08 2026 daemon.notice netifd: Network device 'wgclient1' link is down
Thu Jul 30 15:17:08 2026 user.notice firewall: Reloading firewall due to ifdown of wgclient1 ()
Thu Jul 30 15:17:12 2026 daemon.notice netifd: Interface 'wgclient1' is now down
Thu Jul 30 15:17:13 2026 daemon.notice netifd: Interface 'wgclient1' is setting up now
Thu Jul 30 15:17:13 2026 user.notice relay: Reloading relay due to ifdown of wgclient1 ()
Thu Jul 30 15:19:04 2026 user.notice wireguard-debug: USER=root ifname=wgclient1 ACTION=REKEY-GIVEUP SHLVL=1 HOME=/ HOTPLUG_TYPE=wireguard LOGNAME=root DEVICENAME= TERM=linux SUBSYSTEM=wireguard PATH=/usr/sbin:/usr/bin:/sbin:/bin PWD=/
Thu Jul 30 15:19:12 2026 daemon.notice netifd: Interface 'wgclient1' is now down
Thu Jul 30 15:19:12 2026 daemon.notice netifd: Interface 'wgclient1' is setting up now
Thu Jul 30 15:20:21 2026 kern.info kernel: [ 1008.674510] hb-fmac 17800000.wifi-hb wlan1: Del key for sta 1 (92:da:31:eb:08:fa)
Thu Jul 30 15:20:21 2026 kern.info kernel: [ 1008.682725] hb-fmac 17800000.wifi-hb wlan1: Del key for sta 1 (92:da:31:eb:08:fa)
Thu Jul 30 15:20:21 2026 kern.info kernel: [ 1008.691495] hb-fmac 17800000.wifi-hb wlan1: Del key for sta 1 (92:da:31:eb:08:fa)
Thu Jul 30 15:20:21 2026 kern.info kernel: [ 1008.699618] hb-fmac 17800000.wifi-hb wlan1: Del sta 1 (92:da:31:eb:08:fa)
Thu Jul 30 15:21:00 2026 user.notice wireguard-debug: USER=root ifname=wgclient1 ACTION=REKEY-GIVEUP SHLVL=1 HOME=/ HOTPLUG_TYPE=wireguard LOGNAME=root DEVICENAME= TERM=linux SUBSYSTEM=wireguard PATH=/usr/sbin:/usr/bin:/sbin:/bin PWD=/
Thu Jul 30 15:21:08 2026 daemon.notice netifd: Interface 'wgclient1' is now down
Thu Jul 30 15:21:08 2026 daemon.notice netifd: Interface 'wgclient1' is setting up now
Thu Jul 30 15:21:14 2026 daemon.info dnsmasq[18874]: reading /tmp/resolv.conf.d/resolv.conf.wgclient1
Thu Jul 30 15:21:14 2026 daemon.info dnsmasq[18874]: reading /tmp/resolv.conf.d/resolv.conf.wgclient1
Thu Jul 30 15:21:14 2026 kern.info kernel: [ 1061.178984] IPv6: ADDRCONF(NETDEV_UP): wgclient1: link is not ready
Thu Jul 30 15:21:14 2026 daemon.notice netifd: Interface 'wgclient1' is now up
Thu Jul 30 15:21:14 2026 daemon.notice netifd: Network device 'wgclient1' link is up
Thu Jul 30 15:21:15 2026 user.notice firewall: Reloading firewall due to ifup of wgclient1 (wgclient1)
Thu Jul 30 15:21:17 2026 user.notice relay: Reloading relay due to ifup of wgclient1 (wgclient1)
Thu Jul 30 15:26:46 2026 daemon.notice netifd: Network device 'wgclient1' link is down
Thu Jul 30 15:26:47 2026 user.notice firewall: Reloading firewall due to ifdown of wgclient1 ()
Thu Jul 30 15:26:51 2026 user.notice relay: Reloading relay due to ifdown of wgclient1 ()
Thu Jul 30 15:26:51 2026 daemon.notice netifd: Interface 'wgclient1' is now down
Thu Jul 30 15:26:51 2026 daemon.notice netifd: Interface 'wgclient1' is setting up now
Thu Jul 30 15:27:03 2026 daemon.info dnsmasq[18874]: reading /tmp/resolv.conf.d/resolv.conf.wgclient1
Thu Jul 30 15:27:03 2026 daemon.info dnsmasq[18874]: reading /tmp/resolv.conf.d/resolv.conf.wgclient1
Thu Jul 30 15:27:03 2026 kern.info kernel: [ 1410.231287] IPv6: ADDRCONF(NETDEV_UP): wgclient1: link is not ready
Thu Jul 30 15:27:03 2026 daemon.notice netifd: Interface 'wgclient1' is now up
Thu Jul 30 15:27:03 2026 daemon.notice netifd: Network device 'wgclient1' link is up
Thu Jul 30 15:27:04 2026 user.notice firewall: Reloading firewall due to ifup of wgclient1 (wgclient1)
Thu Jul 30 15:27:06 2026 user.notice relay: Reloading relay due to ifup of wgclient1 (wgclient1)
Happy to provide full logs, wg show output, or test further configurations if that helps narrow this down.
ADDED:
Additional finding: Keep Settings across the 4.8.x VPN module rewrite
I upgraded from 4.3.25 to 4.8.3 with "Keep Settings" enabled. Given that GL.iNet's own 4.8 release announcement states the VPN module was rebuilt from the ground up, I suspect my existing WireGuard client config (in the old module's format) was carried over and misinterpreted by the new parser — consistent with an early log entry I saw:
netifd: wgclient1 (13361): Configuration parsing error
After downgrading back to 4.3.25 with Keep Settings disabled (forcing a fresh config), the tunnel has been rock-solid for 50+ minutes with clean rekeys every 2 minutes — a stark contrast to the frequent drops on 4.8.3.
If that's indeed what happened, this needs to be handled properly on GL.iNet's end: a major internal rewrite like the VPN module should either migrate old configs automatically and correctly, or the upgrade process should clearly warn users that Keep Settings isn't safe across this specific change — not silently produce a config that mostly works but fails intermittently. Users shouldn't have to reverse-engineer config incompatibilities through hours of log analysis to find out their settings weren't actually kept correctly.