Flint 3 - WAN speed goes to 500mbit after enabling wireguard server

Hi,
tl;dr after enabling wireguard server on Flint3 internet speed for all wireless/LAN users goes from 2Gbit to max 500Mbit.

Long: few weeks ago I upgraded Flint3 to newer firmware - 4.9.0. I hadn't checked my internet speed in a while, since it was usually 1.9 Gbit (my ISP provides 2 Gbit). Yesterday I noticed that my internet speed had dropped to 500 Mbit. A technician from my ISP came by and checked the connection - it was 2 Gbit. I performed a factory reset, and after that I also had 2 Gbit. I reconfigured the WireGuard server - and the speed dropped back to 500 Mbit.

Is this a known issue? How can improve LAN/Wireless clients speed without disabling wireguard server?

Hi

Yes, we are aware of this issue.

Currently, enabling the WireGuard Server incorrectly disables hardware acceleration, which may result in lower-than-expected WAN throughput. We have already planned a fix for the next firmware release.

For now, please SSH into the router and run the following commands as a workaround:

cat <<'EOF' >> /etc/hotplug.d/iface/99-ecm

# 4.9.0 workaround: force ECM re-enable after sync
# Restore LAN->WAN acceleration after WireGuard/ECM sync logic stops the IPv4 front end.
[ -e /sys/kernel/debug/ecm/gl_front_end_ipv4_stop ] && \
    echo 0 > /sys/kernel/debug/ecm/gl_front_end_ipv4_stop
EOF

# Apply it immediately without waiting for the next interface event
[ -e /sys/kernel/debug/ecm/gl_front_end_ipv4_stop ] && \
    echo 0 > /sys/kernel/debug/ecm/gl_front_end_ipv4_stop

# Optional: verify the current value, expected output is 0
cat /sys/kernel/debug/ecm/gl_front_end_ipv4_stop 2>/dev/null
1 Like

Thank you for reply.

Do you know if that would be fixed in future release? In that case, I probably would wait for it.

You must have missed this bit?

3 Likes

Indeed. Thank you for pointing me that.

I had previously posted here about improving download speeds with wireguard enabled by writing “f” to /sys/class/net/interface/queues/rx-0/rps_cpus, which can be easily done in Luci by enabling LuCI → Network → Interfaces → Global Network Options → Packet Steering.

Does this recipe accomplish the same thing, or is it addressing a different problem?

Thanks for the help!

These settings can both help improve WAN throughput, but they address different aspects of the networking stack:

  • The workaround discussed in this thread addresses an issue where hardware acceleration is incorrectly disabled when the WireGuard Server is enabled. Once hardware acceleration is disabled, packet forwarding relies entirely on the CPU, which can reduce WAN throughput.
  • Packet Steering helps distribute the forwarding workload across multiple CPU cores. Therefore, when hardware acceleration is disabled, enabling Packet Steering can also help achieve higher WAN throughput by making better use of the available CPU resources.