Hello, I just got a WR741N V3.1(I'm in China)?
The built-in rom is this ( Chinese version):
http://www.tp-link.com.cn/downloadfiles … 094017.rar
I tried to flash this rom (WR741ND V3) via web:
http://www.tp-link.com/common/download/ … 055512.zip
It can not be upgraded directly, must change it's version and md5 checksum:
00000000 01 00 00 00 54 50 2d 4c 49 4e 4b 20 54 65 63 68 |....TP-LINK Tech|
00000010 6e 6f 6c 6f 67 69 65 73 00 00 00 00 76 65 72 2e |nologies....ver.|
00000020 20 31 2e 30 00 00 00 00 00 00 00 00 00 00 00 00 | 1.0............|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040 07 41 00 03 00 00 00 01 00 00 00 00 05 cd 8e 09 |.A..............|
change 0x00000043 from 03 to 01
and use this to fix md5sum:
http://download.lark.net.cn/wr941n/hack … 0.2.tar.gz
I modified the source:
diff -u sum.c.orig sum.c
--- sum.c.orig 2011-08-28 13:29:25.000000000 +0800
+++ sum.c 2011-08-28 23:42:33.000000000 +0800
@@ -36,7 +36,7 @@
#define FW_OFFSET_MD5SUM_2 0x60 /* 16 bytes */
#define FW_OFFSET_USE_LOADER_KEY 0x94 /* when set, bootloader key is used */
-#define FW_FILENAME "wr941n.bin"
+#define FW_FILENAME "rom.bin"
char md5Key[16] = {
0xdc, 0xd7, 0x3a, 0xa5, 0xc3, 0x95, 0x98, 0xfb,
@@ -166,13 +166,13 @@
#endif
check_version:
- if (*(int *)(buff + FW_OFFSET_VERSION) != ntohl(0x09410002)) {
+ if (*(int *)(buff + FW_OFFSET_VERSION) != ntohl(0x07410001)) {
errstr = "Version not match";
goto err;
}
check_sig:
- if (*(int *)(buff + FW_OFFSET_SIG) != ntohl(0x2)) {
+ if (*(int *)(buff + FW_OFFSET_SIG) != ntohl(0x1)) {
errstr = "Signature not match";
goto err;
}
# mv wr741nv3_en_3_12_7_up(101230).bin rom.bin
# fixsum
and flash rom.bin from web interface.
Ok, the WR741ND V3 rom runs really well.
Use the same method, I flashed the openwrt rom:
http://downloads.openwrt.org/snapshots/ … actory.bin
Just change the version to v3 and fix md5 checksum as described above.
Now it's running OpenWRT!
dmesg:
Linux version 2.6.39.4 (buildslave@dd.das-iro.de) (gcc version 4.5.4 20110808 (prerelease) (Linaro GCC 4.5-2011.08) ) #1 Mon Aug 22 10:18:45 CEST 2011
prom: fw_arg0=00000007, fw_arg1=a1f87fb0, fw_arg2=a1f88460, fw_arg3=00000004
MyLoader: sysp=ffffffff, boardp=ffffffff, parts=f0f0d0f0
bootconsole [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
SoC: Atheros AR7240 rev 2
Clocks: CPU:350.000MHz, DDR:350.000MHz, AHB:175.000MHz, Ref:5.000MHz
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 802d1200, node_mem_map 81000000
Normal zone: 64 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 8128 pages, LIFO batch:0
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: board=TL-WR741ND console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
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: 29268k/32768k available (2105k kernel code, 3500k reserved, 396k data, 180k init, 0k highmem)
SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:80
Calibrating delay loop... 232.24 BogoMIPS (lpj=1161216)
pid_max: default: 32768 minimum: 301
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 0000:00:00.0: [168c:ff1c] type 0 class 0x000200
pci 0000:00:00.0: fixup device configuration
pci 0000:00:00.0: reg 10: [mem 0x00000000-0x0000ffff 64bit]
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 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1000ffff 64bit]
pci 0000:00:00.0: BAR 0: set to [mem 0x10000000-0x1000ffff 64bit] (PCI address [0x10000000-0x1000ffff])
PCI: mapping irq 72 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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
PCI: CLS 0 bytes, default 32
squashfs: version 4.0 (2009/01/31) Phillip Lougher
JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
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: found s25sl032a, expected m25p80
m25p80 spi0.0: s25sl032a (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 0x3e0000
Searching for RedBoot partition table in spi0.0 at offset 0x3f0000
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=2D0000, len=120000
0x0000002d0000-0x0000003f0000 : "rootfs_data"
0x0000003f0000-0x000000400000 : "art"
0x000000020000-0x0000003f0000 : "firmware"
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xba000000, irq 5
eth0: Found an AR7240 built-in switch
eth1: Atheros AG71xx at 0xb9000000, irq 4
eth1: connected to PHY at ag71xx-mdio:04 [uid=004dd041, driver=Generic PHY]
Atheros AR71xx hardware watchdog driver version 0.1.0
ar71xx-wdt: timeout=15 secs (max=24)
TCP westwood registered
NET: Registered protocol family 17
Bridge firewalling registered
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: 180k freed
input: gpio-keys-polled as /devices/platform/gpio-keys-polled/input/input0
Button Hotplug driver version 0.4.1
Registered led device: tl-wr741nd:green:system
Registered led device: tl-wr741nd:green:qss
JFFS2 notice: (374) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (1 unchecked, 0 orphan) and 15 of xref (0 dead, 2 orphan) found.
eth0: link down
device eth0 entered promiscuous mode
Compat-wireless backport release: compat-wireless-2011-08-09
Backport based on wireless-testing.git master-2011-08-10
cfg80211: Calling CRDA to update world regulatory domain
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: World regulatory domain updated:
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (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
ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
Registered led device: ath9k-phy0
ieee80211 phy0: Atheros AR9285 Rev:2 mem=0xb0000000, irq=72
cfg80211: Calling CRDA for country: US
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
cfg80211: Regulatory domain changed to country: US
cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm)
cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm)
cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
eth0: link up (1000Mbps/Full duplex)
br-lan: port 1(eth0) entering forwarding state
br-lan: port 1(eth0) entering forwarding state
NET: Registered protocol family 24
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
nf_conntrack version 0.5.0 (460 buckets, 1840 max)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
And BTW, you can use mtd to flash back the WR741ND V3 rom.
Hope this help.