Basically the title, I feel like I've tried everything at this point, and I'm wondering if anyone has any other ideas.
Here is my setup:
Router: Linksys E8450 (UBI, ARMv8 r4, mt7622)
OpenWrt: 22.03.5 r20134-5f15225c1e
VPN: ProtonVPN Plus (tried with normal and secure core configs, with OpenVPN and WireGuard)
ISP: Virgin Media (UK)
My speeds without VPN are about 300mbps down and 25mbps up. With VPN on my router, I'm getting about 5mbps down and 20mbps up.
When connected to Wi-Fi, without VPN running on my router, I have tried using the VPN configs (as opposed to the ProtonVPN apps) on my phone and laptop. The speeds I was getting were about 250mbps down and 20mbps up.
I have used this guide to set up WireGuard on my router: https://www.ivpn.net/setup/router/openwrt-wireguard, and this guide to setup OpenVPN: https://protonvpn.com/support/how-to-set-up-protonvpn-on-openwrt-routers/
Things I've tried:
- Installing irqbalance (everything below I have tried before and after installing it)
- Installing and configuring SQM on WAN and WireGuard interfaces by themselves and both at once, setting speeds to 200mbps, 100mbps, and 50mbps down
- Enabling packet steering
- Setting MTU on WireGuard, WAN, and LAN interfaces by themselves and all at once to 1000, 1300, 1400, 1412, 1500.
- Enabling software & hardware offloading
When running fast.com or speedtest.net, the idle doesn't drop below 80% according to top and vmstat.
The weirdest thing is that I have had speeds of about 250mbps down once or twice, but they only lasted for a few seconds or only for 1 speedtest. Afterwards, they went back down to ~5mbps with upload not changing without me changing any settings.
Has anyone got any suggestions on what I can do to get speeds similar to what I was getting on my phone and laptop? Like I said, I feel like I've tried everything at this point, so I'm willing to try anything I haven't.
Thanks in advance!
Here is my configuration in case that helps:
network
config interface 'ch_uk'
option proto 'wireguard'
option private_key 'x'
list addresses '10.2.0.2/32'
option mtu '1412'
list dns '10.2.0.1'
option delegate '0'
config wireguard_ch_uk
option description 'proton'
option public_key '7tEhXa2x1eKGbPevwzPjo5u5HLshPxwkofSII9y0v2c='
list allowed_ips '0.0.0.0/0'
option route_allowed_ips '1'
option endpoint_host '185.159.157.229'
option endpoint_port '51820'
option persistent_keepalive '25'
firewall
config defaults
option output 'ACCEPT'
option synflood_protect '1'
option drop_invalid '1'
option input 'DROP'
option forward 'DROP'
option flow_offloading '1'
option flow_offloading_hw '1'
config zone
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
config zone
option name 'ch_uk'
option input 'DROP'
option output 'ACCEPT'
option forward 'DROP'
list network 'ch_uk'
option masq '1'
option mtu_fix '1'