USB Tethering or Mobile Hotspot speed slower than expected

I am encountering an issue that when using either USB tethering or mobile hotspot on my phone and connecting to it on my Easybox 802 with OpenWRT, the speed of the network does not exceed 20-21 Mbps (download). On the other hand, when connecting directly to my mobile hotspot on my laptop or using the USB tethering, the speed is always 60+ Mbps (download). Any ideas what could be the reason behind this behaviour? For USB Tethering I used this tutorial.

The easybox 802 is a pretty slow (333 MHz mips 24k) device and USB2 is rather CPU intensive, these figures don't really surprise me. As a comparison, the 500 MHz vr9 SoC achieves around 55-60 MBit/s over its native VDSL2 modem in single-core configuration.


Fair enough. Although, according to this (the site is in Polish, so here is a translation of the answer):

You need to install a new OpenWRT (with kernel at least 4.14), install packages: kmod-ipt-offload, kmod-nft-offload, kmod-nf-flow, kmod-ipt-raw and set the firewall option in the defaults section: option flow_offloading '1'. After that, the LAN-WAN speed goes back to around 90 Mb/s.

It seems to be possible to get better throughput. I am, however, wondering how I could update OpenWRT on my Easybox? The current kernel version is 3.18.29 with the OpenWRT version 15.05.1.

Update: I managed to update the OpenWRT, but run into some other issues (ie. USB port in my modem stopped working out of the sudden). Ended up using D-Link DWR 921 with SIM card slot. The speed is now capped at 54 Mbps. It is clearly the limitation of the hardware/software. Are there any ways of optimizing this setup? Maybe with Firewall like the one I mentioned above (doesn't seem to help)?