[Solved] Archer C7 V2.0 Overclock

@Pedro
Holy megahertz batman!
And I was proud I got a +200mhz oc on the cpu on my wdr3600.
Well done, you won the jack pot on the silicon lottery.

To be honest I think it’s much more likely that these CPU’s (qca9558 ) overclock really well than me having a one in a million cpu!.
But yeah, when I got past 1000mhz I started to seriously doubt that I was really overclocking the cpu even with the kernel saying so, and then I started benchmarking with OpenSSL and it was really real.
As soon as I get back home I’ll make a how-to so that more people can try and then we can see if I got lucky or if these very high overclocks are normal with these cpus.

Check to see if there is any clock drift when overclocking. It could be that everything is just running faster instead of actually being faster

No, it’s indeed faster. OpenSSL doesn’t lie and the router feels much faster too

I mention it since a user of a different platform "overclocked" by changing the clock speed in the DTS file making openssl throw wrong numbers.

Anyways, good that it works.

Here is the step by step procedure to overclock the C5/C7.

  • install chrome browser and breed bootloader translator plug in:
    https://chrome.google.com/webstore/detail/translator-for-the-breed/hmkkdkhgadgmaplnhahncddmmcdegjhi?hl=en
  • the plug in will translate the Chinese text of breed web interface into English
  • ssh or telnet to the router with LEDE and write down the MAC addresses of eth0,eth1,wlan0,wlan1
  • install kmod-mtd-rw ( or flash a firmware that already has it backed in. the mtd-rw module will allow the mtd0 ( u-boot partition ) to be set as writable
  • run "insmod mtd-rw i_want_a_brick=1" ( this will enable the mtd partitions to be written )
  • run "mtd unlock u-boot" ( with will unlock mtd0 )
  • download the new breed bootloader to /tmp
  • cd /tmp
  • wget https://breed.hackpascal.net/breed-qca9558-ar8327n.bin ( if you don't have wget, install it, or use scp )
  • the next command has the possibility of bricking your router to the point that you will need special tools to unbrick it.
  • run "mtd -r write /tmp/breed-qca9558-ar8327n.bin u-boot" ( this will flash breed to the mtd0 partition and automatically reboot the router
  • wait a couple of minutes and you should be able to log in to LEDE again. Everything will look normal except that the MAC addresses of eth0,eth1, wlan0,wlan1 will be different.
  • turn off the router and power it on with the reset button pressed for 5 or 6 seconds. breed web interface will be available at 192.168.1.1
  • open web interface and fill eth1 MAC address eth1_mac
  • fill wlan0 MAC addresswlan0_mac
  • reboot and check that all MAC addresses are ok.
  • go back to breed and play will frequency settings. This is my current setup:
    C5_C7_overclock
  • use openSSL to test performance:
  • run: openssl speed md5 sha1 sha256 sha512 ( install OpenSSL if you don't have it ).
6 Likes

humm... I do suffer from clock drift. ( clock runs slower ) not sure if it is for overclocking the bus too. will have to play with it.

My router boots at 1520MHZ but crashes. Same with memory, it boots at 800MHZ but crashes. Stable settings are 1480MHZ CPU and 760MHZ RAM.

Might be time for heatsinks :slight_smile:

Have the moded u-boot installed will play around later and let you lot know how it gos.

No way, your clocks are fake. You should measure/check if your time is correct on the router. You can try simple sleep. These SOCs generally can't run faster than 900 MHz and with AHB higher than 300-350 MHz USB doesn't work.

what is the command for full flash backup in case it needs to be flashed by a programmer ?

I have just tried a small overclock.
[ 0.000000] Clocks: CPU:760.000MHz, DDR:640.000MHz, AHB:213.333MHz, Ref:40.000MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5029632754 ns
[ 0.000006] sched_clock: 32 bits at 380MHz, resolution 2ns, wraps every 5651272702ns
[ 0.008682] Calibrating delay loop... 378.47 BogoMIPS (lpj=1892352)

Can you tell me how to do this ( check if the time is correct? ) again, I do have clock drifting on the router after overclocking ( router date get delayed over time ).
and do you have any idea why this may be happening?
I do have the impression that such high clocks are too good to be true.

you can do something like:
dd if=/dev/mtd0 of=/tmp/mtd0.bak ( this will save the original u-uboot ), you don't need anything else to recover ( with a programmer ) from a bad u-boot flash

this is what mine says:
[ 0.000000] Clocks: CPU:1480.000MHz, DDR:760.000MHz, AHB:380.000MHz, Ref:40.000MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 2582784387 ns
[ 0.000003] sched_clock: 32 bits at 740MHz, resolution 1ns, wraps every 2902004735ns
[ 0.004955] Calibrating delay loop... 738.09 BogoMIPS (lpj=3690496)

you just type sleep 120 or something larger and start a stopwatch at the same time

Run sleep 60 and use your watch to see if command returns after 60 seconds.

That's why all your tests results are broken and fake. Internal clock ticks at constant value (IIRC, half of the CPU frequency) but the kernel "thinks" that it runs much faster than in reality.

So how to do proper bench of the CPU then? Will my small overclock have the same clock drift? O and what happens if i don't do the thing with the MAC addresses?

regarding how to bench, not really sure, still evaluating this. Right now I don't experience clock drift up to 1000mhz cpu clock and all other clocks stock. it drifts at 1080mhz and up. will try 1040mhz next.
I am doing as suggested by pepe2k with sleep 60. I would say for now that if it doesn't drift, then it's ok.
Will post my findings later on.

Regarding not setting the MAC address what will happen ( it happened to me ) is that on every boot you will have random MAC addresses for all the four interfaces.