Table of Contents

TP-Link TL-WR1041N

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 TL-WR1041N is a Low-Cost Gigabit Ethernet 2.4GHz-band dual-stream (2×2) 300Mbps wireless router.

Supported Versions

Hardware Highlights

Installation

Install OpenWrt (generic explanation)

OEM easy installation

Install openwrt-ar71xx-tl-wr1041n-v2-squashfs-factory.bin using the “Firmware Upgrade” page of web interface of the original firmware.

  1. obtain an OpenWrt-Firmware-Image
  2. Enjoy ;-)

Hardware

Architecture MIPS
Vendor Qualcomm Atheros
bootloader U-Boot
System-On-Chip Atheros AR9342
CPU/Speed 560 MHz
Flash-Chip cFeon Q32B-104HIP
Flash size 4096 KiB
RAM Winbond W9425G6JH-5
Wireless Atheros AR9340
Ethernet Atheros (integrated)
Switch Atheros AR8327
USB Mod
Serial Yes
JTAG Yes

Photos

The Board:

Serial/TTL Port:

Blank USB Header:

Bootlogs

OpenWrt Bootlog

[ 0.000000] Linux version 3.18.20 (buildbot@builder1) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r46450) ) #1 Fri Sep 4 21:55:57 CEST 2015 [ 0.000000] MyLoader: sysp=aaaaaaaa, boardp=aaaaaaaa, parts=aaaa8aaa [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 0001974c (MIPS 74Kc) [ 0.000000] SoC: Atheros AR9342 rev 1 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 02000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x01ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x01ffffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000-0x01ffffff] [ 0.000000] On node 0 totalpages: 8192 [ 0.000000] free_area_init_node: node 0, pgdat 8034e2b0, node_mem_map 81000000 [ 0.000000] Normal zone: 64 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 8192 pages, LIFO batch:0 [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: board=TL-WR1041N-v2 console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Writing ErrCtl register=00000400 [ 0.000000] Readback ErrCtl register=00000400 [ 0.000000] Memory: 28516K/32768K available (2621K kernel code, 129K rwdata, 344K rodata, 224K init, 194K bss, 4252K reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:51 [ 0.000000] Clocks: CPU:560.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.000MHz [ 0.000000] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688) [ 0.070000] pid_max: default: 32768 minimum: 301 [ 0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.080000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.090000] NET: Registered protocol family 16 [ 0.090000] MIPS: machine is TP-LINK TL-WR1041N v2 [ 0.320000] Switched to clocksource MIPS [ 0.320000] NET: Registered protocol family 2 [ 0.330000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.330000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.340000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.350000] TCP: reno registered [ 0.350000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.360000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.360000] NET: Registered protocol family 1 [ 0.370000] PCI: CLS 0 bytes, default 32 [ 0.370000] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.390000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.390000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.410000] msgmni has been set to 55 [ 0.420000] io scheduler noop registered [ 0.420000] io scheduler deadline registered (default) [ 0.430000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.440000] console [ttyS0] disabled [ 0.460000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a 16550A [ 0.470000] console [ttyS0] enabled [ 0.480000] bootconsole [early0] disabled [ 0.490000] m25p80 spi0.0: found mx25l6405d, expected m25p80 [ 0.490000] m25p80 spi0.0: mx25l6405d (8192 Kbytes) [ 0.500000] 5 tp-link partitions found on MTD device spi0.0 [ 0.500000] Creating 5 MTD partitions on "spi0.0": [ 0.510000] 0x000000000000-0x000000020000 : "u-boot" [ 0.510000] 0x000000020000-0x00000012c4ec : "kernel" [ 0.520000] 0x00000012c4ec-0x0000007f0000 : "rootfs" [ 0.530000] mtd: device 2 (rootfs) set to be root filesystem [ 0.530000] 1 squashfs-split partitions found on MTD device rootfs [ 0.540000] 0x000000350000-0x0000007f0000 : "rootfs_data" [ 0.550000] 0x0000007f0000-0x000000800000 : "art" [ 0.550000] 0x000000020000-0x0000007f0000 : "firmware" [ 0.580000] libphy: ag71xx_mdio: probed [ 0.590000] switch0: Atheros AR8327 rev. 2 switch registered on ag71xx-mdio.0 [ 0.650000] libphy: ag71xx_mdio: probed [ 1.250000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd033, driver=Atheros AR8216/AR8236/AR8316] [ 1.260000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:RGMII [ 1.270000] TCP: cubic registered [ 1.270000] NET: Registered protocol family 17 [ 1.270000] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this. [ 1.290000] Bridge firewalling registered [ 1.290000] 8021q: 802.1Q VLAN Support v1.8 [ 1.300000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2. [ 1.310000] Freeing unused kernel memory: 224K (80368000 - 803a0000) [ 2.360000] init: Console is alive [ 2.360000] init: - watchdog - [ 4.400000] init: - preinit - [ 5.030000] random: procd urandom read with 7 bits of entropy available [ 6.320000] eth0: link up (1000Mbps/Full duplex) [ 8.280000] jffs2: notice: (381) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 8.300000] mount_root: switching to jffs2 overlay [ 8.320000] Atheros AR8216/AR8236/AR8316 ag71xx-mdio.0:00: Port 2 is up [ 8.350000] eth0: link down [ 8.360000] procd: - early - [ 8.370000] procd: - watchdog - [ 9.090000] procd: - ubus - [ 10.100000] procd: - init - [ 10.950000] NET: Registered protocol family 10 [ 10.960000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 10.970000] Loading modules backported from Linux version master-2015-03-09-0-g141f155 [ 10.980000] Backport generated by backports.git backports-20150129-0-gdd4a670 [ 10.990000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 11.010000] nf_conntrack version 0.5.0 (449 buckets, 1796 max) [ 11.050000] xt_time: kernel timezone is -0000 [ 11.070000] cfg80211: Calling CRDA to update world regulatory domain [ 11.100000] cfg80211: World regulatory domain updated: [ 11.110000] cfg80211: DFS Master region: unset [ 11.110000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 11.120000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 11.130000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 11.140000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) [ 11.150000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 11.150000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s) [ 11.160000] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) [ 11.170000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 11.180000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A) [ 11.220000] PPP generic driver version 2.4.2 [ 11.230000] NET: Registered protocol family 24 [ 11.310000] ath: EEPROM regdomain: 0x0 [ 11.310000] ath: EEPROM indicates default country code should be used [ 11.310000] ath: doing EEPROM country->regdmn map search [ 11.310000] ath: country maps to regdmn code: 0x3a [ 11.310000] ath: Country alpha2 being used: US [ 11.310000] ath: Regpair used: 0x3a [ 11.320000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 11.330000] ieee80211 phy0: Atheros AR9340 Rev:1 mem=0xb8100000, irq=47 [ 11.370000] cfg80211: Calling CRDA for country: US [ 11.370000] cfg80211: Regulatory domain changed to country: US [ 11.380000] cfg80211: DFS Master region: FCC [ 11.380000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 11.390000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A) [ 11.400000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 1700 mBm), (N/A) [ 11.410000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (0 s) [ 11.420000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A) [ 11.430000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A) [ 20.130000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 20.150000] device eth0.1 entered promiscuous mode [ 20.150000] device eth0 entered promiscuous mode [ 20.170000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 20.180000] IPv6: ADDRCONF(NETDEV_UP): eth0.2: link is not ready [ 21.020000] cfg80211: Calling CRDA for country: HK [ 21.060000] cfg80211: Regulatory domain changed to country: HK [ 21.060000] cfg80211: DFS Master region: unset [ 21.070000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 21.080000] cfg80211: (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 21.080000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 1700 mBm), (N/A) [ 21.090000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2400 mBm), (0 s) [ 21.100000] cfg80211: (5490000 KHz - 5710000 KHz @ 160000 KHz), (N/A, 2400 mBm), (0 s) [ 21.110000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A) [ 21.760000] eth0: link up (1000Mbps/Full duplex) [ 21.760000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 21.770000] br-lan: port 1(eth0.1) entered forwarding state [ 21.780000] br-lan: port 1(eth0.1) entered forwarding state [ 21.780000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0.2: link becomes ready [ 21.810000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 22.900000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 22.910000] device wlan0 entered promiscuous mode [ 22.920000] br-lan: port 2(wlan0) entered forwarding state [ 22.930000] br-lan: port 2(wlan0) entered forwarding state [ 22.950000] br-lan: port 2(wlan0) entered disabled state [ 23.780000] br-lan: port 1(eth0.1) entered forwarding state [ 24.060000] br-lan: port 2(wlan0) entered forwarding state [ 24.070000] br-lan: port 2(wlan0) entered forwarding state [ 24.070000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 26.070000] br-lan: port 2(wlan0) entered forwarding state [ 48.020000] random: nonblocking pool is initialized


Tags

How to add tags