TP-Link TL-WR941ND

The device is a wireless N router with:

  • 2.4Ghz (HT40 capable)
  • 3 detachable antennas
  • 4 Port 100/10 Switch
  • 1 Port 100/10 Wan Interface
  • Unpopulated serial and USB headers
  • 4 MB Flash or 8 MB Flash (v1 is 8 MB)

Supported Versions

Version/Model S/N OpenWrt Version Supported Model Specific Notes
v1 - Backfire 10.03 N/A
v2 - Backfire 10.03 Similar to v1
v3.x - Backfire 10.03.1 Similar to v2
v4 - Backfire 10.03 Similar to tl-wr741nd
v5.1 - Backfire 10.03.1 Similar to v4

It's recommended to use the latest revision from trunk, a lot of development around mac80211 has been done lately. If do not want to build it yourself, a nightly built binary can be downloaded from here.

Hardware Highlights

Version CPU Ram Flash Network USB Serial JTag
v1 AR9132@400MHz 32MB 8MB 4x1 No Yes N/A
v2 AR9132@400MHz 32MB 4MB 4x1 No Yes N/A
v3 AR9132@400MHz 32MB 4MB 4x1 No Yes N/A
v4 AR7240@400MHz 32MB 4MB 4x1 No Yes N/A
v5.1 AR7240@400MHz 32MB 4MB 4x1 No Yes N/A

Installation

One of the easiest routers to be flashed with OpenWRT's firmware because the procedure is done via the default WebGUI.

OEM easy installation

These instructions use as example a v3 model, browse the trunk snapshot repository for the binary that matches your hardware version. Pay also attention that we can find for each model version two similar files, one the -factory and the other one -sysupgrade, on this section we will use the -factory one.

  1. Download the firmware binary from here.
  2. Login to the default WebGUI and flash the router.
  3. Wait for the router to reboot, SYS LED will stop flashing and become static.
  4. Telnet to 192.168.1.1, set a root password and enjoy.

Upgrading OpenWRT

If you have already installed OpenWrt and like to reflash for e.g. upgrading to a new OpenWrt version you can upgrade using the console/terminal. It is important that you put the firmware image into the ramdisk (/tmp) before you start flashing otherwise crazy things can happen.

We will use the -sysupgrade firmware file, for more information about this read the OEM Easy Installation section. To start the upgrade process login to your router using SSH and make sure you've Internet access in order to download the new firmware file.

# cd /tmp
# wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr941nd-v3-squashfs-sysupgrade.bin
# sysupgrade -v /tmp/openwrt-ar71xx-generic-tl-wr941nd-v3-squashfs-sysupgrade.bin

Flashing via UBoot

Warning!
This section describes actions that might damage your device or firmware. Proceed with care!

A 3.3v TTL serial connection is required ! (Forum post) Do not try this method unless you're really sure what you're doing.

ar7100> setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1
ar7100> tftp 0x80800000 openwrt-ar71xx-tl-wr941ndv2-squashfs.uni
ar7100> erase 0xbf020000 +0x3c0000
ar7100> cp.b 0x80800000 0xbf020000 0x3c0000
ar7100> reset

Note #1: 0x3c0000 is the size of the firmware, be aware that you may have a different size thus bricking your router.

Note #2: 0xbf020000 is the from addr, for your device version you can get it by issuing the command: "printenv bootcmd", not doing so will turn your router into a brick.

Revert to original firmware

This procedure was stolen from wr1043nd, it was not tested under wr941nd. (If you sucessfully used them to revert wr941nd please update this section)

Warning!
This section describes actions that might damage your device or firmware. Proceed with care!

Only perform the dd action below if your original firmware has the word "boot" in it, for example, "wr941nv4_en_3_9_17_up_boot(091118).bin". DO NOT dd your original firmware if it has no "boot" in its name, for example, "wr941nv4_en_3_11_5_up(100427).bin", because if you do, you will brick your router ! This was confirmed by supertom64 in wr1043nd.

Cut first 0x20200 bytes from original firmware:

dd if=orig.bin of=tplink.bin skip=257 bs=512

Flash via uboot or mtd, you cannot flash via WebGUI otherwise you will turn your router into brick.

Failsafe mode

If you forgot your password, broken one of the startup scripts, firewalled yourself or corrupted the JFFS2 partition, you can get back in by using OpenWrt's failsafe mode. The root file system in failsafe mode is the SquashFS partition mounted in readonly mode. To switch to the normal writable root file system run mount_root and make any changes.

Boot into failsafe mode

  • Unplug the router's power cord.
  • Connect the router's LAN1 port directly to your PC.
  • Configure your PC with a static IP address between 192.168.1.2 and 192.168.1.254. E. g. 192.168.1.2 (gateway and DNS is not required).
  • Plug the power on and wait for the SYS LED to light up.
  • While the SYS LED is on immediately press the QSS button.
  • If done right the SYS LED will start flashing very quickly.
  • You should be able to telnet to the router at 192.168.1.1 now (no username and password required).

Useful telnet commands

  • mount_root - will mount root filesystem
  • firstboot - all settings will be reseted
  • passwd - change root's password
  • uci get network.lan.ipaddr - show the router's IP address
  • mtd -r erase rootfs_data - clean the JFFS2 partition (use with caution)

Hardware

Info

Architecture: MIPS
Vendor: Atheros
Bootloader: uboot
System-On-Chip: AP81
CPU Speed: 400 Mhz
Flash-Chip: ???
Flash size: 4 MiB
RAM: 32 MiB
Wireless: Atheros AR9103 802.11n
Ethernet: Switch part of SoC
USB: No, but USB port header has been discovered on the board
Serial: Yes
JTAG: N/A

Photos

TODO.

Opening the case

Note: This will void your warranty! These instructions are not very good! (yet…)

  1. There are two screws underneath the rubber feet at the back (were the RJ45 jacks are) of the device. Remove those.
  2. Remove the front plastic piece.
  3. Try to open the white plastic cover at the top only a little bit.
  4. Unhinge the plastic cover at the front.

Main PCB (not V3.2)

serial pin ver: 5.1

Serial

Look at the PCB picture. Serial port is located were the 4 wires are soldered to the board. The left one (green) is soldered to the pad labeled "P1".
Pinout of the port is : |RX|TX|GND|VCC(3.3)| (direction as seen in PCB picture above; Pad "P1" is RX)
Before you can use the serial port you have to bridge R356. (A smd pad right underneath the serial port pad "P1")

PCB WR941ND Ver: 3

Source: DD-WRT

JTAG

TODO

Specific configuration

Interfaces

The default network configuration is:

Interface Name Description Default configuration
br-lan LAN & Wireless 192.168.1.1/24
lan1 LAN port #1 None
lan2 LAN port #2 None
lan3 LAN port #3 None
lan4 LAN port #4 None
wan WAN port DHCP
wlan0 Wireless Disabled

Switch Ports (for VLANs)

TODO.

Buttons

The device has 2 buttons:

  • the reset button at the back
  • the "QSS" labeled button at the front

WiFi

If needed, for wifi install ath9k driver by: opkg update opkg install kmod-ath9k wpad-mini reboot after you rebooted activate wifi by wifi detect

modify wireless config: vi /etc/config/wireless

config should like something like: config wifi-device radio0 option type mac80211 option channel 5 option macaddr 00:27:19:1f:72:54 option hwmode 11ng option htmode HT20 list ht_capab SHORT-GI-40 list ht_capab DSSS_CCK-40 # REMOVE THIS LINE TO ENABLE WIFI: option disabled 0 config wifi-iface option device radio0 option network lan option mode ap option ssid URNETNAME # option encryption none option encryption psk2 option key YourTopSecretPass

Basic configuration

Since this part is identical for all devices, see Basic configuration.

Connect stuff to the USB port

If you have an USB port, please see Connect stuff to the USB port.

Hardware mods

USB

Other Info

Stock firmware

  • You can log in as root using '5up' as password.
  • You can get into U-Boot typing 'tpl' at the 1s pause at the beginning of the boot process.

Credits

Back to top

toh/tp-link/tl-wr941nd.txt · Last modified: 2011/12/13 13:32 by jbo