User Tools

Site Tools



Wireless router with detachable antenna, upgradable with OpenWrt. Follow the instructions on the OpenWrt wiki. My model is V.4.22, purchased in Italy.


CPU Atheros AR9330
RAM 32 Mb
Flash 4 Mb
Default login/password admin/admin
OpenWrt version tested 14.07 (Barrier Breaker) Bleeding Edge, r39638

First OpenWrt installation

This is the recipe to install OpenWrt, I used trunk (BARRIER BREAKER, Bleeding Edge, r39638):

  1. Reset the router to the factory defaults.
  2. Download the *-factory.bin firmware image to a networked PC.
  3. Connecto to, login with admin admin and use the web-based procedure to upgrade the firmware, uploading the above image.
  4. Connect with telenet and set the root password.
  5. Connect with ssh root@

OpenWrt upgrade

  1. Download the *-sysupgrade.bin firmware image into the /tmp directory of the router, rename it as tplink.bin.
  2. Execute mtd -r write /tmp/tplink.bin firmware.

Exploring the system

# cat /proc/cpuinfo
system type             : Atheros AR9330 rev 1
machine                 : TP-LINK TL-WR741ND v4
processor               : 0
cpu model               : MIPS 24Kc V7.4
BogoMIPS                : 265.42
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 16
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0000, 0x0900, 0x0120, 0x0088]
isa                     : mips1 mips2 mips32r1 mips32r2
ASEs implemented        : mips16
shadow register sets    : 1
kscratch registers      : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available
# free
             total         used         free       shared      buffers
Mem:         28908        27632         1276            0         1716
-/+ buffers:              25916         2992
Swap:            0            0            0
# cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 00020000 00010000 "u-boot"
mtd1: 00104e2c 00010000 "kernel"
mtd2: 002cb1d4 00010000 "rootfs"
mtd3: 00100000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 003d0000 00010000 "firmware"

We need OpenVPN and some other extra packages. Due low flash space we opted for libpolarssl SSL implementation, there is not enough space for the LuCI web interface:

  • coreutils, coreutils-base64
  • etherwake, wol
  • kmod-tun, libbz2, liblzo, libpolarssl, openvpn-polarssl, zlib
  • libpcap, tcpdump-mini

This is the free space (84 kb) after installing them:

# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.0M    940.0K     84.0K  92% /
/dev/root                 1.8M      1.8M         0 100% /rom
tmpfs                    14.1M     64.0K     14.1M   0% /tmp
/dev/mtdblock3            1.0M    940.0K     84.0K  92% /overlay
overlayfs:/overlay        1.0M    940.0K     84.0K  92% /
tmpfs                   512.0K         0    512.0K   0% /dev

Some interesting lines from dmesg:

Memory: 28644k/32768k available (2325k kernel code, 4124k reserved, 607k data, 264k init, 0k highmem)

ar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11) is a AR933X UART
console [ttyATH0] enabled, bootconsole disabled

m25p80 spi0.0: en25q32b (4096 Kbytes)
5 tp-link partitions found on MTD device spi0.0

ag71xx-mdio.1: Found an AR7240/AR9330 built-in switch
eth0: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY]
eth1: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
doc/appunti/hardware/tl-wr741nd.txt · Last modified: 2021/02/26 10:22 by niccolo