OpenWrt 19.07. OpenVPN performance HH5a

Hello,

I have just got a BT Homehub 5a installed with 19.07 and OpenVPN-OpenSSL

The BT WAN port is connected to my DSL router and obtains IP connection ok, Open VPN is running using NordVPN.

Its all working, but I have been doing some testing.

So downloading a bittorrent Wifi through VPN to my mobile i am getting max download of 575kb/s

If I connect my phone to my DSL router wifi and use the OpenVPN android app to connect to the same VPN server and download the same torrent i am getting max download of 1200kb/s

Double the download rate.

Internet speed tests confirm similar differences in performance testing. As I will probably use VPN for Netflix, having 10mb instead of 6 would be preferable.

Could this be related to a bug i see mentioned where the router is only using 1 CPU,

Also, from other tests, wired performance has similar results.

Is there anything else I should check?

Thanks in advance for any help.

The HH5a isn't particularly powerful. At best you might get 8-9 mbit/sec out of it. Take a look at https://openwrt.ebilan.co.uk/viewtopic.php?f=7&t=279, it's pretty detailed on how to set everything up right.

Thanks,

Ahh, that looks like that will be the problem, AES 256 too much burden on the CPU.

Being new to this, is it possible to edit the VPN files for NordVPN to use AES 128 or something less intensive on the CPU?

i.e change cipher setting?

or even Socks5 VPN

1 Like

It's absolutely mandatory to switch to 128-bit encryption on a low-performance devices like home wifi routers.
In the case of 256-bit encryption you will be unable to get any reasonable throughput because of lack of AES-NI instructions.

Try to ad the following lines to your OpenVPN client config file:

# Disable cipher negotiation (otherwise negotiated cipher overrides --cipher)
ncp-disable

# Switch to 128-bit cipher
cipher AES-128-CBC
;cipher AES-128-GCM

If your VPN provider does not support AES-128-CBC, try to use AES-128-GCM.

Also I would strongly recomment to add the following line to yout OpenVPN client config

# Set the TX queue length on the TUN/TAP interface (default=100).
# Increase the transmission queue length to keep the TUN busy to get higher throughput.
txqueuelen 1000

In most cases this setting will boost your OpenVPN performance even more.
Refer to https://community.openvpn.net/openvpn/wiki/Gigabit_Networks_Linux for details.

And don't forget to enable RPS/XPS Packet steering (disabled/broken by default in 19.07).
Without packet steering enabled your network performance will be 2 times lower than should be.
See details at:

[FS#2573 : BT Home Hub 5A xrx200 performance degradation caused by RPS XPS commit]