OpenWrt Forum Archive

Topic: Support for TP-Link Archer C2600

The content of this topic has been archived between 29 Mar 2018 and 6 May 2018. Unfortunately there are posts – most likely complete pages – missing.

ewbble wrote:

sorry I am new, I have an Archer C2600 from Australia which has slightly different hardware will it still likely to work?

Check your hardware version, you might have the US one but just in case.

I'm not able to post links for some reason, but this is the address

tp-link . com /en/faq-46.html

I looked it doesn't say US or EU it says Ver 1.1,  ask TP link support specifically and they said it was not the same hardware.

ewbble wrote:

I looked it doesn't say US or EU it says Ver 1.1,  ask TP link support specifically and they said it was not the same hardware.

AFAIK, there is only US and Rest of the World/Universal models (at least from a firmware perspective). I just checked the website and AU and UK have the same firmware files.

(Last edited by TeutonJon78 on 2 Mar 2017, 23:01)

TeutonJon78 wrote:
ianchi wrote:

I suspect that adding the driver via DEVICE_PACKAGES is not working.
I'll report it in LEDE

Actually, I've been looking through the makefiles again. DEVICE_PACKAGES is used for many different devices throughout the tree for various architectures, so it's the correct way to do it.

However, it doesn't look like DEVICE_PACKAGES is actually getting built ANYWHERE in the makefiles. The only places it's even mentioned as anything other than setting the variable is in include/image.mk where it's setup as a variable and then used as a value for a text string.

That would seem to me that it's actually going to leave A LOT of devices with broken default builds.

DEVICE_PACKAGES is only used outside of specific device targets here:
/include/image.mk:
300: DEVICE_PACKAGES :=
...
428:Target-Profile-Packages: $(DEVICE_PACKAGES) [this is just part of a dump info target]

Following Target-Profile-Packages leads to:
scripts/metadata.pm@98 -> just a printout
include/target.mk@75 -> more printout

Looking more at the target.mk seems to have the line that would include those parameters:

13: DEVICE_TYPE?=router
...
54: # Add device specific packages (here below to allow device type set from subtarget)
55: DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE))

But that variable is only used for things like router, cpu, developerboard, etc., but specific target devices.

So, I can't find anywhere that actually uses DEVICE_PACKAGES in the source tree at all other than for "dump info" purposes.

EDIT: so, DEVICE_PACKAGES isn't even used anywhere in openWRT. Apparently it's an addition to LEDE for their new image building system.

I did this to try to resolve this problem:

define Device/u35wf
  DTS := U35WF
  IMAGE_SIZE := $(ralink_default_fw_size_16M)
  IMAGES += factory.bin
  IMAGE/factory.bin := $$(IMAGE/sysupgrade.bin)
  DEVICE_TITLE := Kimax U35WF
  DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-mt76 uboot-envtools \
              kmod-usb-ledtrig-usbport kmod-ata-core kmod-scsi-core kmod-usb-storage  \
              kmod-usb-storage-extras swap-utils wipefs mount-utils kmod-nls-utf8  \
              kmod-nls-base kmod-fs-btrfs kmod-fs-ext4 kmod-fs-exfat kmod-fs-msdos  \
              kmod-fs-ntfs kmod-fs-vfat mkdosfs ntfs-3g fdisk cfdisk hdparm e2fsprogs  \
              btrfs-progs block-mount blkid usbutils dosfstools ntfsprogs_ntfs-3g gdisk
  DEFAULT_PACKAGES += $(DEVICE_PACKAGES)
endef
TARGET_DEVICES += u35wf

It is a kind of hack but it seems to work until a final solution comes up.

Heinz wrote:

Hi.
I tested some commands on uboot. Whel run command ledtest i can power on all leds (include WiFi leds)
When I press WiFi button then can wifi led power on/off, wps button turn on/off wps led, reset button turn on/off power led, led button turn on/off all leds.

I find in GPL tarball Archer_C2600_v1_GPL\openwrt\qca\src\u-boot\drivers\pci\pci-ipq.c

[...]int ipq_pcie_led_init(void)
{
    int i = 0;
    void* iobase = 0;
    pci_dev_t devno = -1;
    pcie_params_t    *cfg;

    for (i = 0; i < PCI_MAX_DEVICES; i++) {
        cfg = &gboard_param->pcie_cfg[i];
        if (cfg->linkup) {
            pci_hose_scan(&pci_hose[i]);
        }
    }

    for (i = 0; i < PCI_MAX_DEVICES; i ++) {
        devno = pci_find_device(PCI_VENDOR_ID_ATHEROS, ATH_PCIE_BEELINER, i);
        if (devno != -1) {
            iobase = pci_map_bar(devno, PCI_BASE_ADDRESS_0, PCI_REGION_MEM);
            writel(readl(iobase + 0x85000) | (1<<ATH_BEELINER_LED), iobase + 0x85000);
            writel(readl(iobase + 0x85018) | (1<<ATH_BEELINER_LED), iobase + 0x85018);
        }
    }

    return 0;
}

int ipq_pcie_led_out_one(int on, int id)
{
    void* iobase = 0;
    pci_dev_t devno = -1;

    devno = pci_find_device(PCI_VENDOR_ID_ATHEROS, ATH_PCIE_BEELINER, id);
    if (devno != -1) {
        iobase = pci_map_bar(devno, PCI_BASE_ADDRESS_0, PCI_REGION_MEM);
        if (on) {
            writel(readl(iobase + 0x85000) & (~(1<<ATH_BEELINER_LED)), iobase + 0x85000);
        } else {
            writel(readl(iobase + 0x85000) | (1<<ATH_BEELINER_LED), iobase + 0x85000);
        }
    }

    return 0;
}

int ipq_pcie_led_out(int on)
{
    int i = 0;
    void* iobase = 0;
    pci_dev_t devno = -1;

    for (i = 0; i < PCI_MAX_DEVICES; i ++) {
        devno = pci_find_device(PCI_VENDOR_ID_ATHEROS, ATH_PCIE_BEELINER, i);
        if (devno != -1) {
            iobase = pci_map_bar(devno, PCI_BASE_ADDRESS_0, PCI_REGION_MEM);
            if (on) {
                writel(readl(iobase + 0x85000) & (~(1<<ATH_BEELINER_LED)), iobase + 0x85000);
            } else {
                writel(readl(iobase + 0x85000) | (1<<ATH_BEELINER_LED), iobase + 0x85000);
            }
        }
    }

    return 0;
}[...]

This look like wifi leds is on address 0x85000 on each wireless PCI card.
Maybe is possible to add this address to ath10k driver?

Great find. I hacked the ath10k driver in the kernel to do the exact same thing (Just a proof of concept, I only tested the code on a v1.1 C2600 I recently got, so play with it at your own risk...):

diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
index 6094372307aa..93b5a6480dfb 100644
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
@@ -50,6 +50,7 @@ MODULE_PARM_DESC(reset_mode, "0: auto, 1: warm only (default: 0)");
 /* how long wait to wait for target to initialise, in ms */
 #define ATH10K_PCI_TARGET_WAIT 3000
 #define ATH10K_PCI_NUM_WARM_RESET_ATTEMPTS 3
+#define ATH_BEELINER_LED 17
 
 static const struct pci_device_id ath10k_pci_id_table[] = {
        { PCI_VDEVICE(ATHEROS, QCA988X_2_0_DEVICE_ID) }, /* PCI-E QCA988X V2 */
@@ -2537,6 +2538,11 @@ static int ath10k_pci_hif_power_up(struct ath10k *ar)
                ath10k_err(ar, "could not wake up target CPU: %d\n", ret);
                goto err_ce;
        }
+    if (ar->hw_rev == ATH10K_HW_QCA99X0) {
+        ath10k_pci_write32(ar, 0x85000, ath10k_pci_read32(ar, 0x85000) | (1<<ATH_BEELINER_LED));
+        ath10k_pci_write32(ar, 0x85018, ath10k_pci_read32(ar, 0x85018) | (1<<ATH_BEELINER_LED));
+        ath10k_pci_write32(ar, 0x85000, ath10k_pci_read32(ar, 0x85000) & (~(1<<ATH_BEELINER_LED)));
+    }
 
        return 0;

And the wireless leds light up after flush the new firmware. It does not blink though, and I am not sure if it suppose to.

TeutonJon78 wrote:

If you flash the -factory.bin build from the web interface, it will work correctly to the LEDE. On the v1.0 HW, everything is working correctly except for the wifi LEDs (which don't really matter). Then you have to follow the standard setup guides. If you use the official 17.1.0 release, it will have the LuCI interface compiled in. If you use the snapshots, then you have to use SSH to install LuCI. Also remember that wifi is disabled by default.

Hi everyone. Sorry, but I'm ultra new to this. I have some tech knowledge (root my phones) but this is another level for me. What easy to install firmware enables me to use 2.4GHZ channel 12-14 and use full 30 DB power please? I installed 4x 9 dbi antennas to this router as my house's walls are too many and extremely thick (concrete). Thanks a lot for your input!

Jaime - Southamerica

Edit: c2600 US v1.0 on 1.1.2 Build 20150924 Rel. 66046

(Last edited by JaimeCarlos on 29 Mar 2017, 10:44)

hephooey wrote:

And the wireless leds light up after flush the new firmware. It does not blink though, and I am not sure if it suppose to.

Can you turn on/off Wifi LED? Can you share your build?
Thank you in advance for your answer!

please need help i have install lede-ipq806x-C2600-squashfs-factory.bin
i have try to disable DHCP but not success i am using  PuTTY i have search the web but can't find the way to do it
V1.0. UN

(Last edited by amjad_2020 on 5 Apr 2017, 12:30)

Hi Guys!
Sorry, not a developer - but not new to open source firmware.
I have this router - V1.0.  Is there a working OpenWRT for it?  Sorry - you have 1110 posts in this thread and that's a lot to wade through!

BigJohnS wrote:

Hi Guys!
Sorry, not a developer - but not new to open source firmware.
I have this router - V1.0.  Is there a working OpenWRT for it?  Sorry - you have 1110 posts in this thread and that's a lot to wade through!

You want to use LEDE, not openWRT. There is a stable released version on kernel 4.4 (I'm currently using it on two v1.0 C2600), and the daily snapshot running 4.9, which should have some ethernet and other performance improvements over 17.0.1, although with all the potential issues running a snapshot.

Just to let everybody know. Tonight I tried the latest LEDE snapshot as well as the 17.01.0 official release. Both have still the reboot issue on v1.1 c2600.

@Heinz: Since your version is not having the reboot issue, is there a chance you can release a version running on kernel 4.9, too?

Why isn't it patched yet in LEDE?

(Last edited by luckyparty on 10 Apr 2017, 22:08)

@Heinz: I would really like a 17.01.0 based version for V1.1 hardware. I am still running your earlier "LEDE Reboot 17.01.0-rc2 r3131-42f3c1f / LuCI e306ee6c93c1ef600012f47e40dd75020d4ab555 branch (git-17.033.24085-e306ee6)"

Thanks

luckyparty wrote:

Just to let everybody know. Tonight I tried the latest LEDE snapshot as well as the 17.01.0 official release. Both have still the reboot issue on v1.1 c2600.

@Heinz: Since your version is not having the reboot issue, is there a chance you can release a version running on kernel 4.9, too?

Why isn't it patched yet in LEDE?

It isn't patched yet because the patch as used isn't really up to submit quality. The LEDE devs said it's pending on https://github.com/lede-project/source/pull/620 which is a more generalized fix because there are more devices with a similar problem. Needless to say, it's not moving very quickly.

(Last edited by TeutonJon78 on 11 Apr 2017, 17:42)

I've built a version from the latest source (since the snapshots on the LEDE site dated from April 7th, not sure why) and it is highly unstable. Not sure if the wireless firmware is problematic or the kernel 4.9 but as soon as you put some traffic on wifi, it crashes.

And the reboot is still problematic on version 1.1, I was hoping the fixes for it were included in 4.9 but not yet it seems...

You should stay away from the latest builds using kernel 4.9 for now I think...

[  192.955095] ath10k_pci 0000:01:00.0: firmware crashed! (uuid 5d92ee49-4e8d-4acf-8d63-13a414d82dde)
[  192.955145] ath10k_pci 0000:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002
[  192.962980] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[  192.974864] ath10k_pci 0000:01:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01
[  192.980474] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 7e56fd07
[  192.989609] ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal file max-sta 512 raw 0 hwcrypto 1
[  192.998751] ath10k_pci 0000:01:00.0: firmware register dump:
[  193.006516] ath10k_pci 0000:01:00.0: [00]: 0x01000000 0x00000000 0x00000000 0x00000000
[  193.012137] ath10k_pci 0000:01:00.0: [04]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.019816] ath10k_pci 0000:01:00.0: [08]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.027710] ath10k_pci 0000:01:00.0: [12]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.035610] ath10k_pci 0000:01:00.0: [16]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.043524] ath10k_pci 0000:01:00.0: [20]: 0x00000000 0x00401B60 0x00000000 0x00000000
[  193.051410] ath10k_pci 0000:01:00.0: [24]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.059308] ath10k_pci 0000:01:00.0: [28]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.067206] ath10k_pci 0000:01:00.0: [32]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.075106] ath10k_pci 0000:01:00.0: [36]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.083005] ath10k_pci 0000:01:00.0: [40]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.090905] ath10k_pci 0000:01:00.0: [44]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.098803] ath10k_pci 0000:01:00.0: [48]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.106703] ath10k_pci 0000:01:00.0: [52]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.114603] ath10k_pci 0000:01:00.0: [56]: 0x00000000 0x00000000 0x00000000 0x00000000
[  193.122503] ath10k_pci 0000:01:00.0: Copy Engine register dump:
[  193.130404] ath10k_pci 0000:01:00.0: [00]: 0x0004a000   6   6   3   3
[  193.136221] ath10k_pci 0000:01:00.0: [01]: 0x0004a400  29  29  63  64
[  193.142816] ath10k_pci 0000:01:00.0: [02]: 0x0004a800  48  48  47  48
[  193.149242] ath10k_pci 0000:01:00.0: [03]: 0x0004ac00   1   1   3   1
[  193.155665] ath10k_pci 0000:01:00.0: [04]: 0x0004b000 5350 5350 169 136
[  193.162087] ath10k_pci 0000:01:00.0: [05]: 0x0004b400  26  26  89  90
[  193.168510] ath10k_pci 0000:01:00.0: [06]: 0x0004b800  28  28  28  28
[  193.175107] ath10k_pci 0000:01:00.0: [07]: 0x0004bc00   1   1   1   1
[  193.181534] ath10k_pci 0000:01:00.0: [08]: 0x0004c000   0   0 127   0
[  193.187955] ath10k_pci 0000:01:00.0: [09]: 0x0004c400   0   0   0   0
[  193.194378] ath10k_pci 0000:01:00.0: [10]: 0x0004c800   0   0   0   0
[  193.200804] ath10k_pci 0000:01:00.0: [11]: 0x0004cc00   0   0   0   0
[  193.339148] ieee80211 phy0: Hardware restart was requested
[  194.939297] ath10k_pci 0000:01:00.0: device successfully recovered

(Last edited by RedVortex on 12 Apr 2017, 04:44)

Thanks RedVortex for this insight. I didn't test the snapshot of 7.4. in deep. After I saw that it does not reboot on v1.1 I stopped.

I think it would be really appriciated if somebody can share the 17.01.0 official release for v1.1 with reboot fix. I run this release on another c2600 v1.0 and so far I had no problems.

TeutonJon78 wrote:
BigJohnS wrote:

Hi Guys!
Sorry, not a developer - but not new to open source firmware.
I have this router - V1.0.  Is there a working OpenWRT for it?  Sorry - you have 1110 posts in this thread and that's a lot to wade through!

You want to use LEDE, not openWRT. There is a stable released version on kernel 4.4 (I'm currently using it on two v1.0 C2600), and the daily snapshot running 4.9, which should have some ethernet and other performance improvements over 17.0.1, although with all the potential issues running a snapshot.

Thanks for the reply - where might one find such a thing?  Never heard of LEDE - I've run a lot of Tomato and dd-wrt though...
What I mean to say is there a link to the functioning LEDE and list of known issues one might encounter?

(Last edited by BigJohnS on 12 Apr 2017, 22:48)

BigJohnS wrote:
TeutonJon78 wrote:
BigJohnS wrote:

Hi Guys!
Sorry, not a developer - but not new to open source firmware.
I have this router - V1.0.  Is there a working OpenWRT for it?  Sorry - you have 1110 posts in this thread and that's a lot to wade through!

You want to use LEDE, not openWRT. There is a stable released version on kernel 4.4 (I'm currently using it on two v1.0 C2600), and the daily snapshot running 4.9, which should have some ethernet and other performance improvements over 17.0.1, although with all the potential issues running a snapshot.

Thanks for the reply - where might one find such a thing?  Never heard of LEDE - I've run a lot of Tomato and dd-wrt though...
What I mean to say is there a link to the functioning LEDE and list of known issues one might encounter?

Neither are that hard to find.

https://downloads.lede-project.org/rele … x/generic/

My signature has as list of all known issues.

downloads.lede-project.org/releases/17.01.0/targets/ipq806x/generic/
do this build come with web interface ?
if not can you please add web interface

(Last edited by amjad_2020 on 14 Apr 2017, 14:50)

amjad_2020 wrote:

downloads.lede-project.org/releases/17.01.0/targets/ipq806x/generic/
do this build come with web interface ?
if not can you please add web interface

Release image come with the web interface. Snapshot images do not.

Either way, it's trivial to install the web interface. If that feels nontrivial to someone, 3rd party router firmware might not be the best way to go -- there is a lot that can go wrong and fixing it usually requires some technical know-how.

Hi Guys,

newbie to OpenWRT here. I have this router and it has connectivity issues so I would like to use OpenWRT on it to see if I can at least use it. Is it just a matter of uploading the bin file through the web management page? or do I have to do anything else?

Thanks
*also which would be the file?

(Last edited by weemo on 14 Apr 2017, 19:16)

weemo wrote:

Hi Guys,

newbie to OpenWRT here. I have this router and it has connectivity issues so I would like to use OpenWRT on it to see if I can at least use it. Is it just a matter of uploading the bin file through the web management page? or do I have to do anything else?

Thanks
*also which would be the file?

Yep just upload the bin though web management.

i already installed lede, it works fine, but i want to use it as accesspoint in stead of a wifi router, how do config that via webinterface?