OpenWrt Forum Archive

Topic: TL-WDR3320 v2 Inside look

The content of this topic has been archived on 4 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi,

A quick look inside WDR3320 2.4G+5G. Components: AR9344-DC3A with 64M RAM / 4M- S25FL032 + 2xSiGe5005L + AR9287, Empty space for USB socket and socket supply.

bottom label
eagle view
ports
board top
board bottom

Full terminal boot log (original firmware)
8M mod, pepe2k u-boot but unsuccessful no support for build in 5 port switch in AR9344 as pepe2k already stated

Any suggestions what could be the closest OpenWRT build that might run on this with 8M Flash mod?

Cheers.

(Last edited by mveplus on 21 Aug 2013, 17:59)

nebbia88 wrote:

seems obvious, but http://wiki.openwrt.org/toh/tp-link/tl-wdr3500 ???

I've flashed wdr3320 with wdr3500 openwrt.Boot hangs.
U-Boot 1.1.4 (Mar 19 2013 - 14:42:12)

U-Boot DB120
Wasp 1.3

DRAM:  64 MB
Flash Manuf Id 0x1, DeviceId0 0x2, DeviceId1 0x15
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag934x_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
wasp reset mask:c03300
WASP ----> S27 PHY
GMAC: cfg1 0x80000000 cfg2 0x7114
eth0: ba:be:fa:ce:08:41
s27 reg init
athrs27_phy_setup ATHR_PHY_CONTROL 4 :0x1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 4 :0x10
eth0 up
WASP ----> S27 PHY
GMAC: cfg1 0xf cfg2 0x7214
eth1: ba:be:fa:ce:08:41
s27 reg init lan
ATHRS27: resetting s27
ATHRS27: s27 reset done
athrs27_phy_setup ATHR_PHY_CONTROL 0 :0x1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 0 :0x10
athrs27_phy_setup ATHR_PHY_CONTROL 1 :0x1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 1 :0x10
athrs27_phy_setup ATHR_PHY_CONTROL 2 :0x1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 2 :0x10
athrs27_phy_setup ATHR_PHY_CONTROL 3 :0x1000
athrs27_phy_setup ATHR_PHY_SPEC_STAUS 3 :0x10
eth1 up
eth0, eth1
Setting 0xb8116290 to 0x21422d0f
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

[    0.000000] Linux version 3.10.24 (axishero@ubuntu) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2013.05 r39153) ) #12 Fri Dec 27 17:07:43 CST 2013
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 0001974c (MIPS 74Kc)
[    0.000000] SoC: Atheros AR9344 rev 3
[    0.000000] Clocks: CPU:560.000MHz, DDR:450.000MHz, AHB:225.000MHz, Ref:40.000MHz
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x03ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x03ffffff]
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  board=TL-WDR3500 console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 61272k/65536k available (2199k kernel code, 4264k reserved, 593k data, 276k init, 0k highmem)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688)
[    0.070000] pid_max: default: 32768 minimum: 301
[    0.070000] Mount-cache hash table entries: 512
[    0.080000] NET: Registered protocol family 16
[    0.080000] MIPS: machine is TP-LINK TL-WDR3500
[    0.090000] registering PCI controller with io_map_base unset
[    0.510000] bio: create slab <bio-0> at 0
[    0.510000] PCI host bridge to bus 0000:00
[    0.520000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[    0.520000] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.530000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.530000] pci 0000:00:00.0: fixup device configuration
[    0.540000] Kernel bug detected[#1]:
[    0.540000] CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.24 #12
[    0.540000] task: 83828000 ti: 8382c000 task.ti: 8382c000
[    0.540000] $ 0   : 00000000 0000006e 00000000 00000003
[    0.540000] $ 4   : 8385f200 00000000 00000010 10000000
[    0.540000] $ 8   : 8384fb2c 75702064 65766963 6520636f
[    0.540000] $12   : 56494345 802d9438 00000000 3d2b7063
[    0.540000] $16   : 83821800 80306870 83821800 0000ffff
[    0.540000] $20   : 80360000 ffffffff 00000021 8031b210
[    0.540000] $24   : 00000003 80069d4c                 
[    0.540000] $28   : 8382c000 8382dce0 802fc854 8006ac88
[    0.540000] Hi    : 000014b4
[    0.540000] Lo    : 000052d0
[    0.540000] epc   : 8006ad24 ath9k_pci_fixup+0x16c/0x250
[    0.540000]     Not tainted
[    0.540000] ra    : 8006ac88 ath9k_pci_fixup+0xd0/0x250
[    0.540000] Status: 1100c403    KERNEL EXL IE
[    0.540000] Cause : 00800024
[    0.540000] PrId  : 0001974c (MIPS 74Kc)
[    0.540000] Modules linked in:
[    0.540000] Process swapper (pid: 1, threadinfo=8382c000, task=83828000, tls=00000000)
[    0.540000] Stack : 802fc854 83866b80 00000000 00000004 14010001 80191708 10000004 83821868
      83821800 802e5758 802e5778 83821800 0000ffff 8019ac4c 14010001 83821800
      fffffffb 8018f924 fffffffb 801b2618 8382dd38 83821868 83821800 fffffffb
      00000000 80360000 80360000 8018fab0 00000000 8018edcc 00000000 0000168c
      0000002e 00000000 00028000 00000000 8300f200 02800001 00000000 8385f200
      ...
[    0.540000] Call Trace:
[    0.540000] [<8006ad24>] ath9k_pci_fixup+0x16c/0x250
[    0.540000] [<8019ac4c>] pci_fixup_device+0x150/0x1ac
[    0.540000] [<8018fab0>] pci_setup_device+0x170/0x3f0
[    0.540000] [<80065098>] pci_scan_single_device+0x88/0xc8
[    0.540000] [<8018fee8>] pci_scan_slot+0x74/0x124
[    0.540000] [<801909ec>] pci_scan_child_bus+0x40/0xe8
[    0.540000] [<80190c98>] pci_scan_root_bus+0x88/0xbc
[    0.540000] [<801ea514>] pcibios_scanbus+0xa4/0x154
[    0.540000] [<80334174>] pcibios_init+0x50/0x8c
[    0.540000] [<80068c4c>] do_one_initcall+0xec/0x194
[    0.540000] [<8031ba60>] kernel_init_freeable+0x138/0x200
[    0.540000] [<80064ac0>] kernel_init+0x10/0x10c
[    0.540000] [<80060870>] ret_from_kernel_thread+0x10/0x18
[    0.540000]
[    0.540000]
Code: a7a70010  0801ab52  3c13b000 <000c000d> 96230004  96240002  00031c00  00641825  ac430000
[    0.550000] ---[ end trace 230d00302abec782 ]---
[    0.550000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
[    0.550000]

Because of wdr3500 has two banks of 32bit ddr2 but wdr3320 has only one bank?Or It looks like ar9344-DC3A(REV 3) is not fully supported by openwrt.

(Last edited by axishero on 27 Dec 2013, 12:11)

nebbia88 wrote:

seems obvious, but http://wiki.openwrt.org/toh/tp-link/tl-wdr3500 ???

They are quite different,wdr3320 use ar9344 rev3 for build-in switch and 5G radio,ar9287 for 2.4g radio.

(Last edited by axishero on 27 Dec 2013, 12:19)

@mveplus, is there any chance you or someone will build working build for this router, stock board?

i have try to boot openwrt in this device,but i can't understand why ar9287 cause kernel panic,because ar9287 work well on other device just like wr841n v7.

Great initial investigations mveplus! This router would be an amazing value with OpenWRT running on it, 2x2 simultaneous dual-band at half the price of the WDR4300/4310.

So, Any1 made it? To put a new firmware in it?!

KozaK wrote:

So, Any1 made it? To put a new firmware in it?!

Yes, some guy had already made it.
but it only can be flash by a pepe2k uboot or a SPI programmer.

http://www.right.com.cn/forum/forum.php … #pid875197
and the rom is here:
http://pan.baidu.com/s/1sj96SSd#dir/pat … TL-WDR3320

the changes to source code is here:
https://code.csdn.net/hackpascal/openwrt/tree/master

All is in chinese, but is easy to read by Google translate.

I tried to flash it on a 16M rom with 'undead uboot' by a programmer, and then IT WORKS!!

But is there any one can commit to offical?

'UNDEAD uboot' mod to the offical 'TP-Link uboot' is here:
http://www.right.com.cn/forum/thread-136444-1-1.html



P.S. Sorry to hear that. Because of a different RSA key, the head of firmware is not the same as the offical firmware, so it can NOT be flashed in web page. JTAG/uBoot/Programmer seems to be the only way to make it works.

Is there any one can solve it?
This is the latest offical firmware.
http://service.tp-link.com.cn/detail_download_1312.html

(Last edited by Abraxas on 23 May 2014, 02:25)

I accidentally overwritten ART on my router. Can someone provide me with a copy from your device?

Hello guys,

I'm new to openWRT and also trying to install it in TL-WDR3320 router with no success... can you please help?

I'm trying to install OpenWRT though the router software upgrade interface using this image:
https://downloads.openwrt.org/snapshots … actory.bin

when i try to upload it, the router return me an error message in Chinese saying that the model is not compatible... i don't know much about the u-boot method and the topic from hackpascal was pretty confusing for me...

I really MUST use uboot to make this work?

Thanks!

could you flash uboot from stock web interface? or nothing really works and this factory image is just useless?

shell script from xdarklight should be able to extract signature from tplink fw image

#!/bin/sh

for i in ./images/*boot* ; do
  echo "--- $i ---"

  if [ -f "$i" ]; then
    # get signature as hex string from image file (one hex
    # value per line) and reverse all lines
    sig=$(xxd -s +160 -l 128 -c 1 -plain "$i" | tac)

    # convert hex string to binary and let openssl extract
    # the signed content
    echo -n $sig | xxd -revert -plain | openssl rsautl \
              -hexdump -verify -pubin \
              -inkey tp-link_pubkey.bin.ms_publickeyblob \
              -keyform MS\ PUBLICKEYBLOB
  fi
done

but i didn't made much further than this:

--- ./images/wdr3320v2_boot.bin ---
Error opening Public Key tp-link_pubkey.bin.ms_publickeyblob
27271:error:02001002:system library:fopen:No such file or directory:bss_file.c:356:fopen('tp-link_pubkey.bin.ms_publickeyblob','r')
27271:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:358:
unable to load Public Key

The discussion might have continued from here.