Poor WAN Speeds PPPOE Xiaomi Mi 4A Gigabit

Hi folks,

I finally got up and running with OWRT on a Xiaomi Mi 4A Gigabit edition router. Before I start digging into the settings and configuring everything, there seems to be some sort of limitation with my WAN speed using PPPOE. I have a 900/110 connection, but it is really struggling to get over 300-400Mbits on a hard wired connection. I am not connected to a VPN or anything of that nature. I tested the WAN speed of this router before I flashed it and I'm sure it was well over 800Mbits which I'm more than happy with. 300-400 not so much.

The only thing I've done in the PPPOE settings is add my ISP's username and password. It doesn't require a VLAN ID.

If this is just a limitation of the router then I will look for another with better hardware but like I say, it appeared to be ok with the stock firmware. I should also note that the speeds are fine when I swap it out with my ISP router however, it is far too basic for my needs. I appreciate any suggestions. Thank you!

1 Like

You could try to enable software or hardware flow offloading (I think somewhere in the firewall settings) to make up for the router's CPU being apparently overtaxed... This will limit your options regarding traffic shaping a bit (read SQM and hardware flow offloading are incompatible as far as I know) but might regain you a bit of throughput....


Thank you! This made an immediate difference. My speeds have more or less doubled to 300Mbps since applying Software flow offloading. I also have Hardware flow offloading ticked as well.

I'm really only interested in some sort of QoS to lower priortiy of unimportant traffic and maybe higher preference to Playstation etc. I've heard OWRT has limitations with QoS. It's something I haven't really looked into to in all honesty. Lots and lots of learning for me to do here. I haven't used it for many years. This one suggestion has already made quite a differnce. I just need to find the other 300Mbps now lol. Thanks!

Not likely to happen with that hardware... Really for ~1 Gbps (and 0.9 Gbps is close enough) you need beefier CPUs if you actually want/need to do something on a packet by packet basis...

1 Like

Thanks for that! I did another speedtest this evening and it has shot up again to over 850Mbps. Well pleased with that for now. I'm really just experimenting with OpenWRT but its likely I'll upgrade soon. I want to run VPN and AdGaurd home which will definitely need beefier hardware as you say.

For now though, I'm just glad that its working at all. I bricked it 2 or 3 times haha! Got there in the end :slight_smile:

1 Like

If you are using 21.02.2 and you don't mind flashing some more and are comfortable with installing LuCI yourself from the command line (snapshot does not come packaged with LuCi by default) you could try snapshot. Snapshot includes more than a few offloading improvements.

Or you could wait for 23.03.0 rc1, which is about to be released in a few weeks. This was just branched off, so it is essentially the same as snapshot now.

1 Like

Thanks for that! I'm fine with using CLI. I'm not that familiar with adding snapshop to Luci though. I'll see what I can find out about it and maybe give it a try. Thanks for that!

I've upgraded to the newest snapshot I could find and installed the Luci GUI via SSH. All seems to be working well. The last speedtest I did was around 850Mb which I am well please with. It will probably go higher than that off-peak.

I still have around 60MB of free space, so was considering a few Luci add-ons. I'd like a VPN add-on and also something like AdGuard Home, but I don't think I have enough space for it all.

QoS, VLANs and port forwarding are other things that I'd like to mess around with. I guess if I can get everything working I can just upgrade to better hardware and copy my config accross. Still though, this little £15 router is incredible value!

FYI - I don't care about the WiFi as it will be disabled. I use a mesh network and hard wired access points.

Thanks for the help with this!

I actually just did another few speed tests and I hit 920Mbs. Pretty sure its working at max now. That was higher than I ever got on my ISP router. I realise these tests can vary a good bit but even still, this is a great result. Thanks again!

You're welcome!

You might give Wireguard a try for your VPN. You are NOT going to get Gigabit line rate VPN for £15 LOL....but something around 100 Mbps should be realistic with Wireguard on this router.
opkg install luci-proto-wireguard luci-app-wireguard

For ad blocking, instead of adguard home, you might consider giving this a try:
opkg install adblock luci-app-adblock tcpdump-mini curl ca-certificates
The default block lists do not require a lot memory. Not using WiFi will free up some memory too. You don't need the last three packages, but tcpdump-mini will enable the adblock reporting function and the last two may save you some setting changes to download block lists with wget instead of curl.

This router has a 4 thread / 2 core SoC. It can help performance in some areas to install and enable irqbalance. You need to edit /etc/config/irqbalance then reboot or start it from the command line to enable it.

Finally, keep in mind now that you are using "bleeding edge" snapshot, every time the kernel version is bumped in snapshot many packages will become incompatible with your firmware. So install what you like very soon after you sysupgrade to a current snapshot, because you soon may not be able to.

Once you know what packages you like, I suggest saving the install command for them all in a text file somewhere for the next time you upgrade to a new snapshot.

1 Like

Thank you! That is extremely helpful. Much appreciated :grinning:

Oh I have no doubt Wireguard will come at a significant speed cost. I'm just sort of playing around to see how things work. It's like a test router basically. Is there a common good specced router you'd recommend to upgrade to eventually? I don't need it to be WiFi. My only exception is Asus. I have a personal gripe with them from years ago and I'll never purchase anything from them ever again. So basically anything but Asus haha :slight_smile:

SQM and VPN each need a lot of CPU. The devices that will do all that are few and far between, so the recommendations get easier.

A MT7622 CPU will handle most of what you are after provided you are thinking SQM or VPN. Options could be a Belkin RT3200 or Xiaomi AX3200 (AX6S). The advantage of these is they both include a switch and a few ports already. The 802.11ax WIFI6 support you may not need, but they have that too, so they can be put to use as a dumb AP someday.

But you would likely be better served by a NanoPi R4S 4GB with its metal case, or a Raspberry PI4 with USB to Ethernet dongle-especially if you are thinking SQM and VPN. Then add a managed switch if you want to plug in more than one lan client or connect dumb AP's on wired back haul someday.

1 Like

Thanks for that. I so nearly bought that Belkin RT3200 a few weeks ago. It has the same hardware as a Linksys router which costs like twice the price if I remember correctly.

VPN isn't essential but SQM would be, at least I think it will be.

I actually have a Rasp Pi 3 which I haven't used for a long time. I thought about using it with OpenWRT but couldn't quite puzzle together how it would work as a router. I do have an unmanaged 8 port Netgear switch connected directly to my Xiaomi router at the moment.

You need a USB3 to Ethernet dongle to create the second port for a lan on a PI (a NanoPi R4S already has two Gigabit ports, so you don't need a dongle for a NanoPi R4S). You would manage your various network interfaces on the Pi or NanoPI as VLANs, e.g., home, guest, VPN, IOT, security, whatever. Then you send all your VLAN's tagged out of the single lan port on the Pi or NanoPi to your switch. This is where a managed switch comes in. You need a managed switch to split the tagged VLAN's for your virtual networks to specific ports of your managed switch. An un-managed switch cannot do that.

1 Like

The pi4b is the first pi with gigabit ethernet connected to a fast enough bus to actually deliver the expected rate. A pi3 might be fast enough for yor link, but I would recommend getting a 4b if you want a raspberry pi-router

1 Like

I didn't realise that about managed switches. I actually have 8 port switches connected to each other. My understanding is that they will both forward on tagged packets which some unmanaged switches do. I thought that I wouldn't need a managed switch because of this. I guess I could try anyway and if it doesn't the the job, I can always replace the switches. I only need one with POE and they seem pretty cheap now anyway.

I'm still not sure if I will go down the Pi Road for an OpenWRT router. I came across a Banana PI last night at decent money. I can't remember the model exactly, but it had the MT7622 and 5 gigabit ports, 1GB of RAM etc. It should easily be good enough for my use. It doesn't come without a case though and I'm not sure where to get one. So many decisions to make :sweat_smile:

I see, so there would be no point even trying with the Pi 3 I have. The Pi 4b looks to be quite expensive for a Pi though. As I mentioned above, would a Banana Pi be better?

So the pi4B is quite popular (and has going for it that it is produced in mass) but it is out of the box neither exceptionally cheap (once you add all the components) nor elegant (requiring both an USB3 ethernet dongle and a managed switch), but it does allow traffic shaping at 1 Gbps rates... There are other alternatives like the nano pi RS4 that at least remove the need for an usb ethernet dongle (but there is also dfrobot's https://www.dfrobot.com/product-2242.html to turn a raspberry pi4b compute module into a two-port ethernet router).
Personally I operate a pi4b in my network, but only as GPS-disciplined NTP server and PTP timesource for my network, and I am happy with that, but that was a bit pricy as well (but still dirt cheap to get high precision time at home).

1 Like

Thanks for the detail here! Ok, so the curiosoty is killing me. Why the need for such precise timing? :slight_smile:

I've finally made a decision. I found a Belkin RT3200 at a very reasonable price, so I've bought one. It should be more than powerful enough for what I need it for and should have plenty of space for AdGuard Home etc. I so nearly bought a Banana Pi but thought the RT3200 would be more than good enough and it was a bit cheaper.

I've yet to test VLANs but I think I'll just wait until I get the Belkin tomorrow and go from there. No point messing about with it now because I'd rather set it up from scratch rather than risk copying configs over to different hardware that might not work properly.

The Mi 4A is a brilliant little router and it's ridiculous that it only cost me £15. I might even use it as an AP. Not sure yet!