Wired speed doesn't pass 100mbps


I have LEDE 17.01.4 installed on a TL WDR4300-v1, I've upgraded my internet connection to 1gbps (from 100mbps) and for some reason, the speed test I preform doesn't surpass the 100mbps, if I use the isp's router, I get almost 1gbps.

I assume this is a configuration issue, how can I find the bad config?
will resetting the router can help?


SSH in to the router, run cat /etc/config/network, and post your results.

Are you using SQM? If so run cat /etc/config/sqm and post those results as well.

The TL-WDR4300 can't cope with 1 GBit/s, according to its wiki entry NAT performance is limited to around 300 MBit/s, significantly less if you use anything fancy (like sqm).

If you want to max out a 1 GBit/s WAN link, x86 will be the most flexible solution - mt7621 or mvebu based devices shouldn't be too bad either, but don't expect them to fully saturate a 1 GBit/s link either.


afaics, I'm not using sqm (file not found), here is the requested output:

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr ''
        option netmask ''

config globals 'globals'
        option ula_prefix 'fd42:fabc:96ed::/48'

config interface 'lan'
        option ifname 'eth0.1'
        option force_link '1'
        option type 'bridge'
        option proto 'static'
        option netmask ''
        option ip6assign '60'
        option ipaddr ''
        option mtu '9000'

config interface 'wan'
        option ifname 'eth0.2'
        option proto 'pppoe'
        option macaddr 'C4:E9:84:A2:4B:57'
        option username 'uwer'
        option password 'passwd'
        option ipv6 'auto'

config interface 'wan6'
        option ifname '@wan'
        option _orig_ifname '@wan'
        option _orig_bridge 'false'
        option proto 'pppoe'
        option username 'user'
        option password 'passwd'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0t 2 3 4 5'

config switch_vlan
        option device 'switch0'
        option vlan '2'
        option ports '0t 1'

so essentially, I can throw it to the trash can?

I wouldn't go that far, the TL-WDR4300 is a very nice device, it just wasn't made for the throughput you'd now like to throw at it. If you go with a x86 router, it can still act as a pretty decent access point, widening your option of small/ low-power x86 devices significantly (because most mITX boards won't take two wlan cards and a second ethernet card), or acting as a small managed switch. These tasks are much less demanding than doing NAT or PPP encapsulation, which means pumping all data through the CPU (560 MHz MIPS 74Kc really isn't a fast CPU, it's cheap and comes with good I/O options - but everything that actually needs to go through the CPU is rather limited).

However it definately can't come close to saturating a 1 GBit/s WAN link while doing PPP, routing and NAT.

well, correctly, I got absolutely no gain, I get only 10% of my bandwidth...
I could understand if I'd get 60%-70% at least but not 10%.

If you're stuck right at 100 Mb check your switch status page to see if GbE links have been negotiated or it fell back to 100 Mb. That could be a bad cable or hardware failure.

Anyway, like the others said, this model doesn't have enough CPU to keep up with a 1 Gb ISP. If you use the stock firmware with its proprietary enhancements it should be faster but still not the full Gb.

where exactly can I find the status of GbE?

Network --> Switch page on the GUI. Or swconfig dev switch0 show on the CLI

You need an x86 for routing 1Gbps, it is a waste of your time and of money to buy anything less. The x86 handles it very smoothly, any consumer router handles it... just barely.

there are many options that are not very expensive (say around 2x what you pay per month for your internet), such as:

if you like to use OpenVPN I'd recommend something with AES-NI, they're somewhat more expensive but as time goes on will become less so:

Take your existing router and turn it into an access point, you can hang it directly off one of the ports on your new x86 router, plugged into the LAN side ports.

Run a real distro on your x86, Debian, or Arch or some RedHat or whatever you're familiar with. If you're not that familiar with regular Linux distros you could use a specialized firewall distro that has a gui etc. there are several, IPFire, Vyos, etc.

I understand what you are saying but there is no way I'll get this passed the wife.
it will be simpler and cheaper to migrate the attached usb hdd to ntfs and install the latest vendor fw.

the only pitfall is how to migrate a 3tb hdd...

You will never get 1Gbps through your router with vendor or other firmware. You may get 200mbits but you'll still only be getting 20% of your purchased speed. Might as well downgrade your service for a few months and use the savings to save towards the x86. you'll be getting the same speed.

mt7621 is able to saturate 1gb/s as long as you are not using SQM and/or PPPoE. The DIR-860L is the one I am using and really cheap for its performance. Alternatively, the Xiaomi WiFi Router 3G could be a nice alternative (no experience with that one, but people seem to like it, and it is also using mt7621).

That's what I mentioned, given that PPPoE is a mandatory part of the equation; so mt7621 will be significantly better than the tl-wdr4300, but not at full capacity either.

Ah, I missed that he was using PPPoE. Then you can expect to max out at around 600-700/400-500 I'm afraid. x86 does sound like the better option in that case.

The 1Gbit connection will be able to SLAM packets into your router's queue far faster than the router will handle forwarding them. 1500 byte packets * 1000 packets for typical queue length * 8 bits/byte / 100Mbps = 120ms best case latency. I personally have experienced 800ms latency on a gigabit link with QoS turned off. With a gigabit connection if you aren't running some kind of queue management the slow interactive experience is HIDEOUS and you absolutely CAN NOT use any kind of VOIP, like forget it, the first time someone starts to watch a netflix video your audio cuts out for 3 seconds.

so, queue management is absolutely required for a gigabit router. Given that, even the best consumer routers really don't do well. Maybe an ARM based solution, but then the price is basically the same as the first x86 solution I posted.

for now, I'm not getting 1gbps with the isp's router, I'd suffice with 800~ with the router I have.
I think that with the vendor's fw, I might be able to get to that.

Gives example performance with significantly more powerful routers, Netgear Nighthawk etc. A lot of the performance measures are really gamed by the router manufacturers. Sure, you can maybe push a gigabit through using iperf on one connection but when you have say 5 different devices each watching videos each opening up and tearing down new connections every few seconds, even high end consumer routers much faster than yours only really give 200-400 Mbits reliably. An example of how that matters is say updating a linux install as it downloads hundreds of individual .deb files. The x86 is pushing 700+ under all conditions.

It's fine to say you can't afford to get an x86, lord knows life is expensive :wink: but just have realistic expectations for what you will get, which is something like 100-200 mbits reliably with bufferbloat control that you will need because your router will be an enormous bottleneck compared to the ISP equipment.

If you're talking about WAN->LAN speeds -- it's because there's no hardware NAT support in LEDE.

There has been some development in that area recently here: Hardware NAT For LEDE and there was another thread which title escapes me now.