OpenWrt Forum Archive

Topic: TP-Link TL-WR941N WR941ND - Atheros AP81 platform, USB port

The content of this topic has been archived between 13 Jun 2015 and 6 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

sergejk, yes this firmware will work. I did it from the original firmware page and it works fine. You can also go back to the original firmware using the LUCI web page.

thanks for info ... how long do you have it ... did you have problems with internet connection drops with that firmware?

Brgds,
S.

You should compile your own image using the latest trunk to get stability and good throughput.

I have my 941ND v4.1 working with USB. If anyone is still interested I can post some details.

root@buzzoff:~# dmesg
Linux version 2.6.32.10 (phil@phil-ubuntu10) (gcc version 4.3.3 (GCC) ) #8 Fri Aug 13 12:04:54 EST 2010
prom: fw_arg0=00000007, fw_arg1=a1f87fb0, fw_arg2=a1f88460, fw_arg3=00000004
MyLoader: sysp=85c67182, boardp=0c802098, parts=b5de75f3
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 802d0670, 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: 29312k/32768k available (2104k kernel code, 3456k reserved, 395k 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 Aug 10 2010 15:20:56 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: w25q32 (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=29C000, len=154000
0x00000029c000-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)
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
lan3: link up, 100Mb/s, full duplex
br-lan: port 3(lan3) 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)
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
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.
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ar71xx-ohci ar71xx-ohci: Atheros AR71xx built-in OHCI controller
ar71xx-ohci ar71xx-ohci: new USB bus registered, assigned bus number 1
ar71xx-ohci ar71xx-ohci: irq 3, io mem 0x1b000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usb 1-1: new full speed USB device using ar71xx-ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
scsi 0:0:0:0: Direct-Access     WLW      essentials 4GB   8.07 PQ: 0 ANSI: 2
usb-storage: device scan complete
sd 0:0:0:0: [sda] 7905280 512-byte logical blocks: (4.04 GB/3.76 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
kjournald starting.  Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on sda1, internal journal
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with writeback data mode.
cfg80211: Calling CRDA for country: AU
cfg80211: Regulatory domain changed to country: AU
    (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
    (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
    (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2300 mBm)
    (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2300 mBm)
    (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
device wlan0 entered promiscuous mode
br-lan: port 5(wlan0) entering forwarding state
device wlan0 left promiscuous mode
br-lan: port 5(wlan0) entering disabled state
device wlan0 entered promiscuous mode
br-lan: port 5(wlan0) entering forwarding state
ar71xx-wdt: enabling watchdog timer

(Last edited by Philth on 27 Aug 2010, 05:14)

Great!

will you share the detail? I just startup a 941n basic system today, I have all things flash programmer/usb connector/solder/dc converter/resistors... for the usb.

WR941ND V4.1 to get USB operational.

Excuse the quality of these instructions as this is the first informative post I have made.

You will need to make both hardware and software changes. This was worked out (fallen upon?) after reading many postings on both open-wrt, dd-wrt and elsewhere. Thank you to the many people who have contributed to the discussions on this router and especially to Kartman for his handy work with his soldering iron.

On the kernel side you need to make the change as stipulated by Mausi in
http://forum.openwrt.org/viewtopic.php? … 64#p104964
and build the image. I am using 10.03. See the wiki for instructions on how to build for the 941.

If you want to boot from a USB stick you will want to link the usb and usb-storage into the kernel. I recommend you do it initialy with loadable modules first till everything is working as you want it. You will need to use the ohci driver for this hardware version.

You shouldn't need a flash programmer unless something goes really wrong. The worst I had while experimenting was loading from uboot for which I used:
loady 0x80800000 115200
erase 0x9f020000 +0x3C0000
cp.b 0x80800000 0x9f020000 0x3C0000
Again see the wiki for information on how to get into uboot on the 941

On the hardware side we (mostly Kartman) started off just getting the usb working without giving it power and running a small powered hub off the port. We then added power to the port. The regulator used is not an overly cheap one but it was something that was on hand.

http://img839.imageshack.us/img839/3343/wr941ndv41front.th.jpg

http://img829.imageshack.us/img829/3403/wr941ndv41side2.th.jpg

The pulldown resistors were placed on the underside of the board as there was more space to work with.

http://img837.imageshack.us/img837/9246/wr941ndv41bottom.th.jpg

I have successfully run a memory stick, ftdi usb-to-serial and 2 logitech C120 webcams in parallel.

My current project is to get pivot-root working so that I can load modules from the usb stick.

(Last edited by Philth on 1 Sep 2010, 06:35)

hello, anybody can tell me some info about C483 element on this board(WR941ND rev3.4) ?

I have just found this community and flashed my TP-LINK TL-WR941ND with "openwrt-ar71xx-tl-wr941nd-v2-squashfs-factory.bin": All went smoothly, but I am new to these things and I was trying to configure WAN port and then LAN ports I set DHCP and applied changes, but since then I was disconnected from the router and now I cannot access anymore the router. I tried resseting with reset button but doesn't work. Is it bricked now or what happened to router?

I need to setup internet with PPPoE, change MAC address of the WAN port and change TTL because my ISP is using TTL 129 for their network packets. Is there somebody to help me setup router this way?

Thanks in advance

erreterr wrote:

I have just found this community and flashed my TP-LINK TL-WR941ND with "openwrt-ar71xx-tl-wr941nd-v2-squashfs-factory.bin": All went smoothly, but I am new to these things and I was trying to configure WAN port and then LAN ports I set DHCP and applied changes, but since then I was disconnected from the router and now I cannot access anymore the router. I tried resseting with reset button but doesn't work. Is it bricked now or what happened to router?

Serial console.

(Last edited by Philth on 27 Nov 2010, 15:18)

Yes I am struggling with it. I know the pinout now but didn't found somewhere a completed tutorial that works 100 %. I read somewhere that I can make the serial cable from CA-42 Nokia cable and also I read that I should flash via U-Boot, but U-boot is just for Linux machines and I don't have here Linux machines. Can I use any other tool to flash via serial console? Can I use Hyperterminal from Windows? Or any complete tutorial/ I need to unbrick this device.

Thanks

erreterr wrote:

Yes I am struggling with it. I know the pinout now but didn't found somewhere a completed tutorial that works 100 %. I read somewhere that I can make the serial cable from CA-42 Nokia cable and also I read that I should flash via U-Boot, but U-boot is just for Linux machines and I don't have here Linux machines. Can I use any other tool to flash via serial console? Can I use Hyperterminal from Windows? Or any complete tutorial/ I need to unbrick this device.

Thanks

You can load firmware from uboot using any app capable of Ymodem, etc. It doesn't matter what OS you're comming from.

I am using a Nokia cable.

Once you get your serial console happening you should not have any trouble flashing it back to life. What hardware revision do you have?

Can anybody assist me in recovering my router? I am struggling to revive it without compromise. I have made some interesting connections as you can see from the photos at the links below:

http://i662.photobucket.com/albums/uu34 … C01989.jpg
http://i662.photobucket.com/albums/uu34 … C01991.jpg

I have connected R356 by just sliding the glue there with a screwdriver till it gets connected, and I test with multimeter continuity, For serial connection I have used a mobile phone box that I have "InfinityBOX, but I can use any other boxes that I have among Infinity and it works charmantly. And for serial pins connections look at the picture how I did. I use those pins for some mobile phones unlocking when I don't have the cable and connect the pins to TX, RX and GND, so I thought that even for this router this type of connection should work and yes it works, but the interesting thing is that I have not glued even TX, RX and GND pins, because the GND pin was a little hole so that I just  leave it there and TX and RX I pushed with force and now they have made a little holes and are standing there without me holding them.

My router displays this message:
U-Boot 1.1.4 (Mar  8 2010 - 10:28:58)

AP81 (ar7100) U-boot
DRAM:
sri
32 MB
id read 0x100000ff
flash size 4MB, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
No valid address in Flash. Using fixed address
bsingle_phy = 0
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Autobooting in 1 seconds## Booting image at bf020000 ...
   Uncompressing Kernel Image ... Error: Bad gzipped data
GUNZIP ERROR - must RESET board to recover,

after trying to return from OpenWRT to Original firmware, and now I am trying your procedure to revive my router but it is not working. I need just to recover it with Openwrt or original firmware no matter. It seems that I need to write original firmware with Boot like this firmware image: wr941nv2_v3_en_3_11_2_up_boot(100323).bin, because the boot is corrupted when I tried to revert from OpenWRT to Original Firmware. Can anybody assis me with proper flash addresses that I should give to U-Boot for this firmware that has the size of 3.87 MB (4.063.744 bytes). I don't want to kill completely this router.

Thanks in advance



juhosg wrote:

Hi,

prisma wrote:

Does anyone have an Idea how to recover the router?
...
Any Ideas? Maybe a tricky u-boot parameter. Or a possibility to flash via u-boot?

Flash via u-boot:

U-Boot 1.1.4 (May  1 2008 - 19:25:20)

AP81 (ar7100) U-boot
DRAM:
sri
32 MB
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
Fetching MAC Address from 0x81fef230
eth0: 00:03:7f:e0:03:7a
eth0 up
eth0
Autobooting in 1 seconds, press "tp" to stop

ar7100> setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1
ar7100> tftp 0x80800000 openwrt-ar71xx-tl-wr941ndv2-squashfs.uni

set link to 100M full by lqm.
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'openwrt-ar71xx-tl-wr941ndv2-squashfs.uni'.
Load address: 0x80800000
Loading: checksum bad
checksum bad
checksum bad
checksum bad
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
done
Bytes transferred = 3932160 (3c0000 hex)

ar7100> erase 0xbf020000 +0x3c0000

First 0x2 last 0x3d sector size 0x10000
  61
Erased 60 sectors

ar7100> cp.b 0x80800000 0xbf020000 0x3c0000

Copy to Flash... write addr: bf020000
done

ar7100> reset

Resetting...

U-Boot 1.1.4 (May  1 2008 - 19:25:20)

AP81 (ar7100) U-boot
DRAM:
sri
32 MB
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
Fetching MAC Address from 0x81fef230
eth0: 00:03:7f:e0:03:7a
eth0 up
eth0
Autobooting in 1 seconds, press "tp" to stop
## Booting image at bf020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.28.7 (juhosg@idared) (gcc version 4.1.2) #42 Fri Mar 6 19:55:28 CET 2009
console [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
Atheros AR9132 rev 1 (id:0xb5), CPU:400.000 MHz, AHB:100.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
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit
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
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 29708k/32768k available (1818k kernel code, 3060k reserved, 332k data, 132k init, 0k highmem)
SLUB: Genslabs=6, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
...

Regards,
Gabor

(Last edited by erreterr on 1 Dec 2010, 23:05)

Hi,
I took another brandnew TL-WR941ND router and flashed to it DD-WRT not the openwrt like in another router and I go to change some WAN settings and then restarted it, settings are saved successfully but now everything that I change and then reboot router no settings are saved any more. It seems that I have the problematic routers, but although somebody reported that they have Intel flash, my routers have Winbond flash not Intel. Now I am trying to revive my first router with TFTP flash but don't know the exact procedure or it seems that it is not saving even firmware. How can I debrick these routers? Can somebody provide me with commands to erase and then write an original firmware to these routers.

On the second router that I put today dd-wrt on it , I am trying to revert with files provided by Brainslayer but they are not working at all.

Thanks

Hi erreterr

From the photos you posted you look like you have the same hardware revision.

I used the following commands to revive my router from a bad flash:

Using the serial terminal, type in tpl at the 1 second wait on boot up. (from the look of your post you have already been able to achieve this)

Once at the Uboot prompt you can type..
loady 0x80800000 115200

Use a terminal program to send the factory bin file via ymodem (remember 115200 baud) this is a very slow process. Go make a coffee, drink it, then go and make a couple more. Once you have finished those drink some tea as it's not good for you to drink so much coffee. Hell, go watch a movie.

Once it has finally finished go back to the console and type
erase 0x9f02000 +0x3c0000
then...
cp.b 0x80800000 0x9f020000 0x3C0000

My recollection is that all was sweet after that.

If your hardware is something other that V4, then you MAY need to change some of the values.

(Last edited by Philth on 2 Dec 2010, 14:08)

Can you clear me which is that terminal program to send the file?
Thanks

Hyperterminal or Tera term will do the job

Hi Philth
Thanks for your advices. I sent now the file and go to the command  erase 0x9f02000 +0x3c0000 but I  get:

ar7100> erase 0x9f02000 +0x3c0000
Error: end address (0x0a2c1fff) not in flash!
Bad address format

I have v3.2 of TL-WR941ND

It seems that just the addreses are not correct because I don't need to send file via serial ymodem when I can send faster with tftp, but after I execute the commands to erase "erase 0x9f02000 +0x3c0000" and cp.b they are not working...

I had the same message using the Wiki instructions I changed the 0xbf020000 to 0x9f020000

http://wiki.openwrt.org/toh/tp-link/tl-wr941nd

The 0x3C0000 comes from the total size of the image that was written out.

Try with 0xbf020000 instead

erreterr wrote:

It seems that just the addreses are not correct because I don't need to send file via serial ymodem when I can send faster with tftp, but after I execute the commands to erase "erase 0x9f02000 +0x3c0000" and cp.b they are not working...

If you can get the tftp working, great use it.

Strange...
Why I cannot recover my router using exactly the same method that you used.
It has entered into autorestart loop now and still didn't managed to recover it:
Autobooting in 1 seconds## Booting image at bf020000 ...
   Uncompressing Kernel Image ... Error: Bad gzipped data
GUNZIP ERROR - must RESET board to recover

Resetting...

On underneath I have version 3.2 and it has Intel Flash chip that doesn't save settings etc. I did an "erase all" into U-Boot and then followed exactly your steps, but still no success.

Thanks


juhosg wrote:

Hi,

prisma wrote:

Does anyone have an Idea how to recover the router?
...
Any Ideas? Maybe a tricky u-boot parameter. Or a possibility to flash via u-boot?

Flash via u-boot:

U-Boot 1.1.4 (May  1 2008 - 19:25:20)

AP81 (ar7100) U-boot
DRAM:
sri
32 MB
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
Fetching MAC Address from 0x81fef230
eth0: 00:03:7f:e0:03:7a
eth0 up
eth0
Autobooting in 1 seconds, press "tp" to stop

ar7100> setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1
ar7100> tftp 0x80800000 openwrt-ar71xx-tl-wr941ndv2-squashfs.uni

set link to 100M full by lqm.
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'openwrt-ar71xx-tl-wr941ndv2-squashfs.uni'.
Load address: 0x80800000
Loading: checksum bad
checksum bad
checksum bad
checksum bad
#################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
done
Bytes transferred = 3932160 (3c0000 hex)

ar7100> erase 0xbf020000 +0x3c0000

First 0x2 last 0x3d sector size 0x10000
  61
Erased 60 sectors

ar7100> cp.b 0x80800000 0xbf020000 0x3c0000

Copy to Flash... write addr: bf020000
done

ar7100> reset

Resetting...

U-Boot 1.1.4 (May  1 2008 - 19:25:20)

AP81 (ar7100) U-boot
DRAM:
sri
32 MB
id read 0x100000ff
flash size 8MB, sector count = 128
Flash:  8 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
Fetching MAC Address from 0x81fef230
eth0: 00:03:7f:e0:03:7a
eth0 up
eth0
Autobooting in 1 seconds, press "tp" to stop
## Booting image at bf020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.28.7 (juhosg@idared) (gcc version 4.1.2) #42 Fri Mar 6 19:55:28 CET 2009
console [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
Atheros AR9132 rev 1 (id:0xb5), CPU:400.000 MHz, AHB:100.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
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 init=/etc/preinit
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
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 29708k/32768k available (1818k kernel code, 3060k reserved, 332k data, 132k init, 0k highmem)
SLUB: Genslabs=6, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
...

Regards,
Gabor

(Last edited by erreterr on 2 Dec 2010, 18:58)

I managed to follow @fzfq3m in step 6 and now my router is accepting many types of firmwares, but not working correctly. I want to return to the original firmware because the openwrt and dd-wrt doesn't save any settings in my router

U-Boot 1.1.4 (Mar  8 2010 - 10:28:58)

AP81 (ar7100) U-boot
DRAM:
sri
32 MB
id read 0x100000ff
flash size 4MB, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7100_enet_initialize...
No valid address in Flash. Using fixed address
bsingle_phy = 0
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Autobooting in 1 secondsar7100> tftpboot 0x81000000 openwrt-ar71xx-tl-wr941nd-vn
set link to 100M full by lqm.
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.169; our IP address is 192.168.1.10
Filename 'openwrt-ar71xx-tl-wr941nd-v2-initramfs-uImage.bin'.
Load address: 0x81000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###########################
done
Bytes transferred = 1798689 (1b7221 hex)
ar7100> setenv bootargs console=ttyS0,115200
ar7100> bootm
## Booting image at 81000000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.33.3 (alex@motard) (gcc version 4.4.3 (GCC) ) #2 Mon May 3 160
bootconsole [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
Atheros AR9132 rev 2, CPU:400.000 MHz, AHB:100.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
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line:  board=TL-WR941ND rootfstype=squashfs,yaffs,jffs2 noinitrd0
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: 28884k/32768k available (2003k kernel code, 3884k reserved, 381k data, )
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-WR941ND
bio: create slab <bio-0> at 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
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-200.
yaffs May  3 2010 14:50:21 Installing.
msgmni has been set to 56
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
console [ttyS0] enabled, bootconsole disabled
Atheros AR71xx SPI Controller driver version 0.2.4
m25p80 spi0.0: found 320s33b, expected m25p80
m25p80 spi0.0: 320s33b (8192 Kbytes)
Searching for RedBoot partition table in spi0.0 at offset 0x7e0000
Searching for RedBoot partition table in spi0.0 at offset 0x7f0000
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
split_squashfs: no squashfs found in "spi0.0"
0x0000003f0000-0x000000400000 : "art"
0x000000020000-0x0000003f0000 : "firmware"
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xb9000000, irq 4
Atheros AR71xx hardware watchdog driver version 0.1.0
TCP westwood registered
NET: Registered protocol family 17
Distributed Switch Architecture driver version 0.1
ar7240_dsa: unsupported chip, ctrl=ffffffff
eth0[0]: detected a Marvell 88E6060 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>
Freeing unused kernel memory: 724k freed
eth0: link up (100Mbps/Full duplex)
- preinit -
Press the [f] key and hit [enter] to enter failsafe mode
f
- failsafe -


BusyBox v1.16.1 (2010-05-03 14:18:03 EEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
|       |.-----.-----.-----.|  |  |  |.----.|  |_
|   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
|_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
KAMIKAZE (bleeding edge, r21335) ------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
---------------------------------------------------
root@(none):/# firstboot
mini_fo: using base directory: /
mini_fo: using storage directory: /overlay
root@(none):/# mtd erase -r
root@(none):/#

When I upload original firmwares the router hangs at:

jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a000c: 0x4835 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0010: 0xa1f9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0014: 0x45a4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0018: 0x92d5 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a001c: 0xfb85 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0020: 0xed46 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000a0024: 0x418e id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0000: 0x0cf5 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0004: 0xa1fe id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0008: 0xf45a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b000c: 0xbefa id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0010: 0x98c5 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0014: 0x77ba id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0018: 0x2476 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b001c: 0xc613 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0020: 0x989a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000b0024: 0x7456 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0000: 0x7893 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0004: 0xe3ac id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0008: 0x7d29 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c000c: 0xa029 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0010: 0x98d8 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0014: 0xff43 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0018: 0xb233 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c001c: 0x029e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0020: 0x562f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000c0024: 0x01dc id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0000: 0xfb52 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0004: 0x4f5a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0008: 0x53cf id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d000c: 0x13f9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0010: 0x09d6 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0014: 0x5ad7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0018: 0x8725 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d001c: 0x1bf3 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0020: 0x1705 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000d0024: 0x5108 id
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x000d7dbc
You cannot use older JFFS2 filesystems with newer kernels
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0000: 0x845c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0004: 0x5595 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0008: 0x679a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e000c: 0xd9a8 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0010: 0x626c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0014: 0x05bb id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0018: 0x3729 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e001c: 0x1048 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0020: 0x3035 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000e0024: 0x39ce id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0000: 0x1a72 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0004: 0xf643 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0008: 0x026d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f000c: 0xfb30 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0010: 0x0481 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0014: 0x98a2 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0018: 0x612f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f001c: 0x76ef id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0020: 0xa13e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x000f0024: 0x7d9b id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100000: 0x5fa8 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100004: 0xcd29 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100008: 0xbd1b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0010000c: 0xb490 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100010: 0xf543 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100014: 0x34e2 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100018: 0x41b9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0010001c: 0x78da id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100020: 0x0d7c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00100024: 0x9d2f id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110000: 0xa170 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110004: 0x422b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110008: 0x3ed9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0011000c: 0xf81c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110010: 0xbedc id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110014: 0xc705 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110018: 0x845c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0011001c: 0xf06f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110020: 0x11d0 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00110024: 0xffe6 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120000: 0x00cf id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120004: 0xf34f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120008: 0xe161 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0012000c: 0xc053 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120010: 0x6255 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120014: 0xca19 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120018: 0xb959 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0012001c: 0x8fb2 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120020: 0xef9f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00120024: 0x57fd id
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x0012d93c
You cannot use older JFFS2 filesystems with newer kernels
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130000: 0x6b73 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130004: 0x1abd id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130008: 0x371f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0013000c: 0xd652 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130010: 0xb5a9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130014: 0xfb2f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130018: 0x2348 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0013001c: 0x2ef7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130020: 0xbcdb id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00130024: 0xe101 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140000: 0x640a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140004: 0x09e7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140008: 0x0e47 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014000c: 0x68b7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140010: 0x2216 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140014: 0xac52 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140018: 0x3803 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0014001c: 0x6761 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140020: 0x74f3 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00140024: 0xc887 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150000: 0xdd03 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150004: 0x5d69 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150008: 0xa7e4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0015000c: 0x2713 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150010: 0xd831 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150014: 0xd766 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150018: 0x9c4a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0015001c: 0xabd4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150020: 0x6b45 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00150024: 0xc3a5 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160000: 0xf783 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160004: 0xa7e2 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160008: 0x9972 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0016000c: 0xf0b9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160010: 0xc6b3 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160014: 0xd4dd id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160018: 0xfda3 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0016001c: 0x606e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160020: 0x976b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00160024: 0x334d id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170000: 0x2446 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170004: 0x48d6 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170008: 0x991e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0017000c: 0xa5fd id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170010: 0x9dc4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170014: 0xd7e4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170018: 0xc35d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0017001c: 0xdb5e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170020: 0xe36b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00170024: 0x1e00 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180000: 0xe6d1 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180004: 0x557a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180008: 0xdde8 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0018000c: 0xd377 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180010: 0xbd07 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180014: 0x151b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180018: 0x79ce id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0018001c: 0x6e81 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180020: 0x616b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00180024: 0xf9b9 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190000: 0xf1c7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190004: 0xffee id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190008: 0xdfd6 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0019000c: 0xe983 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190010: 0x8b5f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190014: 0xe269 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190018: 0x7e87 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0019001c: 0x0d1b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190020: 0xe8a3 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00190024: 0x4c9b id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0000: 0x467b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0004: 0xca39 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0008: 0x7ccb id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a000c: 0x045c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0010: 0x9dc0 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0014: 0x5d55 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0018: 0x1bf7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a001c: 0x7911 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0020: 0x9a08 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001a0024: 0xc4fb id
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x001ac10c
You cannot use older JFFS2 filesystems with newer kernels
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0000: 0xdac4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0004: 0x3cd9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0008: 0xd2bb id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b000c: 0x518c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0010: 0xab67 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0014: 0xede5 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0018: 0xde33 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b001c: 0x13fe id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0020: 0xdc6c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001b0024: 0xa1f5 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0000: 0x7b09 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0004: 0x7fcc id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0008: 0xd0a1 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c000c: 0xe8dd id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0010: 0xff0f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0014: 0xc4cf id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0018: 0xc9cf id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c001c: 0x9995 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0020: 0xfe47 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001c0024: 0x7718 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0000: 0xd48c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0004: 0xcce9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0008: 0xbf5b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d000c: 0x6bff id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0010: 0x2c53 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0014: 0x5777 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0018: 0x0bdb id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d001c: 0x8856 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0020: 0x9788 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001d0024: 0x48ab id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0000: 0xe231 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0004: 0x0ce3 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0008: 0x576f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e000c: 0xf03b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0010: 0xf150 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0014: 0x13e1 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0018: 0xd72b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e001c: 0xb345 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0020: 0xc3b1 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001e0024: 0x3af8 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0000: 0xf27b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0004: 0xd71a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0008: 0x98a5 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f000c: 0x9497 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0010: 0x3a14 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0014: 0x8b31 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0018: 0xe68c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f001c: 0x710e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0020: 0x0e60 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x001f0024: 0xcdbd id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200000: 0x914e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200004: 0x6958 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200008: 0x7c66 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0020000c: 0x6ac4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200010: 0xe204 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200014: 0x28d0 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200018: 0x83f9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0020001c: 0xedb4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200020: 0x78db id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00200024: 0x93b1 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210000: 0x984d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210004: 0xa261 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210008: 0xa759 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0021000c: 0xcca6 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210010: 0x6918 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210014: 0x695e id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210018: 0xb3e9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0021001c: 0x2697 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210020: 0x734f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00210024: 0x1d5b id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220000: 0x9712 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220004: 0x1793 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220008: 0x3741 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0022000c: 0xa116 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220010: 0x01dc id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220014: 0x8aca id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220018: 0x3a99 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0022001c: 0xe3d6 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220020: 0x8510 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00220024: 0xd572 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230000: 0xd675 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230004: 0x99f0 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230008: 0xd443 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0023000c: 0x1df9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230010: 0x4374 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230014: 0x8663 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230018: 0x5b7d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0023001c: 0xa43a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230020: 0xf43f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00230024: 0xe9f1 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240000: 0xef10 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240004: 0x2268 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240008: 0x0dc8 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0024000c: 0xc7a0 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240010: 0x796b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240014: 0xc8d7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240018: 0x2d5d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0024001c: 0x043d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240020: 0x42a3 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00240024: 0xb389 id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250000: 0xe235 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250004: 0x3713 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250008: 0x74dd id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0025000c: 0xd5b0 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250010: 0x169d id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250014: 0x8975 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250018: 0xd0d1 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0025001c: 0x4a11 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250020: 0xb962 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00250024: 0x81cc id
Further such events for this erase block will not be printed
Old JFFS2 bitmask found at 0x0025d348
You cannot use older JFFS2 filesystems with newer kernels
Old JFFS2 bitmask found at 0x0025f284
You cannot use older JFFS2 filesystems with newer kernels
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260000: 0x26c4 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260004: 0x67cf id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260008: 0x4aa7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0026000c: 0x7167 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260010: 0x3ad7 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260014: 0x5609 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260018: 0xf6eb id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0026001c: 0x4b4c id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260020: 0xa90b id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00260024: 0x0aad id
Further such events for this erase block will not be printed
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270000: 0x0d33 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270004: 0xb803 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270008: 0xeb5a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0027000c: 0xac6f id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270010: 0xdb20 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270014: 0x917a id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270018: 0x34d9 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0027001c: 0x2fe1 id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270020: 0xe8ea id
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00270024: 0xb28f id
Further such events for this erase block will not be printed
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
empty_blocks 1, bad_blocks 0, c->nr_blocks 41
VFS: Cannot open root device "<NULL>" or unknown-block(31,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00             128 mtdblock0 (driver?)
1f01            1280 mtdblock1 (driver?)
1f02            2624 mtdblock2 (driver?)
1f03              64 mtdblock3 (driver?)
1f04            3904 mtdblock4 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2), and goes no further.

NAEOT, but check the binary you have is for V3 hardware, and if that is not the problem, it could be the address you're loading it to.

Philth wrote:

WR941ND V4.1 to get USB operational.

...

On the kernel side you need to make the change as stipulated by Mausi in
http://forum.openwrt.org/viewtopic.php? … 64#p104964
and build the image. I am using 10.03. See the wiki for instructions on how to build for the 941.

There is a correction needed to my earlier post. Mausi's instructions detailed a change to mach-tl-wr941nd.c, this is appropriate to V3 which he uses. V4 has a different processor, which is being treated like a WR741 as being evidenced by the following taken from my dmesg.

Kernel command line: rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200 board=TL-WR741ND

In performing a fresh build of openwrt I followed my own instructions without any luck, then remembered that the trick was to perform the identical change to mach-tl-wr741nd.c file.

I apologise to anyone who went down the wrong path due to this.

erreterr wrote:

I managed to follow @fzfq3m in step 6 and now my router is accepting many types of firmwares, but not working correctly. I want to return to the original firmware because the openwrt and dd-wrt doesn't save any settings in my router

Try this but I'm not sure how to recover mtd "config'.

ar7100> setenv serverip 192.168.1.169; setenv ipaddr 192.168.1.10
ar7100> tftpboot 0x81000000 openwrt-ar71xx-tl-wr941nd-v2-initramfs-uImage.bin
ar7100> iminfo
ar7100> setenv bootargs console=ttyS0,115200
ar7100> bootm
root@(none):/# cd /tmp
root@(none):/tmp # wget http://192.168.1.169/wr941nv2_en_3_11_8_up(100609).bin
root@(none):/tmp # mtd -r write /tmp/wr941nv2_en_3_11_8_up(100609).bin firmware

OpenWrt / TP-Link TL-WR1043ND