TP-Link TL-WDR4300 gigabit ethernet - cannot get past 260 Mib/s

Hello, I have a problem with my TP-Link TL-WDR4300 running OpenWrt 18.06.2. I am 100% sure that in the past I could get ~1000 Mib/s speeds through ethernet with this router (but with an older version of openwrt). I tried to run iperf (-s in the router, -c in my pc) but now I can only get ~260 Mib/s speeds. I also tried different cables and new ones, to no avail.
Is there any known problem with gigabit in recent versions of openwrt?


1000 Megabyte per second on a 1000 Megabit per second port?
Certainly not.

Megabyte or Megabit?

Please mind the difference:
MB = Megabyte
Mb = Megabit

1 Like

Run the iperf once again and monitor the cpu utilization with top or htop commands.
Post here the output of iperf and a snapshot of top/htop while iperf is running.

sorry, I corrected the error.

@trendy here is the screenshot:

Looks like you found your culprit.

1 Like

The TL-WDR4300 can do 1 GBit/s between its LAN ports (switched in hardware), it can not reach that performance for traffic passing through its CPU port, which is being routed, NATed, filtered or processed by pppd (there your limit is around 130 MBit/s, maybe slightly more with flow-offloading enabled).

1 Like

On a similar-class SoC in an Archer C7v2 (“replacement” for the 4300, as I recall), getting 400-500 mbps into the CPU and doing nothing with it was about the limit.

Edit: Note that he C7v2's CPU is about 50% faster than the 4300's (720 MHz vs. 560 MHz). Scaling down with speed, 300-350 for the 4300 would be my guess. So seeing 250 mbps seems pretty good.

Limits like these are why you’ll see ARM-based routers, a “faster” architecture and often multi-core, recommended over MIPS-based devices (like the 4300, C7v2, ...) for people with more than a couple hundred mbps line rate.

Thank you for your detailed answers. Is there any way to disable NAT only for the LAN, so I can get gigabit speed at least locally?

NAT is applied for the LAN->WAN traffic only.
From the iperf it is visible that your CPU is stressed when exchanging packets at such speeds.
You can run an iperf between 2 hosts connected on the switch. Then most likely the data will pass without using any CPU.


For inter-LAN traffic (two clients connected via different LAN ports of the router) the CPU of your router isn't involved at all, this is switched directly in the hardware switch fabric of the router, at full 1 GBit/s wire speed. The situation is fundamentally different though, if you run iperf on the router itself (because then the packets are handled by the router's underpowered CPU) - and not between two wired clients.


Unfortunately this is not the case. I thought about that and tried with two pc, both connected to an ethernet port, but the speed is the same.

What did the top show during the transfer?

I have the same issue. Even between the router itself and the PC the speed is only 250-260mbps on ethernet, no NAT or internet involved.

Did you found any solution? I'm about to replace the device because of this.

Following this topic - I have the same problem ...

Opening a new one to put some information ...

I have the same Problem. LAN is Wired cat 5e every where in the House. I started some messures since I changed my Inet provider from 70 Mbits to 1000Mbits. Now I'm wondering why my devices aren't faster. I have also a cudy with openwrt in my LAN where the speed is no Problem.

A mips router will not support a connection that fast. Read the sticky topic here:

1 Like