1

Temat: Archer C58, C59 i C60 - wsparcie

Witam.
Narazie zastanawiam się jak zbudować obraz dla tych sprzętów.
bootlog wygląda tak:

U-Boot 1.1.4 (Jul 16 2016 - 18:05:34)

ap151 - Dragonfly 1.0

DRAM:  128 MB
Top of RAM usable for U-Boot at: 88000000
Reserving 342k for U-Boot at: 87fa8000
Reserving 32832k for malloc() at: 85f98000
Reserving 44 Bytes for Board Info at: 85f97fd4
Reserving 36 Bytes for Global Data at: 85f97fb0
Reserving 128k for boot params() at: 85f77fb0
Stack Pointer at: 85f77f98
Now running in RAM - U-Boot at: 87fa8000
Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x18
flash size 16MB, sector count = 256
Flash: 16 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ath_gmac_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
ath_gmac_enet_initialize: reset mask:c02200
Dragonfly----> S27 PHY *
: cfg1 0x80000000 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
athrs27_phy_setup ATHR_PHY_CONTROL 4 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 4 :10
eth0 up
ATHRS27: resetting s27
ATHRS27: s27 reset done
: cfg1 0x800c0000 cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs27_phy_setup ATHR_PHY_CONTROL 0 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 0 :50
athrs27_phy_setup ATHR_PHY_CONTROL 1 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 1 :50
athrs27_phy_setup ATHR_PHY_CONTROL 2 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 2 :50
athrs27_phy_setup ATHR_PHY_CONTROL 3 :1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 3 :50
eth1 up
eth0, eth1
Setting 0x181162c0 to 0x82
Autobooting in 1 seconds

No initrd
## Transferring control to Linux (at address 80060000) ...
## Giving linux memsize in bytes, 134217728

Starting kernel ...

[    0.000000] Linux version 3.3.8 (tplink@tplink) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 Tue Jul 19 17:51:52 HKT 2016
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 00019750 (MIPS 74Kc)
[    0.000000] SoC: Qualcomm Atheros QCA956X rev 0
[    0.000000] Clocks: CPU:775.000MHz, DDR:650.000MHz, AHB:258.333MHz, Ref:25.000MHz
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 08000000 @ 00000000 (usable)
[    0.000000] User-defined physical RAM map:
[    0.000000]  memory: 08000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00008000
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[...]

Dokładniej chodzi mi o:

## Booting image at 9f020000 ...
   Image Name:   MIPS OpenWrt Linux-3.3.8
   Created:      2016-07-19   9:52:32 UTC
   Image Type:   MIPS Linux Multi-File Image (lzma compressed)
   Data Size:    1069313 Bytes =  1 MB
   Load Address: 80060000
   Entry Point:  80060000
   Contents:
   Image 0:  1069305 Bytes =  1 MB
   Verifying Checksum at 0x9f020040 ...OK
   Uncompressing Multi-File Image ... OK

Co to jest ten "Multi-File Image" i czy są narzędzia żeby takie coś zbudować.
Kolejny problem to brak oficjalnego firmware na stronie producenta (jest tylko wersja US)
Ma on też opcję recovery, ale na chwilę obecną nie wiem co mu podać.

Zdjęcia płytki można zobaczyć tutaj: http://tplink-forum.pl/index.php?/topic … er-c59-v1/
Cały dump flasha: http://tplink-forum.pl/index.php?/topic … er-c59-v1/

Wkrótce wrzucą jeszcze zdjęcia z C60 ( bootlog prawie identyczny)

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

2

Odp: Archer C58, C59 i C60 - wsparcie

https://dev.openwrt.org/browser/trunk/t … h?rev=7306

     * "Multi-File Images" contain several images, typically an OS
97     *      (Linux) kernel image and one or more data images like
98     *      RAMDisks. This construct is useful for instance when you want
99     *      to boot over the network using BOOTP etc., where the boot
100     *      server provides just a single image file, but you want to get
101     *      for instance an OS kernel and a RAMDisk image.
102     *
103     *      "Multi-File Images" start with a list of image sizes, each
104     *      image size (in bytes) specified by an "uint32_t" in network
105     *      byte order. This list is terminated by an "(uint32_t)0".
106     *      Immediately after the terminating 0 follow the images, one by
107     *      one, all aligned on "uint32_t" boundaries (size rounded up to
108     *      a multiple of 4 bytes - except for the last file).

Jeżeli to to właśnie to.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Archer C58, C59 i C60 - wsparcie

Trochę zrobione. Firmware startuje ale problemów dość dużo:
Firmware nie chce się wgrać przez oficjalny soft ( brakuje kilku danych do tplink-safeloader, przez recovery wgrywa się bez problemu.

Brak obsługi qca9886 - brakuje firmware, wifi 5GHz nie startuje.

Nie umiem uruchomić wszystkich portów LAN/WAN - dodałem brakujące wpisy ze źródeł tplinka jednak dalej nie działa. Widać ze ten sam problem jest na WDR6500v2 który też ma 100Mbit LAN i używa switcha ze SoCa.
https://github.com/heinzek/source/commi … 3e2a1b028a
swoją drogą czy idzie jakoś automatycznie odświeżyć patche czy wy też "ręcznie" zmieniacie numery linii?

Nie umiem uruchomić ledów. Sterowane są przez rejestr przesuwny 74HC595. Rejestr jest podłączony do 5 linii gpio żeby uruchomić 7 diod hmm  Uruchomiłem go przez gpio-spi i jest wykrywany w systemie ale mimo sterowania nic się nie zmienia. Mogę tylko włączyć i wyłączyć wyjścia ( przez gpio16 - pin oe) ale zapalona jest ciągle tylko dioda power.

https://github.com/heinzek/source/commi … 24e175120e

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

4

Odp: Archer C58, C59 i C60 - wsparcie

Ledy masz chyba sterowane w ten sam sposób co w mr3420v3. Sprawdź http://lists.infradead.org/pipermail/le … 03782.html tam masz driver do ledów (choć Rafał twierdzi że powinno to być przeportowane do wspólnego drivera - http://lists.infradead.org/pipermail/le … 3784.html)

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Archer C58, C59 i C60 - wsparcie

Dzięki za linki, jednak poczytałem trochę o tym 74hc595 oraz sposobie jego sterowania i wystarczyło delikatnie zmienić konfigurację aby zadziałało.
Wszystkie diody są sterowane "normalnie" jedynie w kernelu trzeba było dołączyć pakiet spi-gpio oraz 74x164, ale chyba to zaakceptują.

Jeszcze ten switch i można popychać. Widać kolejny sprzęt który się resetuje po podłączeniu kabla: https://forum.lede-project.org/t/lede-2 … cted/701/1

https://github.com/lede-project/source/ … einzek:C59

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

6

Odp: Archer C58, C59 i C60 - wsparcie

Kombinuję z tym switchem i nie idzie mi to.
Na C60 dokładnie ten sam problem.
Dziwna sprawa bo w oficjalnym sofcie swconfig wykrywa 7 portów, a na lede 6 lub 5 w zależności od konfiguracji.
Oficjalny soft:

root@Archer C60:/# swconfig dev switch0 show
Global attributes:
        enable_vlan: 1
        max_frame_size: 1536
        dump_arl: MAC: 50:c7:bf:24:16:42 PORTMAP: 0x01 VID: 0x0 STATUS: 0x0
MAC: 50:c7:bf:24:16:42 PORTMAP: 0x01 VID: 0x0 STATUS: 0x0
MAC: d8:97:ba:0d:83:60 PORTMAP: 0x02 VID: 0x0 STATUS: 0x0

Port 0:
        mib: Port 0 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 36
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 23693
Rx128Byte   : 524
Rx256Byte   : 84
Rx512Byte   : 92
Rx1024Byte  : 37
Rx1518Byte  : 50231
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 76476412
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 437
TxPause     : 53
TxMulti     : 596
TxUnderRun  : 0
Tx64Byte    : 23982
Tx128Byte   : 4466
Tx256Byte   : 335
Tx512Byte   : 121
Tx1024Byte  : 72
Tx1518Byte  : 32
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 2080913
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 19798452041
TxUniCast   : 21946769548

        pvid: 1
        link: ???
Port 1:
        mib: Port 1 MIB counters
RxBroad     : 164
RxPause     : 0
RxMulti     : 226
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 23830
Rx128Byte   : 3936
Rx256Byte   : 151
Rx512Byte   : 112
Rx1024Byte  : 48
Rx1518Byte  : 16
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 1952611
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 26
TxUnderRun  : 0
Tx64Byte    : 23658
Tx128Byte   : 334
Tx256Byte   : 84
Tx512Byte   : 88
Tx1024Byte  : 37
Tx1518Byte  : 50263
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 76499674
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 21799812732
TxUniCast   : 19804627330

        pvid: 1
        link: ???
Port 2:
        mib: Port 2 MIB counters
RxBroad     : 73
RxPause     : 0
RxMulti     : 115
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 25
Rx128Byte   : 124
Rx256Byte   : 55
Rx512Byte   : 2
Rx1024Byte  : 8
Rx1518Byte  : 4
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 33896
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 2
TxUnderRun  : 0
Tx64Byte    : 6
Tx128Byte   : 28
Tx256Byte   : 0
Tx512Byte   : 1
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 3353
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 2151137305
TxUniCast   : 19797866785

        pvid: 1
        link: ???
Port 3:
        mib: Port 3 MIB counters
RxBroad     : 127
RxPause     : 0
RxMulti     : 146
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 56
Rx128Byte   : 279
Rx256Byte   : 81
Rx512Byte   : 5
Rx1024Byte  : 8
Rx1518Byte  : 8
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 58831
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 6
TxUnderRun  : 0
Tx64Byte    : 33
Tx128Byte   : 133
Tx256Byte   : 0
Tx512Byte   : 2
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 15452
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 20
TxUniCast   : 21997629760

        pvid: 1
        link: ???
Port 4:
        mib: Port 4 MIB counters
RxBroad     : 73
RxPause     : 0
RxMulti     : 109
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 27
Rx128Byte   : 127
Rx256Byte   : 48
Rx512Byte   : 2
Rx1024Byte  : 8
Rx1518Byte  : 4
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 32759
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 2
TxUnderRun  : 0
Tx64Byte    : 8
Tx128Byte   : 29
Tx256Byte   : 0
Tx512Byte   : 1
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 3593
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 30
TxUniCast   : 21997629760

        pvid: 1
        link: ???
Port 5:
        mib: Port 5 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 0
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 0
Rx128Byte   : 0
Rx256Byte   : 0
Rx512Byte   : 0
Rx1024Byte  : 0
Rx1518Byte  : 0
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 0
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 0
TxUnderRun  : 0
Tx64Byte    : 0
Tx128Byte   : 0
Tx256Byte   : 0
Tx512Byte   : 0
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 0
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 40
TxUniCast   : 21997629760

        pvid: 5
        link: ???
Port 6:
        mib: Port 6 MIB counters
RxBroad     : 0
RxPause     : 0
RxMulti     : 0
RxFcsErr    : 0
RxAlignErr  : 0
RxRunt      : 0
RxFragment  : 0
Rx64Byte    : 0
Rx128Byte   : 0
Rx256Byte   : 0
Rx512Byte   : 0
Rx1024Byte  : 0
Rx1518Byte  : 0
RxMaxByte   : 0
RxTooLong   : 0
RxGoodByte  : 0
RxBadByte   : 0
RxOverFlow  : 0
Filtered    : 0
TxBroad     : 0
TxPause     : 0
TxMulti     : 0
TxUnderRun  : 0
Tx64Byte    : 0
Tx128Byte   : 0
Tx256Byte   : 0
Tx512Byte   : 0
Tx1024Byte  : 0
Tx1518Byte  : 0
TxMaxByte   : 0
TxOverSize  : 0
TxByte      : 0
TxCollision : 0
TxAbortCol  : 0
TxMultiCol  : 0
TxSingleCol : 0
TxExcDefer  : 0
TxDefer     : 0
TxLateCol   : 0
RxUniCast   : 2207087149
TxUniCast   : 22005053728

        pvid: 0
        link: ???
VLAN 1:
        vid: 1
        ports: 0 1 2 3 4
VLAN 5:
        vid: 5
        ports: 5
root@Archer C60:/#

Port 0 to chyba port eth1(cpu)
port 1 do 4 to porty LAN 4 do 1
Porty 5 i 6 nic nie naliczają, ale na LEDE port 5 jest wykrywany jako WAN ale nie ma na nim żadnego ruchu. Jeśli włączę urządzenie na MDIO0 i podniosę interfejs eth0 to podłączenie kabla do tego portu skutkuje zawieszeniem sprzętu i restartem.

Ktoś coś?

https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

7

Odp: Archer C58, C59 i C60 - wsparcie

No i sprawa switcha rozwiązana. Problem był w sterowniku.
https://github.com/lede-project/source/ … 8e454c2c81

PR już czekana akceptację: https://github.com/lede-project/source/pull/846

Do zrobienia zostało jeszcze tylko WiFI 5GHz. Mimo podania firmware jakie chce nie potrafi wystartować.
Chip wifi to QCA9886 a firmware jakie chce to QCA9888

[    8.428201] Loading modules backported from Linux version wt-2017-01-31-0-ge882dff19e7f
[    8.436517] Backport generated by backports.git backports-20160324-13-g24da7d3c
[    8.501798] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
[    8.507991] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[    8.909620] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:00:00.0.bin failed with error -2
[    8.920709] ath10k_pci 0000:00:00.0: Falling back to user helper
[    9.061473] firmware ath10k!pre-cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
[    9.630209] ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
[    9.639780] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[    9.659473] ath10k_pci 0000:00:00.0: firmware ver 10.4-3.4-00072 api 5 features no-p2p,mfp,peer-flow-ctrl,allows-mesh-bcast crc32 ddc41b79
[    9.683676] ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0056,subsystem-vendor=0000,subsystem-device=0000▒▒}▒▒▒d▒▒p from ath10k/QCA9888/hw2.0/board-2.bin
[    9.701610] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9888/hw2.0/board.bin failed with error -2
[    9.712237] ath10k_pci 0000:00:00.0: Falling back to user helper
[    9.798944] firmware ath10k!QCA9888!hw2.0!board.bin: firmware_loading_store: map pages failed
[    9.807937] ath10k_pci 0000:00:00.0: failed to fetch board data
[    9.814056] ath10k_pci 0000:00:00.0: failed to fetch board file: -11
[    9.820827] ath10k_pci 0000:00:00.0: could not probe fw (-11)
https://tplinkforum.pl - Polskie forum poświęcone tematyce urządzeń firmy TP-Link i Neffos

8

Odp: Archer C58, C59 i C60 - wsparcie

Dobre znalezisko, fajnie że się znalazło.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.