Differences

This shows you the differences between two versions of the page.

toh:tp-link:tl-wdr4300 [2012/11/13 21:26]
olmari Added v1.3 reported to work
toh:tp-link:tl-wdr4300 [2014/07/28 12:13] (current)
oskar Note about updating to lastest stock before instalation, moved serial console into HW section
Line 1: Line 1:
======TP-Link TL-WDR4300====== ======TP-Link TL-WDR4300======
Dual Band (concurrent) and Gigabit Ethernet. Dual Band (concurrent) and Gigabit Ethernet.
-Advertised as 750 Mbps it is Dual-Stream (2x2) on the 2.4 Ghz Band and Triple-Stream (3x3) on the 5 Ghz Band. Same as the TL-WDR4310 Released earlier this year in China.+Advertised as 750 Mbps it is Dual-Stream (2x2) on the 2.4 Ghz Band and Triple-Stream (3x3) on the 5 Ghz Band. Same as the TL-WDR4310 Released earlier this year in China.
FCC ID = TE7WDR4300. FCC ID = TE7WDR4300.
 +
 +Related to TL-3600, which has only two instead of three antennas.
 +
Manufacturer product page is [[http://www.tplink.com/en/products/details/?categoryid=2166&model=TL-WDR4300|here]], while the support download page is [[http://www.tplink.com/en/support/download/?model=TL-WDR4300&version=V1#tbl_j|here]]. Manufacturer product page is [[http://www.tplink.com/en/products/details/?categoryid=2166&model=TL-WDR4300|here]], while the support download page is [[http://www.tplink.com/en/support/download/?model=TL-WDR4300&version=V1#tbl_j|here]].
The version 1.1 unit appears to use a SiGe SE2574L WFEs for 2.4 Ghz (20 dBm output) and SiGe SE5005L WFEs for 5 Ghz (18 dBm output) The version 1.1 unit appears to use a SiGe SE2574L WFEs for 2.4 Ghz (20 dBm output) and SiGe SE5005L WFEs for 5 Ghz (18 dBm output)
 +
 +**WARNING:** At least some of these routers seem to have unstable wifi in 12.09. They're hit by bugs [[https://dev.openwrt.org/ticket/12372|12372]] and [[https://dev.openwrt.org/ticket/13966|13966]].
 +
 +**NOTE:** The ethernet switch in this device, AR8327N, is working fine with the OpenWRT default configuration. But some of the more advanced functions of the switch are is not yet fully supported by the driver in 12.09. Most notably, a port cannot be tagged in some VLAN's and untagged in another, see [[https://dev.openwrt.org/ticket/12181|Bug 12181]]. A patch exists, but is not yet included in Trunk due to compatibility issues with older hardware.
 +
 +{{:meta:icons:tango:dialog-warning.png?nolink |Warning!}}**WARNING:** Security warning: unpatched http/tftp backdoor in **original** firmware: [[http://sekurak.pl/tp-link-httptftp-backdoor/]]
 +
===== Supported Versions ===== ===== Supported Versions =====
-^ Version/Model ^ S/N ^ Release Date ^ OpenWrt Version Supported ^ Model Specific Notes ^ +^ Version/Model ^ S/N ^ Board ID ^ Release Date ^ OpenWrt Version Supported ^ Model Specific Notes ^ 
-| v1.0 | - | 2012/02 | trunk [[https://dev.openwrt.org/changeset/32683|r32683]]  | [[.:TL-WDR4310|TP-Link TL-WDR4310]].| +| v1.0 | - | - | 2012/02 | trunk [[https://dev.openwrt.org/changeset/32683|r32683]]  | [[.:TL-WDR4310|TP-Link TL-WDR4310]].| 
-| v1.1 | - | 2012/06 | trunk [[https://dev.openwrt.org/changeset/32461|r32461]] | Similar to [[.:TL-WDR4310|TP-Link TL-WDR4310]]| +| v1.1 | - | - | 2012/06 | trunk [[https://dev.openwrt.org/changeset/32461|r32461]] | Similar to [[.:TL-WDR4310|TP-Link TL-WDR4310]]| 
-| v1.3 | - | 2012/11 | reported to work with trunk [[https://dev.openwrt.org/changeset/34122|r34122]] | Similar to [[.:TL-WDR4310|TP-Link TL-WDR4310]]|+| v1.2 | - | - | 2012/11 | [[http://downloads.openwrt.org/attitude_adjustment/12.09-rc1/ar71xx/generic/|Attitude Adjustment 12.09 RC1]] | Similar to [[.:TL-WDR4310|TP-Link TL-WDR4310]]| 
 +| v1.3 | - | - | 2012/11 | [[http://downloads.openwrt.org/attitude_adjustment/12.09-rc1/ar71xx/generic/|Attitude Adjustment 12.09 RC1]] and [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/|Attitude Adjustment 12.09 Final]] | Confirmed working with **Attitude Adjustment 12.09 Final**.\\ Similar to [[.:TL-WDR4310|TP-Link TL-WDR4310]]| 
 +| v1.4 | - | - | 2013/04 | trunk [[https://dev.openwrt.org/changeset/36676|r36676]] | NEED to Toggle HW Wifi switch after first flash | 
 +| v1.5 | - | - | 2013/? | trunk [[https://dev.openwrt.org/changeset/37374|r37374]] | NEED to Toggle HW Wifi switch after first flash. Similar to v1.4, released between 2013/04 & 2013/07 | 
 +| v1.6 | - | - | 2013/08 | trunk [[https://dev.openwrt.org/changeset/37759|r37759]] and [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/|Attitude Adjustment 12.09 Final]] | Confirmed working with **Attitude Adjustment 12.09 Final**. | 
 +| v1.7 | - | 2050500272 rev 1.3 | 2014/01 | trunk [[https://dev.openwrt.org/changeset/39422|r39422]] | **Attitude Adjustment** does not work. [[https://forum.openwrt.org/viewtopic.php?pid=224008#p224008|more info]].  [[https://forum.openwrt.org/viewtopic.php?id=48226|General discussion]].  [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin|Attitude Adjustment 12.09 Final SquashFS Factory]] works for me.  This appears to be a problem only some people are experiencing. I was able to get Attitude Adjustment working fine with some fanagling [[https://forum.openwrt.org/viewtopic.php?pid=228641#p228641| this is how]]| 
 + 
 +The latest firmware available is the release build [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/|Attitude Adjustment 12.09 Final]] or the trunk build [[http://downloads.openwrt.org/snapshots/trunk/ar71xx/|Barrier Breaker]], with working ethernet and dual-band wireless (disabled by default). If your wireless cannot be enabled when using wide channel modes, this may be due to the friendly neighbour "feature" that prohibits operation of such a mode and you may have to use the standard modes before wireless can be enabled.
===== Hardware Highlights ===== ===== Hardware Highlights =====
-^ CPU ^ Flash ^ RAM ^ Network ^ WAN ^ USB ^ Serial ^ JTag ^ +^ CPU ^ Flash ^ RAM ^ Network ^ WAN ^ USB ^ Serial ^ JTag ^ VLANs
-| Atheros AR9344@560MHz  | 8MB | 128MB | 4x1 GigE | 1x1 GigE WAN| x2 v2.0| Yes | Yes |+| Atheros AR9344@560MHz  | 8MB | 128MB | 4x1 GigE | 1x1 GigE WAN| x2 v2.0| Yes | Yes | 128 | 
===== Installation ===== ===== Installation =====
-  - [[doc:howto:obtain.firmware]] You //need// to download a trunk snapshot image with factory and SquashFS in the Name+  - It is recommended to update to the latest stock firmware before instalation. This firmware features bootloader with handy TFTP recovery mode -> [[#flashing.via.tftp]], [[#de-brick.or.oem.installation.using.the.tftp.recovery]] 
- - [[doc:howto:generic.flashing]] Now write this firmware-file onto the flash-chip of your device+  - [[doc:howto:obtain.firmware]] Download a pre-compiled release image [[http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/|Attitude Adjustment 12.09]] or trunk image [[http://downloads.openwrt.org/snapshots/trunk/ar71xx/|Barrier Breaker]], look for openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin. The precompiled images does not activate the wireless feature by default (you will have to use ethernet for the initial configuration)
 +**NOTE:** Trunk images dont have luci you must install manually [[doc:howto:luci.essentials]]
-  * Download a precompiled [[http://downloads.openwrt.org/snapshots/trunk/ar71xx/|trunk image]], look for openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin. The precompiled trunk snapshot images neither include the wireless kernel modules, nor LuCI. To use wifi, you need to install kmod-ath9k and regenerate the configuration, see [[doc:uci:wireless|wireless configuration]]. LuCI can be installed via "opkg update && opkg install luci-mod-admin-full", once you have a working internet connection.+**NOTE:** Images with "-il-" in the name is specialised for devices sold in Israel, e.g. openwrt-ar71xx-generic-tl-wdr4300-v1-il-squashfs-factory.bin. For devices in Israel, try flashing the original image first. In case of failure (where the hardware ID does not match the existing firmware), fallback to the "-il-" image. There is no difference between the images otherwise. See [[http://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg17573.html|this thread]] for details. 
 +  - [[doc:howto:generic.flashing]] Now write this firmware-file onto the flash-chip of your device 
 +(For a brand new router, you could just use the vendor web UI to flash the .bin image) 
 +  * To use wifi, you need to activate wifi in the configuration, see [[doc:uci:wireless|wireless configuration]].
  * You can always [[doc:howto:obtain.firmware.generate|build]] your own image based on Attitude Adjustment/ trunk. Choose Atheros AR71xx/AT7240/AR913x platform and use the "TP-LINK TL-WDR4300 board support" profile.   * You can always [[doc:howto:obtain.firmware.generate|build]] your own image based on Attitude Adjustment/ trunk. Choose Atheros AR71xx/AT7240/AR913x platform and use the "TP-LINK TL-WDR4300 board support" profile.
 +
 +Images for the TP-Link 3600 are largely compatible with a simple modification to the header of the firmware image. The PCB for both models is identical, or close to identical. The third external antenna on the 4300 is on the PCB of the 3600, but not connected to an external antenna.
 +
 +**WARNING:** Do not flash the sysupgrade firmware via the vendor firmware web interface - only the 'factory' images should be flashed from the vendor firmware.
 +
 +==== Flashing via TFTP =====
 +
 +Pressing the WPS/Reset button during powerup makes the bootstrap loader enter the TFTP recovery mode. The procedure can be used to transfer a firmware image:
 +  - assign 192.168.0.66 to your local network interface (the router uses 192.168.0.86)
 +  - publish a firmware image via tftp: ''cp openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin /srv/tftp/wdr4300v1_tp_recovery.bin''
 +  - configure your tftp server
 +  - wait for the firmware transfer and subsequent reboot
 +
==== Upgrading OpenWrt ==== ==== Upgrading OpenWrt ====
-If OpenWrt is already installed and you wish to upgrade to a newer OpenWRT,+If OpenWrt is already installed and you wish to upgrade to a newer version, you have two methods available:
-  * Login as root via ssh+  - Flash Overwrite 
 +  - Generic Sysupgrade 
 + 
 +(prior to actual flashing given availability of a serial console it's a nice idea to do dry runs, by ad-hoc RAM booting a factory.bin from a TFTP host server, via uboot "tftp" + "bootm", served via WDR3600's default 6F01A8C0.img filename). 
 + 
 +=== Flash Overwrite === 
 + 
 +  * Login as root via SSH
  * Check memory usage with the //free// or //top// commands. The image can be up to 8MB, so only proceed if you have as much free RAM as the image size plus 6-8MB; this should not be a problem on a device with 128 MB RAM.   * Check memory usage with the //free// or //top// commands. The image can be up to 8MB, so only proceed if you have as much free RAM as the image size plus 6-8MB; this should not be a problem on a device with 128 MB RAM.
  * An easy way to free up some RAM is to delete the symlinks to ///etc/modules.d/20-cfg80211//, ///etc/modules.d/21-mac80211//,  ///etc/modules.d/2*-ath*// and ///etc/modules.d/[4-9]*-*// and reboot. Drop caches can be useful too:   * An easy way to free up some RAM is to delete the symlinks to ///etc/modules.d/20-cfg80211//, ///etc/modules.d/21-mac80211//,  ///etc/modules.d/2*-ath*// and ///etc/modules.d/[4-9]*-*// and reboot. Drop caches can be useful too:
<code> <code>
-root@OpenWrt:/# echo 3 > /proc/sys/vm/drop_caches+echo 3 > /proc/sys/vm/drop_caches
</code> </code>
Line 41: Line 83:
<code> <code>
-root@OpenWrt:/# mtd -r write /tmp/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin firmware+cd /tmp 
 +wget http://domain.tld/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin 
 +mtd -r write /tmp/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin firmware 
 +</code> 
 + 
 +=== Generic Sysupgrade === 
 + 
 + 
 +Alternately, you can follow the [[doc:howto:generic.sysupgrade]] procedure. Don't forget to populate your ''/etc/sysupgrade.conf'' first. 
 + 
 +=== mtd-utils === 
 + 
 +For systems where OpenWrt mtd is not available, mtd-utils commands need to be used (subsequent commands boldly assume that it's mtd5 which equals the "firmware" mtd partition name - cat /proc/mtd to verify!!): 
 +<code> 
 +flash_eraseall /dev/mtd5 
 +nandwrite /dev/mtd5 /tmp/openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin
</code> </code>
 +(write operation will take about 5 minutes to complete)
-FIXME (untested) Alternately you can use [[doc:howto:generic.sysupgrade]] command (don't forget to populate your ''/etc/sysupgrade.conf'' first).+Note that output of newer mtd-utils flash_eraseall recommends using "flash_erase <dev> 0 0" instead (did not test it).
==== Flash Layout ==== ==== Flash Layout ====
Line 71: Line 129:
==== Failsafe mode ==== ==== Failsafe mode ====
-Power up your router. When the 'SYS' light starts to blink you have about 1 seconds to press the WPS/Reset button on the back-left of the router and hold it until the blinking gets faster.+Power up your router. When the 'SYS' light (asterisk symbol right of the power light) starts to blink, immediately push the WPS/Reset button on the back-left of the router for a short time (>1 sec). The 'SYS' light should now start to blink very fast. 
 + 
 +On a TL-WDR4300 Ver 1.6 and Barrier Breaker Bleeding Edge, r39211, the above instructions were not terribly successful. The only way that I was able to get the router into failsafe mode was to quickly and repeatedly press the WPS/Reset button //starting before the front panel "star" LED started flashing. //When that LED finally lit, it appeared to go directly into the rapid-flashing "failsafe" indication. If the WPS LED lights (rightmost, "yin-yang arrows"), it may be that you started clicking the button a little early in the boot sequence.
For what you can do in failsafe, go to the [[doc:howto:generic.failsafe|OpenWrt Failsafe Mode]] page. For what you can do in failsafe, go to the [[doc:howto:generic.failsafe|OpenWrt Failsafe Mode]] page.
Line 94: Line 154:
</code> </code>
(Note: File size should now be exactly: 8,126,464 Bytes) (Note: File size should now be exactly: 8,126,464 Bytes)
 +
 +Other caveats (from vendor web UI):
 +  * If the firmware path is too short, it will fail with the incorrect error 'firmware path too long'. For instance, flashing c:\openwrt.bin will not work.
 +  * If the firmware path is too long, it will fail with the error 'firmware path too long'.
Now follow -> [[doc:howto:generic.uninstall]] Now follow -> [[doc:howto:generic.uninstall]]
 +==== de-brick or OEM installation using the TFTP recovery ====
 +
 +The latest stock firware (3.13.33(130617)) features a TFTP recovery client in bootloader. To activate it press and hold WPS/Reset Button during powering on until WPS LED turns on. Connect computer to LAN1. Using TCPdump, you should see ARP requests from router having address 192.168.0.86 looking for address 192.168.0.66.
 +
 +<code># tcpdump -ni eth0 arp
 +ARP, Request who-has 192.168.0.66 tell 192.168.0.86, length 46</code>
 +
 +Set up your computer to address 192.168.0.66, netmask /24 (255.255.255.0).
 +
 +<code>
 +# ip addr add dev eth0 192.168.0.66/24
 +</code>
 +
 +Using TCPdump, you should now see request for new firmware image:
 +
 +<code>
 +# tcpdump -npi eth0 udp
 +IP 192.168.0.86.2195 > 192.168.0.66.69:  44 RRQ "wdr4300v1_tp_recovery.bin" octet timeout 5
 +</code>
 +
 +Rename factory image to given name and put it into TFTP server root.
 +-> [[doc:howto:generic.flashing.tftp]]
 +
 +:!: In case you are flashing back original firmware, make sure original firmware image name does not contain word ''**boot**'' -> [[#back.to.original.firmware]].
 +
 +<code># cp openwrt-ar71xx-generic-tl-wdr4300-v1-squashfs-factory.bin wdr4300v1_tp_recovery.bin
 +# atftpd --no-fork --daemon .</code>
 +
 +After downloading, the flashing starts immediately. After cca. 1 minute, the router reboots automatically.
==== de-brick or OEM installation using the TFTP and RS232 (serial) method ==== ==== de-brick or OEM installation using the TFTP and RS232 (serial) method ====
Line 114: Line 207:
  - copy your desired openwrt image for the tplink-4300 into your tftp server folder and rename it into openwrt.bin (to save some typing within the flash procedure)   - copy your desired openwrt image for the tplink-4300 into your tftp server folder and rename it into openwrt.bin (to save some typing within the flash procedure)
  - first goal is to get the command prompt from the u-boot bootloader on your router   - first goal is to get the command prompt from the u-boot bootloader on your router
 +  - you should only plug in the serial into the router's serial port AFTER it initialises for a split second after powering on BUT BEFORE Autobooting starts otherwise it might hang at the initialisation process
  - plug in your router and be ready to type ''tpl'' & hit ENTER after you see the line ''Autobooting in 1 seconds'':   - plug in your router and be ready to type ''tpl'' & hit ENTER after you see the line ''Autobooting in 1 seconds'':
Line 232: Line 326:
db12x> reset db12x> reset
</code> </code>
 +
 +===== Specific Configuration =====
 +==== Interfaces ====
 +
 +The default network configuration is:
 +^ Interface Name ^ Description ^ Default configuration ^
 +| br-lan | LAN & WiFi | 192.168.1.1/24 |
 +| vlan0 (eth0.0) | LAN ports (1 to 4) | None |
 +| vlan1 (eth0.1) | WAN port | DHCP |
 +| ? | WiFi | Disabled |
 +
 +==== Switch Ports (for VLANs) ====
 +Numbers 2-5 are Ports 1-4 as labeled on the unit, number 1 is the Internet (WAN) on the unit, 0 is the internal connection to the router itself.
 +^ Port ^ Switch port ^
 +| CPU  | 0 |
 +| WAN  | 1 |
 +| LAN 1 | 2 |
 +| LAN 2 | 3 |
 +| LAN 3 | 4 |
 +| LAN 4 | 5 |
 +| (not used) | 6 |
 +
 +The switch ports may turn out to be not properly bridged in a default bootup config, causing connection failure.
 +In this case you need to setup /etc/config/network or do manual swconfig setup - see [[http://wiki.openwrt.org/toh/buffalo/wbmr-hp-g300h#wired.stations.cannot.ping.each.other]] and [[http://wiki.openwrt.org/doc/uci/network/switch]] for advice.
 +
 +===== Bootloader Mods =====
 +  - you could read about [[doc:techref:bootloader]] in general and about [[doc:techref:bootloader:uboot|Das U-Boot]] in particular.
 +
 +==== U-Boot 1.1.4 modification for routers ====
 +Forum member [[https://forum.openwrt.org/profile.php?id=72549|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 [[https://github.com/pepe2k/u-boot_mod|GitHub repository]].
 +
 +This modification started from [[http://code.google.com/p/wr703n-uboot-with-web-failsafe/|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: [[https://github.com/pepe2k/u-boot_mod|U-Boot 1.1.4 modification for routers]]
 +  * Discussion about this project on [[https://forum.openwrt.org/viewtopic.php?id=43237|OpenWrt forum]]
 +  * An article (in Polish) about one of the first version of this project on [[http://www.tech-blog.pl/2013/03/29/zmodyfikowany-u-boot-dla-routerow-tp-link-z-atheros-ar9331-z-trybem-aktualizacji-oprogramowania-przez-www-i-konsola-sieciowa-netconsole/|www.tech-blog.pl]]
 +
 +==== Original bootloader settings ====
 +(for 1.7, at least)
 +<code>
 +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=0xXX:0xXX:0xXX:0xXX:0xXX:0xXX
 +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
 +db12x>
 +</code>
 +
 +Changing variables through '''setenv''' doesn't seem to make the changes stick, unfortunately.
===== Hardware ===== ===== Hardware =====
==== Info ==== ==== Info ====
-| **[[wp>Instruction set|Architecture]]:**    | [[wp>MIPS architecture|MIPS]] MIPS 74Kc | +| **[[wp>Instruction set]]:**    | [[wp>MIPS architecture|MIPS]] MIPS 74Kc | 
-| **Vendor:**         | [[wp>Qualcomm Atheros]] |+| **Vendor:**                   | [[wp>Qualcomm Atheros]] |
| **[[doc:techref:Bootloader]]:**    | [[doc:techref:bootloader:uboot|U-Boot]] | | **[[doc:techref:Bootloader]]:**    | [[doc:techref:bootloader:uboot|U-Boot]] |
| **[[doc:hardware:soc|System-On-Chip]]:**  | AR9344 (MIPS) | | **[[doc:hardware:soc|System-On-Chip]]:**  | AR9344 (MIPS) |
| **[[doc:hardware:cpu|CPU]]/Speed**        | 560 MHz | | **[[doc:hardware:cpu|CPU]]/Speed**        | 560 MHz |
-| **Flash-Chip:**     | Spansion FL064KIF [[http://www.spansion.com/Products/Serial-Flash/Pages/Spansion%20FL.aspx|docs]] | +| **Flash-Chip:**               | Spansion FL064KIF [[http://www.spansion.com/Products/Serial-Flash/Pages/Spansion%20FL.aspx|docs]] | 
-| **Flash size:**     | 8192 KiB | +| **Flash size:**               | 8192 KiB | 
-| **RAM:**             | 128 MiB  | +| **RAM:**                     | 128 MiB  | 
-| **Wireless:**       | Atheros AR9340 2.4GHz 802.11bgn | Atheros AR9580 5GHz 802.11an +| **Wireless No1:**             | SoC-integrated: Atheros AR9340 2x2 MIMO for 2.4GHz 802.11b/g/n 
-| **RegDomain:**       | US | US +| **Wireless No2:**             | separate Chip: Atheros AR9580 5GHz 802.11an 3x3 MIMO for 5GHz 802.11a/n 
-| **Ethernet:**       | Atheros AR8327N Gigabit Switch +| **[[doc:hardware:Switch]]:** | Atheros AR8327N
-| **USB:**            | Yes 2 x 2.0     |+| **USB:**            | Yes 2 x 2.0 (GL850G chip - 4 port's capable)    |
| **[[doc:hardware:port.serial|Serial]]:**          | [[#Serial|Yes]] | | **[[doc:hardware:port.serial|Serial]]:**          | [[#Serial|Yes]] |
| **[[doc:hardware:port.jtag|JTAG]]:**            | [[#JTAG|Yes]]  | | **[[doc:hardware:port.jtag|JTAG]]:**            | [[#JTAG|Yes]]  |
Line 267: Line 425:
| **Inner diameter**| 2.1mm | | **Inner diameter**| 2.1mm |
| **Length of the shaft** | 9.5mm | | **Length of the shaft** | 9.5mm |
 +
 +
 +=== GPIO ===
 +-> [[doc:hardware:port.GPIO]]
 +The AR933x platform provides 30 GPIOs. Some of them are used by the router for status LEDs, buttons and other stuff. The table below shows the results of some investigation:
 +
 +^        ^              ^            ^  Voltage level at GPIO in output-mode  ^^  gpioX/value in input-mode when GPIO is: ^^^
 +^  GPIO  ^  Common Name  ^  PCB Name  ^  gpioX/value=1  ^ gpioX/value=0        ^  Floating  ^  Pulled to GND  ^  Pulled to Vcc  ^
 +|      0 |      |  |                |                      |            |                |                  |
 +|      1 |              |            |                |                      |            |                |                  |
 +|      2 |              |            |                |                      |            |                |                  |
 +|      3 |              |            |                |                      |            |                |                  |
 +|      4 |              |            |                |                      |            |                |                  |
 +|      5 |              |            |                |                      |            |                |                  |
 +|      6 |              |            |                |                      |            |                |                  |
 +|      7 |              |  |                |                      |            |                |                  |
 +|      8 |    | |                |                      |            |                |                  |
 +|      9 |              |            |                |                      |            |                |                  |
 +|    10 |              |            |                |                      |            |                |                  |
 +|    11 | LED USB1    | DS8,R313          |                |                      |            |                |                  |
 +|    12 | LED USB2    | DS8,R314          |                |                      |            |                |                  |
 +|    13 | LED WLAN2G  | DS6          |                |                      |            |                |                  |
 +|    14 | LED System  | DS4          |                |                      |            |                |                  |
 +|    15 | LED QSS    | DS5          |                |                      |            |                |                  |
 +|    16 | WPS Button  |            |                |                      |            |                |                  |
 +|    17 | WiFi Switch  |            |                |                      |            |                |                  |
 +|    18 | External LNA0 |            |                |                      |            |                |                  |
 +|    19 | External LNA1 |            |                |                      |            |                |                  |
 +|    20 |                |            |                |                      |            |                |                  |
 +|    21 |  USB2 Power  |            |                |                      |            |                |                  |
 +|    22 |  USB1 Power  |            |                |                      |            |                |                  |
 +
 +To make the GPIOs available via sysfs, the required ones have to be exported to userspace, as it is explained on a page of the [[http://squidge.sourceforge.net/gpio/|Squidge-Project]]. Kernel modules occupying that resource need to be removed before (e.g. "leds-gpio" and "gpio-buttons"). In output-mode, voltage levels of the GPIOs were measured against GND, after the value 1 or 0 had been written to /sys/class/gpio/gpioX/value. In input-mode, the value of the file /sys/class/gpio/gpioX/value was read when the GPIO was floating (initial state), pulled to GND or pulled to Vcc.
 +
 +The 5GHz LED seems not to be controlled via GPIO.
 +
 +==== 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.
 +
 +{{:media:gl850g.png|}}
 +
 +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.
 +
 +{{:media:tplinkwrd3600-usbmod-small.jpg|}}
 +{{:media:tplinkwrd3600-usbmod1-small.jpg|}}
 +
==== Photos ==== ==== Photos ====
{{:toh:tp-link:tplink-4300_with-serial.jpg|}} {{:toh:tp-link:tplink-4300_with-serial.jpg|}}
 +==== Opening The Case (V 1.1) ====
 +
 +Remove the 4 screws on the bottom of the case.
 +
 +The top is clipped to the bottom of the case at 9 attachment points:
 +3 on each side of the case, 1 on the back, and 2 on the front.
 +Each attachment point consists of two pins which fit into holes in tabs
 +which protrude from the other half of the case.  All of the tabs are
 +on the bottom of the case, with the exception of the case back, where the
 +single tab is in the center of the top of the case.
 +
 +One method known to
 +work, once, is to start at one of the rear corners.  The corner by
 +the ethernet ports seems to work best.  Gently flex the
 +case and slightly separate the top from the bottom at the
 +corner by lifting on, or
 +inserting a fingernail or other thin object into, the crack
 +above the antenna.  While doing this insert the tip of a knife
 +blade (upward, given the geometry as the unit normally sits) into the
 +crack between the two halves along the side of the case toward the rear. 
 +This will force the pins in the top of the case outward, flex the tab
 +protruding from the bottom of the case inward, and free the pins
 +from the tab.  If necessary the knife tip may be levered slightly toward
 +the case interior after insertion.  Due to the force
 +separating the top of the case from the
 +bottom near the antenna, the pins should pop out of the tab located
 +on the case side near the rear, lift slightly upward, and remain free.
 +
 +Continue to free the other tabs, first working from the rear corner toward the front of the case, then across the front of the case, and finally from the front of the case toward the rear along the opposite side.  The two halves of the case will then separate without having to work at freeing the last attachment point at the rear of the case.
 +
 +With care, this method leaves no marks on the case.
 +===== Serial console =====
 +
 +Serial console is available on the J1 (1.7) connector, 3.3v signals.
 +
 +1 = TX out \\
 +2 = RX in \\
 +3 = GND \\
 +4 = VCC 3.3V \\
 +**DO NOT CONNECT VCC**. Use only TX/RX/GND.
 +
 +Baud Rate: 115200\\
 +Data Bits: 8\\
 +Parity: No\\
 +Stop Bits: 1\\
 +
 +To break bootstrap sequence, type '''tpl''' during the 1-second boot delay.
 +
 +Factory firmware login credentials are not known at this time (it's not root/5up as with other tp-link models).
===== TP-Link TL-WDR4310 Version 1.0 forum thread ===== ===== TP-Link TL-WDR4310 Version 1.0 forum thread =====
[[https://forum.openwrt.org/viewtopic.php?id=36534]] [[https://forum.openwrt.org/viewtopic.php?id=36534]]
 +
 +===== Add-ons of the Router TL-WDR4300 =====
 +  * [[http://nixorids.blogspot.com/2013/03/installing-packages-into-usb-on-tl.html|Installing packages into the USB storage]]
 +
 +  * [[http://nixorids.blogspot.com/2013/03/wireless-adapter-tl-wn7200nd-with.html|Adding a USB wireless adapter to the router]]
 +
 +===== Performance test with trunk/r35995=====
 +Tested with |__http over nginx__|<-//wan//-|__wdr4300__|<-//lan//-|__Client__|
 +| mbit | mode |
 +| ~880 | switched |
 +| ~400 | routed |
 +| ~300 | nat |
===== Tags ===== ===== Tags =====
-{{tag>GigabitEthernet 5Port 2PHY USB 2USB JTAG 802.11bgn ath9k AR9344 802.11abgn_simultan 3Ant DetachableAntenna 128RAM 8Flash MIPS MIPS32 74Kc DB120}}+{{tag>GigabitEthernet 2NIC 2WNIC 5Port USB 2USB JTAG 802.11bgn ath9k AR9344 AR9580 802.11abgn_simultan 3Ant DetachableAntenna 128RAM 8Flash MIPS MIPS32 74Kc DB120}}

Back to top

toh/tp-link/tl-wdr4300.1352838362.txt.bz2 · Last modified: 2012/11/13 21:26 by olmari