TP-Link TL-WDR3600
Dual Band (concurrent) and Gigabit Ethernet. Advertised as 600 Mbps it is Dual-Stream (2×2) on the 2.4 Ghz Band and Dual-Stream (2×2) on the 5 Ghz Band. This wiki entry is fairly brief, but most things in the TP-Link TL-WDR4300 wiki entry apply here.
Supported Versions
Version/Model | Release Date | OpenWrt Version Supported | Model Specific Notes |
---|---|---|---|
1.1 | 2012/07 | Attitude Adjustment 12.09 works fine (since trunk r33219) | Similar to TP-Link TL-WDR4300 |
1.2 | Attitude Adjustment 12.09 seems to work | LEDs blue | |
1.3 | Attitude Adjustment 12.09 + wifi patch, or trunk (r39392), | LEDs blue | |
1.4 | July 2013 | Attitude Adjustment 12.09 + wifi patch , or trunk (r39392) | LEDs now green, not blue |
1.5 | December 2013 | Attitude Adjustment 12.09 + wifi patch , or trunk (r39392) | LEDs now green, not blue |
1.5 | Jan 2016 | OpenWrt Chaos Calmer 15.05 | Hangs randomly after a long time, possibly under load (a few weeks) |
The latest firmware available is the release build Chaos Calmer 15.05 (sysupgrade link), with working ethernet and dual-band wireless (disabled by default).
Info
Architecture: | MIPS MIPS 74Kc |
Vendor: | Qualcomm Atheros |
bootloader: | U-Boot |
System-On-Chip: | AR9344 (MIPS) |
CPU/Speed | 560 MHz |
Flash-Chip: | Spansion FL064KIF docs |
Flash size: | 8192 KiB |
RAM: | 128 MiB |
Wireless No1: | Atheros AR9340 2.4GHz 802.11bgn |
Wireless No2: | Atheros AR9582 5GHz 802.11an |
switch: | Atheros AR8327N Gigabit Switch |
USB: | Yes 2 x 2.0 (GL850G chip - 4 ports capable) |
Switch Ports (for VLANs)
Port | Switch port |
---|---|
CPU | 0 |
Internet (WAN) | 1 |
LAN 1 | 2 |
LAN 2 | 3 |
LAN 3 | 4 |
LAN 4 | 5 |
unknown | 6 |
Le driver du switch refuse de configurer un port avec des VLANs tagué et non tagué Il est possible de tagué plusieurs VLANs sur le même ports :
root@OpenWrt:/# swconfig swconfig dev <dev> [port <port>|vlan <vlan>] (help|set <key> <value>|get <key>|load <config>|show) root@OpenWrt:/# swconfig dev switch0 help switch0: eth0(Atheros AR8327), ports: 7 (cpu @ 0), vlans: 128 --switch Attribute 1 (int): enable_vlan (Enable VLAN mode) Attribute 2 (none): reset_mibs (Reset all MIB counters) Attribute 3 (none): apply (Activate changes in the hardware) Attribute 4 (none): reset (Reset the switch) --vlan Attribute 1 (int): vid (VLAN ID (0-4094)) Attribute 2 (ports): ports (VLAN port mapping) --port Attribute 1 (none): reset_mib (Reset single port MIB counters) Attribute 2 (string): mib (Get port's MIB counters) Attribute 3 (int): pvid (Primary VLAN ID) Attribute 4 (string): link (Get port link information)
OpenWRT switch configuration Eth0.1 = LAN et Eth0.2 = WAN
root@OpenWrt:/# swconfig dev switch0 vlan 1 show VLAN 1: vid: 1 ports: 0t 2 3 4 5 root@OpenWrt:/# swconfig dev switch0 vlan 2 show VLAN 2: vid: 2 ports: 0t 1
Tag du port 5 sur les VLANs 1 et 2, réussis
root@OpenWrt:/# swconfig dev switch0 vlan 1 set ports "0t 2 3 4 5t" root@OpenWrt:/# swconfig dev switch0 vlan 1 show VLAN 1: vid: 1 ports: 0t 2 3 4 5t root@OpenWrt:/# swconfig dev switch0 vlan 2 show VLAN 2: vid: 2 ports: 0t 1 root@OpenWrt:/# swconfig dev switch0 vlan 2 set ports "0t 1 5t" root@OpenWrt:/# swconfig dev switch0 vlan 1 show VLAN 1: vid: 1 ports: 0t 2 3 4 5t root@OpenWrt:/# swconfig dev switch0 vlan 2 show VLAN 2: vid: 2 ports: 0t 1 5t
Tag du port 4 en VLAN 1, et Untag du port 4 en VLAN 2 : Erreur, le port 4 est supprimer du VLAN 1
root@OpenWrt:/# swconfig dev switch0 vlan 1 set ports "0t 2 3 4t 5t" root@OpenWrt:/# swconfig dev switch0 vlan 1 show VLAN 1: vid: 1 ports: 0t 2 3 4t 5t root@OpenWrt:/# swconfig dev switch0 vlan 2 show VLAN 2: vid: 2 ports: 0t 1 5t root@OpenWrt:/# swconfig dev switch0 vlan 2 set ports "0t 1 4 5t" root@OpenWrt:/# swconfig dev switch0 vlan 1 show VLAN 1: vid: 1 ports: 0t 2 3 5t root@OpenWrt:/# swconfig dev switch0 vlan 2 show VLAN 2: vid: 2 ports: 0t 1 4 5t root@OpenWrt:/#
Back to original firmware
With the WDR3600 router, there is a catch: the stock firmware is obtained from the OEM: http://www.tplink.com/en/support/download/?model=TL-WDR3600
The most easy way to revert the WDR3600 back to stock firmware is by flashing the original firmware version TL-WDR3600_V1_130129. With this firmware version there is no need to cut off some pieces before flashing.
So after downloading the firmware package unpack it and you got the file wdr3600v1_en_3_13_26_up(130129).bin
In the next step you copy the firmware over to the device:
scp /path/to/the/file/wdr3600v1_en_3_13_26_up(130129).bin root@192.168.1.1:/tmp/factory.bin --> or whatever ip you've set
after that you log into the router:
ssh root@192.168.1.1
Finally you write the firmware with:
mtd -r write /tmp/factory.bin firmware
Wait a while, it takes some time. No further steps needed. It is suggested to reset your current configuration before reverting to the stock firmware. This might work as well if you try to go from gargoyle firmware to stock but it is suggested to go from gargoyle → openwrt → stock firmware.
Flash Layout
0x000000000000-0x000000020000 | “u-boot” | /dev/mtdblock0 |
0x000000020000-0x000000120000 | “kernel” | /dev/mtdblock1 |
0x000000120000-0x0000007f0000 | “rootfs” | /dev/mtdblock2 |
0x000000600000-0x0000007f0000 | “rootfs_data” | /dev/mtdblock3 |
0x0000007f0000-0x000000800000 | “art” | /dev/mtdblock4 |
0x000000020000-0x0000007f0000 | “firmware” | /dev/mtdblock5 |
Serie U-Boot
WDR3600 v1.3 Start Log original U-Boot 1.1.4 (Jan 29 2013 - 16:09:44)
U-Boot 1.1.4 (Jan 29 2013 - 16:09:44) U-boot DB120 DRAM: 128 MB id read 0x100000ff flash size 8MB, sector count = 128 Flash: 8 MB Using default environment PCIe Reset OK!!!!!! In: serial Out: serial Err: serial Net: ag934x_enet_initialize... No valid address in Flash. Using fixed address wasp reset mask:c03300 WASP ----> S17 PHY * : cfg1 0x7 cfg2 0x7114 eth0: ba:be:fa:ce:08:41 athrs17_reg_init: complete eth0 up eth0 Autobooting in 1 seconds
Tapez très rapidement tpl quand le message Autobooting in 1 seconds apparait
WDR3600 v1.3 U-boot help :
db12x> help ? - alias for 'help' bootm - boot application image from memory cp - memory copy erase - erase FLASH memory help - print online help md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables progmac - Set ethernet MAC addresses reset - Perform RESET of the CPU setenv - set environment variables tftpboot- boot image via network using TFTP protocol version - print monitor version
WDR3600 v1.3 U-boot printenv
db12x> printenv bootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k(uImage),64k(mib0),64k(ART) bootcmd=bootm 0x9f020000 bootdelay=1 baudrate=115200 ethaddr=0xba:0xbe:0xfa:0xce:0x08:0x41 ipaddr=192.168.1.111 serverip=192.168.1.100 dir= lu=tftp 0x80060000 ${dir}u-boot.bin&&erase 0x9f000000 +$filesize;cp.b $fileaddr 0x9f000000 $filesize lf=tftp 0x80060000 ${dir}db12x${bc}-jffs2&&erase 0x9f050000 +0x630000;cp.b $fileaddr 0x9f050000 $filesize lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9f680000 +$filesize;cp.b $fileaddr 0x9f680000 $filesize stdin=serial stdout=serial stderr=serial ethact=eth0 Environment size: 686/65532 bytes
Restauration du firmware original (sans modifier U-Boot). Le firmware doit faire 8 126 464 octets ce qui correspond a un firmware sans U-Boot. A ce jour, les firmware TP-Link : wdr3600v1_en_3_13_23_up(120820), wdr3600v1_en_3_13_26_up(130129) et wdr3600v1_en_3_13_31_up(130320) sont sans U-Boot. La version utilisé dans l'exemple est wdr3600v1_en_3_13_31_up(130320) sur le WDR3600 v1.3
db12x> setenv ipaddr 192.168.0.144 db12x> setenv serverip 192.168.0.11 db12x> tftp 0x80060000 wdr3600v1_en_3_13_31_up(130320).bin dup 1 speed 1000 Using eth0 device TFTP from server 192.168.0.11; our IP address is 192.168.0.144 Filename 'wdr3600v1_en_3_13_31_up(130320).bin'. Load address: 0x80060000 Loading: *################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ############################ done Bytes transferred = 8126464 (7c0000 hex)
ATTENTION Ne continuez que si la dernière ligne affiche 8126464 (7c0000 hex)
db12x> erase 0x9f020000 +7c0000 First 0x2 last 0x7d sector size 0x10000 Erased 124 sectors db12x> cp.b 0x80060000 0x9f020000 0x7c0000 Copy to Flash... write addr: 9f020000 done db12x> reset
Le routeur reboot
U-Boot 1.1.4 (Jan 29 2013 - 16:09:44) U-boot DB120 DRAM: 128 MB id read 0x100000ff flash size 8MB, sector count = 128 Flash: 8 MB Using default environment PCIe Reset OK!!!!!! In: serial Out: serial Err: serial Net: ag934x_enet_initialize... No valid address in Flash. Using fixed address wasp reset mask:c03300 WASP ----> S17 PHY * : cfg1 0x7 cfg2 0x7114 eth0: ba:be:fa:ce:08:41 athrs17_reg_init: complete eth0 up eth0 Autobooting in 1 seconds ## Booting image at 9f020000 ... Uncompressing Kernel Image ... OK Starting kernel ...
WDR3600 TP-Link Original Firmware Password
TL-WDR3600 login: root Password: ??? Login incorrect
shadow hash password file : root:$1$GTN.gpri$DlSyKvZKMR9A9Uj9e9wR3/:15502:0:99999:7:::
Bootloader Mods
- you could read about bootloader in general and about Das U-Boot in particular.
U-Boot 1.1.4 modification for routers
Forum member pepe2k made a modification of U-Boot 1.1.4 for Qualcomm Atheros SoCs based devices (the project is still being developed, so new devices and SoCs will be supported in the future). Up to date information, binary images and sources can be found on official GitHub repository.
This modification started from wr703n-uboot-with-web-failsafe project, but supports more devices, all modern web browsers, has a lot of improvements and other modifications (like U-Boot NetConsole, custom commands, overclocking possibilities etc.).
More information:
- Official repository on GitHub: U-Boot 1.1.4 modification for routers
- Discussion about this project on OpenWrt forum
- An article (in Polish) about one of the first version of this project on www.tech-blog.pl
Hardware Modifications
USB Modification
The task was to make ext-root without using the default ports.
It turns out that the GL850G chipset used by the TP-Link in WDR3600/4300/4900 models can handle up to four ports.
Analysing the router's PCB it appears that pins 8(D-), 9(D+), 11(D-) and 12(D+) are unused. Aditionaly each factory USB port has separate power section.
GND is at the TP7 pin point. +5 V was taken directly from the MOSFET.