User Tools

Site Tools


toh:tp-link:tl-wdr4900

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
toh:tp-link:tl-wdr4900 [2014/08/09 08:14]
zo0ok
toh:tp-link:tl-wdr4900 [2015/05/06 15:10] (current)
theoradicus BB is released and has a WEB UI
Line 21: Line 21:
 ===== Supported Versions ===== ===== Supported Versions =====
 ^ Version/​Model ^ S/N ^ Release Date ^ OpenWrt Version Supported ^ Model Specific Notes ^ ^ Version/​Model ^ S/N ^ Release Date ^ OpenWrt Version Supported ^ Model Specific Notes ^
-| v1.0 world-wide | - | 2013-01-22 | trunk [[https://​dev.openwrt.org/​changeset/​36051|r36051]]  ​| Freescale PPC w/2 Atheros radio chips 3 internal antennas (2.4Ghz) and 3 external antennas (5Ghz) | +| v1.0 world-wide | - | 2013-01-22 | Barrier Breaker 14.07 | Freescale PPC w/2 Atheros radio chips 3 internal antennas (2.4Ghz) and 3 external antennas (5Ghz) | 
-| v1.3 world-wide | - | 2013 | Barrier Breaker ​RC2 | http://​downloads.openwrt.org/​barrier_breaker/​14.07-rc2/​mpc85xx/​generic/​ | +| v1.3 world-wide | - | 2013 | Barrier Breaker ​14.07 | http://​downloads.openwrt.org/​barrier_breaker/​14.07/​mpc85xx/​generic/​ | 
-| v2.0 PRC only   | - | 2013-01-22 | trunk [[https://​dev.openwrt.org/​changeset/​39637|r39637]] ​| 6 external antennas, available in PRC only. http://​downloads.openwrt.org/​snapshots/trunk/ar71xx/ |+| v2.0 PRC only   | - | 2013-01-22 | Barrier Breaker 14.07 | 6 external antennas, available in PRC only. https://​downloads.openwrt.org/​barrier_breaker/14.07/ar71xx/generic/ |
  
-Barrier Breaker RC2 appears to work fine on v1.3. If you have success or problems with v1.0 or 2.0, please add information here, or post to forum. Note that BB RC2 comes without Luci (the Web GUI) preinstalled. 
  
 ===== Hardware ===== ===== Hardware =====
Line 80: Line 79:
 OpenWRT may be installed [[doc/​howto/​generic.flashing#​method.1via.oem.firmware|via OEM firmware]] on both versions. OpenWRT may be installed [[doc/​howto/​generic.flashing#​method.1via.oem.firmware|via OEM firmware]] on both versions.
  
-v1: [[http://​downloads.openwrt.org/​barrier_breaker/​14.07-rc2/​mpc85xx/​generic/​openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-factory.bin|openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-factory.bin ]]+v1: [[http://​downloads.openwrt.org/​barrier_breaker/​14.07/​mpc85xx/​generic/​openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-factory.bin|openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-factory.bin ]]
  
-      * August 2014: Barrier Breaker RC2 (and RC1) reported to work fine by different users (Luci not in RC) +v2: [[https://​downloads.openwrt.org/​barrier_breaker/14.07/ar71xx/generic/​openwrt-ar71xx-generic-tl-wdr4900-v2-squashfs-factory.bin|openwrt-ar71xx-generic-tl-wdr4900-v2-squashfs-factory.bin]]
-      * July 2014: Problems with unstable Trunk +
-      * June 2014: The latest known stable Trunk is r39430. +
- +
- +
-v2: [[http://​downloads.openwrt.org/​snapshots/trunk/​ar71xx/​openwrt-ar71xx-generic-tl-wdr4900-v2-squashfs-factory.bin|openwrt-ar71xx-generic-tl-wdr4900-v2-squashfs-factory.bin]]+
   * If you do not speak chinese and are not familiar with the standard TP-Link firmware, please see the screen shots below for help.   * If you do not speak chinese and are not familiar with the standard TP-Link firmware, please see the screen shots below for help.
  
Line 257: Line 251:
 === Pre-requisites === === Pre-requisites ===
  
-  * Copy a working & full OpenWrt sysupgrade image into your TFTP server folder (e.g: http://​downloads.openwrt.org/​snapshots/trunk/​mpc85xx/​openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin) so it will be found under the path /​wdr4900v1_tp_recovery.bin You can also use the image used for reverting to stock firmware if you prefer to do so, but it has to be placed under the same path.+  * Copy a working & full OpenWrt sysupgrade image into your TFTP server folder (e.g: https://​downloads.openwrt.org/​barrier_breaker/14.07/mpc85xx/generic/​openwrt-mpc85xx-generic-tl-wdr4900-v1-squashfs-sysupgrade.bin) so it will be found under the path /​wdr4900v1_tp_recovery.bin You can also use the image used for reverting to stock firmware if you prefer to do so, but it has to be placed under the same path.
   * A TFTP server started on your local machine on LAN address 192.168.0.66/​24.   * A TFTP server started on your local machine on LAN address 192.168.0.66/​24.
   * Connect your LAN-port to one of the routers LAN    * Connect your LAN-port to one of the routers LAN 
Line 272: Line 266:
   - Also there'​s a video of the process: http://​www.youtube.com/​watch?​v=54PAS0gvW2k   - Also there'​s a video of the process: http://​www.youtube.com/​watch?​v=54PAS0gvW2k
 ===== Failsafe / reset ===== ===== Failsafe / reset =====
-After all else failed, I found [[http://​www.binaryfriend.ru/​2012/​10/​how-to-hard-reset-openwrt-on-tp-link-1043nd]]. ​ Extremely simple. ​ Please see the original page for more info.  Summary: 
  
-  ​- Power the router up; +On the v1 units, the only way that I have been able to get the router into failsafe mode is 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. 
-  - After powering up track the SYS light when it starts to blink, when it does press and hold the QSS button till SYS lights starts to blink faster – router goes to recovery mode; + 
-  - Telnet to the router on 192.168.1.1 – no password needed (if your computer doesn’t gets IP address from DHCP assign it manually for i.e. 192.168.1.200 with netmask of 255.255.255.0);​ +For what you can do in failsafe, go to the [[doc:​howto:​generic.failsafe|OpenWrt Failsafe Mode]] page. 
-  - In telnet terminal type `mtd -r erase rootfs_data` to reset OpenWRT to it’s defaults.+ 
 + 
 +Another user writes:  
 + 
 +> After all else failed, I found [[http://​www.binaryfriend.ru/​2012/​10/​how-to-hard-reset-openwrt-on-tp-link-1043nd]]. ​ Extremely simple. ​ Please see the original page for more info.  Summary: 
 +
 +>  ​- Power the router up; 
 + - After powering up track the SYS light when it starts to blink, when it does press and hold the QSS button till SYS lights starts to blink faster – router goes to recovery mode; 
 + - Telnet to the router on 192.168.1.1 – no password needed (if your computer doesn’t gets IP address from DHCP assign it manually for i.e. 192.168.1.200 with netmask of 255.255.255.0);​ 
 + - In telnet terminal type `mtd -r erase rootfs_data` to reset OpenWRT to it’s defaults. 
  
 ===== Reverting to stock firmware ===== ===== Reverting to stock firmware =====
Line 283: Line 286:
 You can revert to stock firmware by following these steps: You can revert to stock firmware by following these steps:
  
-  * Download / copy with SCP or wget this firmware to the /tmp folder of the router: [[ftp://everbest.ftpserver.biz/Share/TP-Link/TL-WDR4900%20Firmware/​wdr4900nv1_en_3_14_1_up(130304)_beta.bin]]+  * Download / copy with SCP this firmware to the /tmp folder of the router: [[https://www.dropbox.com/sh/g8dyafqrato12pc/AADtSjx_MVot7asdqeRtvVVza?​dl=0]] 
 +  * Optionally check MD5 hash: 1148EFD09C6D9B07E6A01259A4EBEF72 
 +  * Rename to firmware.bin (less chance for spelling errors and unsupported characters)
   * Open a SSH session to the router, cd to /tmp   * Open a SSH session to the router, cd to /tmp
-  * Execute the following command: mtd -r write wdr4900nv1_en_3_14_1_up(130304)_beta.bin firmware+  * Execute the following command: mtd -r firmware.bin firmware
   * Wait until the router reboots   * Wait until the router reboots
  
 Note: You can only flash this firmware version because it has no BOOT in the filename. This image and OpenWRT images are the exact same size. Other images from TP-Link do have BOOT in the filename and these files are also  Note: You can only flash this firmware version because it has no BOOT in the filename. This image and OpenWRT images are the exact same size. Other images from TP-Link do have BOOT in the filename and these files are also 
-more bytes than this one.+more bytes than this one, then to create your own flashable image, follow the below method: 
 + 
 +In order to create your own bootable file download firmware from TP-Link and execute the following command (change the if= filename in case you downloaded a different version): 
 + 
 +  * dd if=wdr4900nv1_en_3_14_3_up_boot\(130320\).bin of=wdr4900nv1.bin skip=769 bs=512 
 + 
 +You can then transfer the resulting file and flash this using the mtd method described elsewhere in this document. 
 + 
 +  * mtd write wdr4900nv1.bin firmware 
 {{tag>​GigabitEthernet internalantenna 2usb 3x3 450mbps usb2.0 5ghz 5port 16flash 802.11abgn ath9k detachableantenna 6ant 3ant 128ram 802.11abgn_simultan 2WNIC, soc.freescale.mpc}} {{tag>​GigabitEthernet internalantenna 2usb 3x3 450mbps usb2.0 5ghz 5port 16flash 802.11abgn ath9k detachableantenna 6ant 3ant 128ram 802.11abgn_simultan 2WNIC, soc.freescale.mpc}}
 +
  
 ===== Specific Configuration ===== ===== Specific Configuration =====
Line 324: Line 339:
  
 {{:​media:​tplink_wdr4900v2_switch_vlan_tagg.jpg?​900}} {{:​media:​tplink_wdr4900v2_switch_vlan_tagg.jpg?​900}}
 +
 +
 +==== Port Mirroring ====
 +Hardware port mirroring is supported in v1/(v2?) FIXME
 +
 +Here's an example of configuring port mirroring in /​etc/​config/​network for mirroring port 1 to port 5
 +(You may need to restart the router for port mirroring changes to take effect):
 +<​code>​
 +
 +config switch
 + option name '​switch0'​
 + option reset '​1'​
 + option enable_vlan '​1'​
 + option enable_mirror_rx '​1'​
 + option enable_mirror_tx '​1'​
 + option mirror_source_port '​1'​
 + option mirror_monitor_port '​5'​
 +
 +</​code>​
 +
 +===== QEMU test environment =====
 +
 +In case you are interested to run a virtual test environment for your PPC based WDR4900 platform
 +QEMU is a good helper. It cannot run the downloadable kernel image but at least a slightly modfied ​
 +version. Here are the basic steps to get a initial setup up and runnung.
 +
 +Install QEMU for your Linux distribution. It should be at least 2.1.2. The process was only tested ​
 +with that version. Create a [[about:​toolchain|buildroot environment]]. If you do not want to read 
 +every single bit of information over there use these commands. We assume that we only want to
 +build the stable Barrier Breaker version.
 +
 +<​code>​
 +# cd ~
 +# mkdir buildroot
 +# cd buildroot
 +# git clone git://​git.openwrt.org/​14.07/​openwrt.git
 +# cd openwrt
 +# ./​scripts/​feeds update -a
 +# ./​scripts/​feeds install -a
 +</​code>​
 +
 +Select your target platform
 +
 +<​code>​
 +# make menuconfig
 +Target System -> Freescale MPC85xx [*]
 +</​code>​
 +
 +Save changes and leave setup. Create the default configuration for the platform
 +
 +<​code>​
 +# make defconfig
 +</​code>​
 +
 +Activate some essential buildroot configuration options.
 +
 +<​code>​
 +# make menuconfig
 +Target images -> ramdisk [*]
 +Kernel modules -> filesystems -> kmod-fs-ext4 [*]
 +</​code>​
 +
 +Save changes and leave setup. Now head over to kernel configuration and define critical
 +settings that the kernel can run inside QEMU. 
 +
 +<​code>​
 +# make kernel_menuconfig
 +Platform support -> Freescale machine type -> qemu generic platform [*]
 +device drivers -> character devices -> serial drivers -> serial port on open plaform bus [ ]
 +</​code>​
 +
 +If you miss one of the two your VM will not boot or have no accessible console.
 +**Have a look the open firmware serial bus must be disabled!**. Additionally we 
 +should enable drivers to access QEMU disks and network cards
 +
 +<​code>​
 +device drivers -> virtio drivers -> activate all menu items [*]
 +device drivers -> block devices -> Virtio block driver [*]
 +device drivers -> network device support -> virtio network driver [*]
 +</​code>​
 +
 +Create the kernel image with
 +
 +<​code>​
 +make -j 8
 +</​code>​
 +
 +Finally we have a standalone kernel image with an initial root ramdisk included.
 +So we could already start the VM. To get into better shape create a separate folder ​
 +to hold the image and create a QCOW2 disk with a single ext4 filesystem that can 
 +be mounted inside the VM.
 +
 +<​code>​
 +# cd ~
 +# mkdir vm
 +# cd vm
 +# cp ~/​buildroot/​openwrt/​bin/​mpc85xx/​openwrt-mpc85xx-generic-zImage .
 +# qemu-img create -f qcow2 hdd.qcow2 4G
 +# su
 +# modprobe nbd max_part=8
 +# qemu-nbd --connect=/​dev/​nbd0 ./hdd.qcow2
 +# fdisk /dev/nbd0 (... create partition ...)
 +# mkfs.ext4 /dev/nbd0p1
 +# qemu-nbd --disconnect /dev/nbd0
 +# exit
 +</​code>​
 +
 +This is what our VM folder should look like now:
 +
 +<​code>​
 +ls -al ~/vm
 +drwx------. 7 e500 e500      4096 24. Dez 10:02 .
 +drwxr-xr-x. 6 e500 e500      4096 18. Dez 20:31 ..
 +-rw-r--r--. 1 e500 e500 136839168 24. Dez 10:03 hdd.qcow2
 +-rw-r--r--. 1 e500 e500   ​4360017 24. Dez 09:46 openwrt-mpc85xx-generic-zImage
 +</​code>​
 +
 +Now the VM is ready to start.
 +
 +<​code>​
 +qemu-system-ppc -kernel ~/​vm/​openwrt-mpc85xx-generic-zImage \
 +                -nographic -append "​console=ttyS0"​ -m 1024 -M ppce500 \
 +                -drive file=~/​vm/​hdd.qcow2,​if=virtio
 +</​code>​
 +
  
 ===== Other Information Resources ===== ===== Other Information Resources =====
toh/tp-link/tl-wdr4900.1407564866.txt.bz2 · Last modified: 2014/08/09 08:14 by zo0ok