====== TP-LINK TL-WR741ND ====== Wireless router with detachable antenna, upgradable with OpenWrt. Follow the instructions on the [[http://wiki.openwrt.org/toh/tp-link/tl-wr741nd|OpenWrt wiki]]. My model is V.4.22, purchased in Italy. {{:doc:appunti:hardware:tplink:tl-wr741nd-01.jpg?300|TP-LINK TL-WR741ND}} ^ CPU | Atheros AR9330 | ^ RAM | 32 Mb | ^ Flash | 4 Mb | ^ Default login/password | admin/admin | ^ OpenWrt version tested | 14.07 (Barrier Breaker) Bleeding Edge, r39638 | * [[http://wiki.openwrt.org/toh/tp-link/tl-wr741nd|OpenWrt wiki]] * [[http://downloads.openwrt.org/snapshots/trunk/ar71xx/|Download OpenWrt for ar71xx Trunk]] ===== First OpenWrt installation ===== This is the recipe to install OpenWrt, I used trunk (BARRIER BREAKER, Bleeding Edge, r39638): - Reset the router to the factory defaults. - Download the [[http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-factory.bin|*-factory.bin]] firmware image to a networked PC. - Connecto to ''http://192.168.0.1/'', login with //admin// //admin// and use the web-based procedure to upgrade the firmware, uploading the above image. - Connect with ''telenet 192.168.1.1'' and set the root password. - Connect with ''ssh root@192.168.1.1'' ===== OpenWrt upgrade ===== - Download the [[http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-wr741nd-v4-squashfs-sysupgrade.bin|*-sysupgrade.bin]] firmware image into the /tmp directory of the router, rename it as ''tplink.bin''. - 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