Upgrading TP-Link Archer C7 AC1750 to use with OpenWRT

Why OpenWRT?

One of my home access points is TP-Link Archer C7. I purchased it to get all benefits of the 5Ghz 802.11ac standard for the laptop and 2.4Ghz band for the older devices. However, it was never working for me well:

  • In 5Ghz band Apple devices were working very unstable
  • Sometime i had to reboot router because of wifi stability issues. After reboot it was working until next issue. There are no debug options/logs in the native firmware.
  • Device was spamming network with STP packets and some other data, no way to disable.
  • After upgrading to the new firmware versions i had to reconfigure it completely. And in fact difference between regullary updated versions was minimal
  • Native firmware configurable only via web interface, probably backdoors are included 🙂

So i decided to reflash it to the OpenWRT and found, that i am “happy” owner of the TP-Link Archer C7v1, with AR1A (v1) variant of QCA9880 chip, not supported in the open source ath10k driver. So there is no way to use 5Ghz with OpenWRT at all. Only good thing that 5Ghz chip is not soldered on the board, but connected to the PCIe mini card socket. So i decided to replace it.

Router upgrade

  • I been able to find on the eBay Compex WLE900VX Atheros QCA9880 card. It supports 802.11AC 1.3Gbps 3×3 MIMO 5ghz and is supported by ath10k driver.
  • Before replacing WIFI card you should install OpenWRT or device wont boot at all. I used OpenWRT CC 15.05 for the Archer C7 V1.X, upgrade was done via web interface
  • After OpenWRT is up and running – turn off device and replace WiFi card. Be careful with pigtails, it is very easy to damage them.
  • OpenWRT recognized this card without any additional packages and now working well. You may also want to use alternate firmware from Candela Technologies, there are some reports that it works better then one from vendor.


  • Hardware NAT is not supported. I am not using NAT on it, so i dont really care. Probably on speeds up to 300Mbit it does not matter.
  • Device has only 8Mb of flash. It is enough for the OpenWRT installation (including Luci). There are also 2 USB2 ports, so its easy to extend storage size if needed.


So far everything works great. It is too early to say if stability issues are gone or not, but at least i am now able to do full debug and tuning if needed. I am planning to benchmark router later.

Tagged , ,

14 thoughts on “Upgrading TP-Link Archer C7 AC1750 to use with OpenWRT

  1. I have exactly the same hardware and I am very curious about your tests. Any problems with performance and stability after upgrade?

    • sammczk says:

      Hi, yes.
      – Stability is now very good. I never rebooted router after this change. Before i had to do this weekly
      – Performance seems to be fine, however i am not using it as a Router, so no NAT needed at all. Please keep in mind that HW nat is not supported
      – I did not found any significant difference between stock and custom firmware for AC mode, so decided to stay on OpenWRT version

      So i am pretty happy with the results, its sad that i had to pay for hw upgrade, but anyway now device _finally_ works as it should. So good luck 🙂

      p.s. i also disabled most of the iptables related modules, just to avoid any packet processing overhead. My laptop (mbpro) shows speed up to 1300 on 5Ghz AC, however real performance is lower. I dont remember exact results, but it is +- inline with my expectations.

  2. Hi!
    Very cool by swapping the 11ac card for a newer revision!!
    It is ashamed this tp-link is only equipped with a cpu mips type, very weak cpu, so for sure you cannot fully use the wifi high rate.
    QCA has a newer cpu ARM type, more powerful. I do like the QCA9880 as it is much cooler than BCM4360.
    Thanks for sharing your openwrt tinkering with this router.

    • sammczk says:

      Yes, i am now very happy with the router quality. What is really sad – that vendors are never admitted own hardware failures – in fact v1 was just broken, and never been working as intended.

  3. Desperately-need-help says:

    Hi, I tried to do the same with my archer c7 v1 and my router has been flashed with the opener firmware successfully. Do you mind providing some pointers on how to set up the basic configuration? I’m quite new to this world and in retrospect probably shouldn’t have jumped into this head first. But the router has been flashed, so I’ve past the point of no return. Thanks so much!

    • sammczk says:

      Do you replaced 5Ghz wifi card? If not it wont work. To configure router i would recommend to use web interface (LUCI). You can find a lot of tutorials in the manual, or if you have specific questions – let me know.

  4. shawn says:

    i tried to use g729 from feeds with asterisk18 asterisk11 asterisk13 on openwrt 15.05 that it didn’t work can u please help?

  5. Harry Roper says:

    Thanks for a great write up. I just wanted to work through your approach this Sunday afternoon, when I noticed that there are no screws or anything similar to open the case of the router.

    Do you have any tips in how to open the case? In particular the silver plastic thing in the middle looks like it will be quite stubborn….


  6. Harry Roper says:


    Thanks for this great write up. I wanted to work through this today, but didn’t manage to open the case? How did you go about it? There don’t seem to be any screws and the silver plastic thing in the middle also looks problematic…

    Any ideas?


  7. fareed says:

    Hi i want to experiment in the possibility to totally convert it to a 2.4ghz router. If yes which 2.4ghz card can i use. ty/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: