[GCC 7.2 BUILD] Optimized TP-Link Archer C7 V2 AC1750 LEDE Firmware


Are you getting the gigabit speeds on the internal network, like you do with the tp link firmware?


Gigabit speed on local network? Switched lan to lan has nothing to do with the firmware implementation.

If you mean routing throughput look at the first post.
There is a iperf benchmark of WDR3600 which is the device with the lowest cpu power and also only one cpu port.


Archer C2 v2 support was just added to ath79, and includes flow-offload and kernel 4.14 support:

Maybe this optimized build should switch to that target ?


You could also use my ath79 builds with full opkg support...


Thanks for the heads up. I updated most of the patches in my fork here. Juppin's build seems like a good option if you need working opkg though.


short question to all of you

would you happen to know why does this archer C7 limit it's wireless download speed to a max. of 300 mbps?
no matter which firmware I try, be it stock, dd-wrt, LEDE and now the new 4.1.4 kernel image ...

the settings are the same AC, VHT80, Ch 149, WPA-PSK2

I attach a speedtest screenshot done with my Galaxy S8 (exynos vers.) which tops out at max 300 even when testing through iperf3.exe between PC and phone

the phone is connected at 866 Mbps but speeds never exceed 300 Mbps over WiFi
I made a test over cable, phone connected through an USB3.0-Gigabit ethernet adapter and speeds were aprox.689-702 Mbps so definetelly the phone has the adequate hardware to deal with gigabit speeds, it has 2 x 2 MU-MIMO streams (not SU-MIMO) and even 1024-QAM

I tried/borrowed a MU-MIMO based ASUS RT-AC58U router and speeds over wifi were the same 300 Mbps; what router and software combination shoul I use to max out this wifi speed?
I read a post on reddit where someone reached even 600-700 Mbps over wifi with this phone...here is just an example

54 votes and 37 comments so far on Reddit

strange thing is that I flashed the old WDR4300 with juppin's new image based on new 4.14 kernel and I see the same phone connected at only 300 Mbps to the router, but wifi speeds over N/5 Ghz reach up to 198 Mbps that means nearly 75% of it's rated 300 Mbps capacity/connectivity...but on Archer C7 even if it says that it's connected at 866 Mbps, it tops out at 300 Mbps which is only 33% of it's connection speed of 866 Mbps

is it that our C7 hardware is limited to this wifi speed so no matter what combination of software being used?


This question doesn't belong in this thread.

A long answer for your short question: your 2x2 phone is capping out with non-MIMO hardware. I don't know why the other router you tried made no difference, but you could always just ask the guy that got higher speeds what he was using.

Read: https://arstechnica.com/information-technology/2017/03/802-eleventy-what-a-deep-dive-into-why-wi-fi-kind-of-sucks/


Did you take a look at your cpu usage of your router while doing a speedtest?
I assume this chould be the problem...

On wdr4300@700MHz the cpu usage is about 60% on 190 Mbit/s transfer over wifi from ethernet...
Archer C7 does not have much more cpu power as my overclocked wdr4300.
The frame format of 802.11 wireless is much different than the 802.3 ethernet frame and therefore your cpu will be very busy to transform 802.3 frames to 802.11 frames and vice versa.

The situation will be more bad if routing or nat is also included in your transmit route and will be better if you have sfe or flow offloading...

This is only a suggestion by me...
If this is really the bottleneck you could try to oc your c7's soc... I saw some reports in the oc thread that claims that there c7 does reach 1000MHz and more...


yes I saw that overclocking thread, but it's risky many bricked their routers; beside that, I don't know wether extra 300 mhz would bring me a significant bump in wifi speeds...maybe someone who got it OC'ed could confirm greater speeds than 300 Mbps over wifi?

but I made another experiment where the C7 was used only as a dumb AP over 5 Ghz, used mainly as a switch getting internet from another router (in one of it's LAN ports not WAN), which was doing the hard work (the routing and the ppoe connection) and the behaviour and speeds over wifi were the same on the C7, so I don't necessarily think it's a CPU bottleneck


I think it is worth that you check it... If you use this build (with sfe) or the ath79 build with flow offloading there wouldn´t be much difference in cpu load on routed traffic.

300 MHz will be about 40 % higher cpu clock, so if that squeeze out 40% more wifi transfer speeds this is for sure a good improvement.
But i understand the bricking risk... Be prepared with a full flash dump and a hardware programmer.


My AP is overclocked as shown below:

[    0.000000] Clocks: CPU:1000.000MHz, DDR:760.000MHz, AHB:380.000MHz, Ref:40.000MHz`

root@APLEDE:~# cat /proc/cpuinfo
system type             : Qualcomm Atheros QCA9558 ver 1 rev 0
machine                 : TP-LINK Archer C7
processor               : 0
cpu model               : MIPS 74Kc V5.0
BogoMIPS                : 498.89
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16 dsp dsp2
shadow register sets    : 1
kscratch registers      : 0
package                 : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

I can reach 450 Mbps. perfectly.
I'd never tested how much it can reach, but 450 Mbps. for sure.


That will be minimum the improvement of 40% throughput that i mentioned and would confirm my theory in limitation of cpu cycles.

Probably the limitation could also be on ahb or ddr bus speed...


Klingon... is that 450mbt just eth-wifi alone, NATing, or running SQM? Have a C7 at home and need to run SQM, so trying to find out how much OCing would help...

If you don't run SQM, and have the time and inclination to see where a C7 at 1000mhz runs out of idle % running Cake, I and probably others would greatly appreciate it...


with what wireless client have you measured this 450 mbps? is it a 3x3 MIMO or a 2X2 MIMO client? because I think that a 3 stream client can make use of the router's 3 streams also, so that's why the 33% increase of speed and then it has nothing to do with overclocking
maybe you could do a real life test using iperf3.exe and showing us your speed with an OC'ed router


I reach with my notebook (Intel 8260) and Xiaomi MiWifi 3G more than 300 MBit/s:
iperf tcp benchmark only local without nat

[ ID]  Interval      Transfer      Bandwidth
[SUM]  0.0-30.2 sec  1.39 GBytes   396 Mbits/sec

The intel wifi and also the xiaomi router are 2x2 devices which supports 80 MHz channel width on 5 GHz wifi.
While the benchmark is running, the xiaomi is only 24% idle and this device does support 4 threads, means three (virtual) cores are fully utilized thanks to irqbalance.

I think you are only to lazy to open a ssh session to your router and do again a speedtest..


Hi paradoxman, I have the same devices as you (archer c7v2 and s8+). I can confirm that currently I'm also not getting more than 300mbit with the last firmware update from this topic. Anyway I can remember that last time I tested (about 1 month ago), before I upgraded from v17.01.4 (release build from 2017-12-08) to the current release, the wireless speed of 5ghz was about 450 approx. My router is not over clocked. Perhaps there is an issue with the current ath10 driver.
Maybe you can do a test by installing a previous sysupgrade.


My VPN (Cryptostorm) provides a unique anti-tracking scheme. To use it, I have to config dnsmasq to it's IP @ and add cronjobs to daily update some tracker blocking. I'm sorely unable to understand what I'm to do. I see I could add these lines:
into the cron section. But I have no way of know where those documents would be in the GCC 7.2 build filesystem. And as the dnsmasq.conf has to know where those are because:

For example: if the cronjob updated domains.txt and it was downloaded into


then the dnsmasq.conf line would read: conf-file=/domains.txt ? Is that correct?\


What's up with the kernel dependency problems? I can't install anything because of kernel version mismatches. Both release 31-05-2018 and current nightly are broken.

For example, with the nightly:

Installing shairport-sync-mbedtls (3.1.6-1) to root...
Downloading http://downloads.openwrt.org/snapshots/packages/mips_24kc/packages/shairport-sync-mbedtls_3.1.6-1_mips_24kc.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for shairport-sync-mbedtls:
 * 	kernel (= 4.9.110-1-2f405d629cff070ba774447c93acefb7) * 
 * opkg_install_cmd: Cannot install package shairport-sync-mbedtls.

root@OpenWrt:~# uname -a
Linux OpenWrt 4.9.110 #0 Tue Jul 3 09:18:39 2018 mips GNU/Linux

Also, on the 31-05-2018 release:

  • a bunch of packages won't upgrade. For example, base-files, and netifd - the latter causes a lock-up of at least the ssh daemon and I have to power-cycle the router.
  • when I managed to update a bunch of packages, I focused mostly on kernel packages and ran out of disk space which has never happened before with openwrt/lede


Wait for a new image or make one yourself using the script I have provided above, using his updates and



@juppin, what do you mean I'm too lazy? I've done several tests on last firmwares including yours and with iperf3 the maximum speed was 300 mbps...I will downgrade to the firmware what @osca reccomends and test again; is it possible to downgrade/upgrade from webinterface on your latest firmware for C7? or do I need to take the tftp way?