Show pagesourceOld revisionsBacklinksBack to top × Table of Contents TP-Link TL-WR940N Supported Versions Support for OpenWrt 19.07 Hardware Highlights Installation Recovery information Hardware Photos Debug output v1 Tags TP-Link TL-WR940N This device is NOT RECOMMENDED for future use with OpenWrt due to low flash/ram. DO NOT BUY DEVICES WITH 4MB FLASH / 32MB RAM if you intend to flash an up-to-date and secure OpenWrt version onto it! See 4/32 warning for details. 1) This device does not have sufficient resources (flash and/or RAM) to provide secure and reliable operation. This means that even setting a password or changing simple network settings might not be possible any more, rendering the device effectively useless. See OpenWrt on 4/32 devices what you can do now. 2) OpenWrt support for this device has ended in 2022. 19.07.10 was the last official build for 4/32 devices. The TP-Link WR940N is identical to the TL-WR941ND except that the antennas are not detachable and the hardware version is different. Only for WR940N v4 there seems to be no WR941ND-equivalent, yet. WR940N v1 is a WR941ND v4 WR940N v2 is a WR941ND v5 WR940N v3 is a WR941ND v6 Supported Versions BrandModel↓ VersionCurrent ReleaseOEM InfoForum TopicTechnical DataTP-LinkTL-WR940Nv118.06.9https://www.tp-link.com/en/support/download/tl-wr940n/v1/View/Edit dataTP-LinkTL-WR940Nv218.06.9https://www.tp-link.com/en/support/download/tl-wr940n/v2/View/Edit dataTP-LinkTL-WR940Nv318.06.9http://www.tp-link.com/en/download/TL-WR940N_V3.htmlView/Edit dataTP-LinkTL-WR940Nv418.06.9http://www.tp-link.com/en/download/TL-WR940N_V4.htmlView/Edit dataTP-LinkTL-WR940Nv518.06.9https://www.tp-link.com/en/support/download/tl-wr940n/v5/View/Edit dataTP-LinkTL-WR940Nv618.06.9https://www.tp-link.com/en/products/details/cat-9_TL-WR940N.htmlView/Edit data Version v6.1 can be treated like v6, except for flashing via TFTP (see below). Support for OpenWrt 19.07 Starting with version 19.07.4 OpenWrt supports these routers with the new target ath79-tiny, but standard images will be too large. However, you can build own images using the respective ImageBuilder. For instance, to build an image for TL-WR940N-V6 including LuCI and excluding PPP use the following command, see detailed instructions under build your own image: make image PROFILE=tplink_tl-wr940n-v6 PACKAGES="uhttpd uhttpd-mod-ubus libiwinfo-lua luci-base luci-app-firewall luci-mod-admin-full luci-theme-bootstrap -ppp -ppp-mod-pppoe" Hardware Highlights Model↓ VersionSoCCPU MHzFlash MBRAM MBWLAN HardwareWLAN2.4WLAN5.0100M portsGbit portsModemUSBTL-WR940Nv1Atheros AR7240 rev 2400432Atheros AR9283b/g/n-5--TL-WR940Nv2Atheros AR9341535432Atheros AR9341b/g/n-5-1x HeaderTL-WR940Nv3Qualcomm Atheros TP9343750432Qualcomm Atheros TP9343b/g/n-5--TL-WR940Nv4Qualcomm Atheros TP9343750432Qualcomm Atheros TP9343b/g/n-5--TL-WR940Nv5Qualcomm Atheros TP9343750432Qualcomm Atheros TP9343b/g/n-5--TL-WR940Nv6Qualcomm Atheros TP9343750432Qualcomm Atheros TP9343b/g/n-5-- Installation NOTE:Tp link has charged the image format the tl-w940n v6 in 2XXX build of the stock firmware so openwrt 18 (maybe as well as later version of openwrt) cant be installed by using the stock firmware build 2XXX's web ui(it can still be installed by the tftp recovery.).There are custom build of openwrt(from https://www.youtube.com/watch?v=IBVNX65K9KE) that can be install via the stock firmwre build 2XXX's web ui. Model↓ VersionCurrent ReleaseFirmware OpenWrt InstallFirmware OpenWrt UpgradeFirmware OEM StockTL-WR940Nv118.06.9https://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr941nd-v4-squashfs-factory.binhttps://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr941nd-v4-squashfs-sysupgrade.binhttps://www.tp-link.com/en/support/download/tl-wr940n/v1/TL-WR940Nv218.06.9https://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr941nd-v5-squashfs-factory.binhttps://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr941nd-v5-squashfs-sysupgrade.binhttps://www.tp-link.com/en/support/download/tl-wr940n/v2/TL-WR940Nv318.06.9https://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr941nd-v6-squashfs-factory.binhttps://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr941nd-v6-squashfs-sysupgrade.binhttp://www.tp-link.com/en/download/TL-WR940N_V3.htmlTL-WR940Nv418.06.9https://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr940n-v4-squashfs-factory.binhttps://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr940n-v4-squashfs-sysupgrade.binhttp://www.tp-link.com/en/download/TL-WR940N_V4.htmlTL-WR940Nv518.06.9https://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr940n-v4-squashfs-factory.binhttps://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr940n-v4-squashfs-sysupgrade.binhttps://www.tp-link.com/en/support/download/tl-wr940n/v5/TL-WR940Nv618.06.9https://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr940n-v6-squashfs-factory.binhttps://downloads.openwrt.org/releases/18.06.9/targets/ar71xx/tiny/openwrt-18.06.9-ar71xx-tiny-tl-wr940n-v6-squashfs-sysupgrade.binhttps://www.tp-link.com/en/download/TL-WR940N_V6.html → Install OpenWrt (generic explanation) For installation see TP-Link TL-WR941ND. Recovery information Rename any of the Stock/OpenWrt/LEDE factory file to wr941ndv6_tp_recovery.bin Set IP of computer to 192.168.0.66 On v6.1 devices, it's very likely there will have to be a switch between the machine running the TFTP server (dnsmasq works well) and the router (also see https://forum.openwrt.org/t/tp-link-tl-wr940n-eu-v6-1-is-it-supported/29774/23) Start TFTP server Start the router with the reset button held down. Wait until the LED changes color, then release the reset button The TFTP server should log the firmware file having been downloaded - if not, just keep trying Once the file has been downloaded successfully, give it a minute or too, then try to get an IP address via DHCP In case TFTP does not work, you'll have to attach a serial cable (see below). Serial login for stock firmware: root:sohoadmin Hardware Photos v1.0 Note the serial port on the right part of the board, approx. in the middle. Four pins next to the two large capacitors. The serial port pinout is TX, RX, GND, NC. (RX/TX might be swapped, I don't trust my usb-serial converter) Port settings are 115200, 8n1, no flow control. Note: The console output may have garbage characters in it, as well as it will not take input. In this case pulling TX high with a 15K resistor from 3.3 volt resolves this v2.1 With 8M SPI flash mod, 64MB RAM mod(NT5DS32M16BG-6K) v3.0 v4.0 Note: At least in v4.0 serial port uses lower voltage levels (3.3V), so regular serial adapters might not work correctly (even with added pullup-resistor). Use LVTTL USB to Serial adapter instead. The old Nokia CA-42 connector works fine (swap RX/TX between board and adapter), or use adapter based on PL2303HX chip. Serial console login: root:sohoadmin Debug output v1 Some debug output below on a WR940N v1.0 flashed via openwrt-ar71xx-tl-wr941nd-v4-squashfs-factory.bin image (MD5 d753155844ad30db6906781083192d1e). Note that it says WR741ND?! system type : Atheros AR7240 rev 2 machine : TP-LINK TL-WR741ND processor : 0 cpu model : MIPS 24Kc V7.4 BogoMIPS : 266.24 wait instruction : yes microsecond timers : yes tlb_entries : 16 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x05f8, 0x0180, 0x0118] ASEs implemented : mips16 shadow register sets : 1 core : 0 VCED exceptions : not available VCEI exceptions : not available Linux version 2.6.32.10 (openwrt@wrt1.marcant.net) (gcc version 4.3.3 (GCC) ) #20 Tue Apr 6 15:01:26 CEST 2010 prom: fw_arg0=00000007, fw_arg1=a1f87fb0, fw_arg2=a1f88460, fw_arg3=00000004 MyLoader: sysp=79a06a88, boardp=c7e28328, parts=71e268ce bootconsole [early0] enabled CPU revision is: 00019374 (MIPS 24Kc) Atheros AR7240 rev 2, CPU:400.000 MHz, AHB:200.000 MHz, DDR:400.000 MHz Determined physical RAM map: memory: 02000000 @ 00000000 (usable) Initrd not found or empty - disabling initrd Zone PFN ranges: Normal 0x00000000 -> 0x00002000 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00002000 On node 0 totalpages: 8192 free_area_init_node: node 0, pgdat 802d0210, node_mem_map 81000000 Normal zone: 64 pages used for memmap Normal zone: 0 pages reserved Normal zone: 8128 pages, LIFO batch:0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 Kernel command line: rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 board=TL-WR741ND PID hash table entries: 128 (order: -3, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes Writing ErrCtl register=00000000 Readback ErrCtl register=00000000 Memory: 29332k/32768k available (2101k kernel code, 3436k reserved, 397k data, 152k init, 0k highmem) SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 Hierarchical RCU implementation. NR_IRQS:56 Calibrating delay loop... 266.24 BogoMIPS (lpj=1331200) Mount-cache hash table entries: 512 NET: Registered protocol family 16 MIPS: machine is TP-LINK TL-WR741ND registering PCI controller with io_map_base unset bio: create slab <bio-0> at 0 PCI: fixup device 0000:00:00.0 pci 0000:00:00.0: reg 10 64bit mmio: [0x000000-0x00ffff] pci 0000:00:00.0: supports D1 pci 0000:00:00.0: PME# supported from D0 D1 D3hot pci 0000:00:00.0: PME# disabled PCI: mapping irq 48 to pin1@0000:00:00.0 Switching to clocksource MIPS NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered NET: Registered protocol family 1 squashfs: version 4.0 (2009/01/31) Phillip Lougher Registering mini_fo version $Id$ JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. yaffs Mar 28 2010 17:53:41 Installing. msgmni has been set to 57 io scheduler noop registered io scheduler deadline registered (default) Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A console [ttyS0] enabled, bootconsole disabled Atheros AR71xx SPI Controller driver version 0.2.4 m25p80 spi0.0: w25x32 (4096 Kbytes) spi0.0: searching for MyLoader partition table at offset 0x10000 spi0.0: searching for MyLoader partition table at offset 0x20000 spi0.0: searching for MyLoader partition table at offset 0x30000 spi0.0: searching for MyLoader partition table at offset 0x40000 spi0.0: no MyLoader partition table found Searching for RedBoot partition table in spi0.0 at offset 0x3fe000 Searching for RedBoot partition table in spi0.0 at offset 0x3ff000 No RedBoot partition table detected in spi0.0 spi0.0: no WRT160NL signature found Creating 5 MTD partitions on "spi0.0": 0x000000000000-0x000000020000 : "u-boot" 0x000000020000-0x000000160000 : "kernel" 0x000000160000-0x0000003f0000 : "rootfs" mtd: partition "rootfs" set to be root filesystem mtd: partition "rootfs_data" created automatically, ofs=29A000, len=156000 0x00000029a000-0x0000003f0000 : "rootfs_data" 0x0000003f0000-0x000000400000 : "art" 0x000000020000-0x0000003f0000 : "firmware" ag71xx_mdio: probed eth0: Atheros AG71xx at 0xba000000, irq 5 eth0: using fixed link parameters eth1: Atheros AG71xx at 0xb9000000, irq 4 eth1: using fixed link parameters Atheros AR71xx hardware watchdog driver version 0.1.0 ar71xx-wdt: timeout=15 secs (max=21) TCP westwood registered NET: Registered protocol family 17 Distributed Switch Architecture driver version 0.1 eth0[0]: detected a Atheros AR7240 built-in switch dsa slave smi: probed 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com> All bugs added by David S. Miller <davem@redhat.com> VFS: Mounted root (squashfs filesystem) readonly on device 31:2. Freeing unused kernel memory: 152k freed Please be patient, while OpenWrt loads ... gpio-buttons driver version 0.1.2 input: gpio-buttons as /devices/platform/gpio-buttons/input/input0 Button Hotplug driver version 0.3.1 eth0: link up (1000Mbps/Full duplex) Registered led device: tl-wr741nd:green:system Registered led device: tl-wr741nd:green:qss mini_fo: using base directory: / mini_fo: using storage directory: /overlay eth0: link down eth0: link up (1000Mbps/Full duplex) eth1: link up (100Mbps/Full duplex) device lan1 entered promiscuous mode device eth0 entered promiscuous mode device lan2 entered promiscuous mode device lan3 entered promiscuous mode device lan4 entered promiscuous mode lan4: link up, 100Mb/s, full duplex br-lan: port 4(lan4) entering forwarding state Generic kernel compatibility enabled based on linux-next next-20100113 cfg80211: Calling CRDA to update world regulatory domain cfg80211: World regulatory domain updated: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) PCI: Setting latency timer of device 0000:00:00.0 to 64 ath: EEPROM regdomain: 0x0 ath: EEPROM indicates default country code should be used ath: doing EEPROM country->regdmn map search ath: country maps to regdmn code: 0x3a ath: Country alpha2 being used: US ath: Regpair used: 0x3a phy0: Selected rate control algorithm 'ath9k_rate_control' Registered led device: ath9k-phy0::radio Registered led device: ath9k-phy0::assoc Registered led device: ath9k-phy0::tx Registered led device: ath9k-phy0::rx phy0: Atheros AR9280 Rev:2 mem=0xb0000000, irq=48 cfg80211: Calling CRDA for country: US cfg80211: Regulatory domain changed to country: US (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm) (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm) (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm) PPP generic driver version 2.4.2 ip_tables: (C) 2000-2006 Netfilter Core Team NET: Registered protocol family 24 nf_conntrack version 0.5.0 (460 buckets, 1840 max) CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or sysctl net.netfilter.nf_conntrack_acct=1 to enable it. ar71xx-wdt: enabling watchdog timer Tags How to add tags AR7240, AR9341, TP9343, 4Flash, 32RAM, Fastethernet This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.OKMore information about cookies ar7240 ar9341 tp9343 4Flash 32RAM fastethernet Last modified: 2023/05/02 12:59by exkc