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/04/21 11:27] (current)
swmike added how to create flashable stock firmware image
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.+Note that BB 14.07 comes without Luci (the Web GUI) preinstalled.
  
 ===== Hardware ===== ===== Hardware =====
Line 80: Line 80:
 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 252:
 === 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 267:
   - 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 287:
 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 340:
  
 {{:​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