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.

D- to D+ resistance
TP-Link 941:  5.94 Ohms

hm strange. I get infinity resistance (=NC)

So I try D- and D+ to ground, I see:
TP-Link:  2.20 Ohms on both D- and D+

I get sth. like 16MOhms here. What kind of voltmeter did you use?

I have read that you tryed some usb modules with original sdk with some sucess and i think its easy as solder a usb port on, but reading your posts again i see that the board seems don't have a 12v to 5v dc-dc conv, so if i plug a external hd with its own power suplly it will work ?

No, that is not gonna work. You need two 15kohm pulldown resistors to ground and the vcc must be connected to the router somehow as well. (for hight/low speed detection, see here or here)
I ll try to get some 15kohm resistors and try again...

Comment:  TP-Link opted to use only one of the Ethernet interfaces provided by the CPU and let the switch do the logical split between LAN and WAN port.  I speculate... doing full duplex transfers between LAN and WAN, this means you could run into situations where the same CPU Ethernet interface (eth0) is used to traverse WAN to LAN...   I mention this as some of the other AP81 routers using both ports have been benchmarked as capable of 95Mbps WAN to LAN (Trendnet TEW-652BRP).  This particular router design may not do as well.  I have not benchmarked the TP-Link, just pointing out the issue. I know some people have been seeking this platform for the 400Mhz CPU and capability to saturate the Ethernet.

Because i was curious i did some benchmarking:

NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  10901 KByte/s Tx,  10748 KByte/s Rx.
Packet size  2k bytes:  11035 KByte/s Tx,  10375 KByte/s Rx.
Packet size  4k bytes:  11005 KByte/s Tx,  10787 KByte/s Rx.
Packet size  8k bytes:  10973 KByte/s Tx,  10803 KByte/s Rx.
Packet size 16k bytes:  11101 KByte/s Tx,  10810 KByte/s Rx.
Packet size 32k bytes:  10991 KByte/s Tx,  10791 KByte/s Rx.
Done.

I bridged all five interfaces and connected one switchport and the wan port...
If there is only one port connected to the CPU why do i get these results? Fullduplex between switch and CPU?

prisma wrote:

Comment:  TP-Link opted to use only one of the Ethernet interfaces provided by the CPU and let the switch do the logical split between LAN and WAN port.  I speculate... doing full duplex transfers between LAN and WAN, this means you could run into situations where the same CPU Ethernet interface (eth0) is used to traverse WAN to LAN...   I mention this as some of the other AP81 routers using both ports have been benchmarked as capable of 95Mbps WAN to LAN (Trendnet TEW-652BRP).  This particular router design may not do as well.  I have not benchmarked the TP-Link, just pointing out the issue. I know some people have been seeking this platform for the 400Mhz CPU and capability to saturate the Ethernet.

Because i was curious i did some benchmarking:

NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  10901 KByte/s Tx,  10748 KByte/s Rx.
Packet size  2k bytes:  11035 KByte/s Tx,  10375 KByte/s Rx.
Packet size  4k bytes:  11005 KByte/s Tx,  10787 KByte/s Rx.
Packet size  8k bytes:  10973 KByte/s Tx,  10803 KByte/s Rx.
Packet size 16k bytes:  11101 KByte/s Tx,  10810 KByte/s Rx.
Packet size 32k bytes:  10991 KByte/s Tx,  10791 KByte/s Rx.
Done.

I bridged all five interfaces and connected one switchport and the wan port...
If there is only one port connected to the CPU why do i get these results? Fullduplex between switch and CPU?

I am not sure. Because you are doing bi-direction throughput test, even with full duplex, you can't get these numbers. Are you sure that lan/wan port are in different vlan, and traffic must be forwarded by CPU? Maybe you should try smaller packets, 64 bytes or 128 bytes. The switch fabric can handle 64 bytes packet at line speed, but CPU can't.

In one of my earlier post, I pointed out that both interfaces of CPU are connected to switch. My speculation is this PCB supports both 88E6060 and 88E606xB (which supports bypass). TP-Link decided to use 88E6060 though.

prisma wrote:

I bridged all five interfaces and connected one switchport and the wan port...
If there is only one port connected to the CPU why do i get these results? Fullduplex between switch and CPU?

I assume it is full duplex (eth0 capable of 200Mbps in proper circumstances).

For the theoretical bottleneck to appear, traffic would have to do something like this:

[host A] <---- WAN port <--- [router CPU] ----> LAN port ----> [host B]

You would have to do a download (wget) from host A to host B, at the same time as host B to host A was doing download.  In real world this would have to be something like a full duplex video conference or perhaps a perfect per-to-peer exchange situation (bittorrent equal trading).. AND exceeding 100Mbps in one direction.

I really don't know, I was just curious on the matter.  you know, it might prove in practice to be a BETTER design to use only one of the interfaces combined with VLAN - as less IRQ activity / less CPU usage?

I am not sure. Because you are doing bi-direction throughput test, even with full duplex, you can't get these numbers. Are you sure that lan/wan port are in different vlan, and traffic must be forwarded by CPU? Maybe you should try smaller packets, 64 bytes or 128 bytes. The switch fabric can handle 64 bytes packet at line speed, but CPU can't.

Just to clarify it's not a full duplex test. Its first the TX and then the RX. I was doing a new benchmark using masquerading (thats definitley via CPU) and got the same results. Softirq raises to 85 %. If i reduce packet size to 64bytes or 16bytes i get the same results and same softirq. That's a little odd...

You would have to do a download (wget) from host A to host B, at the same time as host B to host A was doing download.  In real world this would have to be something like a full duplex video conference or perhaps a perfect per-to-peer exchange situation (bittorrent equal trading).. AND exceeding 100Mbps in one direction.

That's a very heavy constructed case :-)

I ll try to get some 15kohm resistors and try again...

Unfortunatley this is not working for me. For now i've given up USB on the WT941ND...

Maybe a MMC mod via GPIO. Does anyone know how to find gpio pins?

Somebody upgrade the FLASH chip on the TP-Link.  Source: http://www.dd-wrt.com/phpBB2/viewtopic. … p;start=60

sam.vanratt

PostPosted: Mon Mar 09, 2009 9:28 pm    Post subject: TP-Link WR941ND Rev.2.4; Layout V1.1     Reply with quote
Hi All,
I changed yesterday my Flashrom to a 128MBit Chip, replacing my default Intel 320S33B

CPU: Atheros AR9132-AC1E 400MHz
Switch: Marvell 88E6060-RCJ1
Memory: HY5DU561622FTP-5 (16Mbx16, 32MB)
Flash: Numonyx(INTEL) M25P128 (16MB) SOP16/300mil/RM.5
Radio: AR9104

With a small adapter to my Flasher I first flashed the chip with the default TP-Link firmware (as I still have no other (...wrt) binary found) and it works. As the RM0.5 is very comfortable (comp to others) it's really easy. Maybe a MX25L12805D could work as well, but I have not tried to flash internally to verify the segment/block flashing capability. Maybe this helps
Cheers
Sam

I think I bricked my WR941... sad Tried to go back to original firmware (to look at some log output from the binary Madwifi driver it ships with):

Autobooting in 1 seconds, press "tp" to stop
ar7100> setenv serverip 192.168.84.9; setenv ipaddr 192.168.84.1
ar7100> tftp 0x80800000 wr941n_en_up_boot_090324.bin
set link to 100M full by lqm.
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.84.9; our IP address is 192.168.84.1
Filename 'wr941n_en_up_boot_090324.bin'.
Load address: 0x80800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##############
done
Bytes transferred = 4063744 (3e0200 hex)
ar7100> erase 0xbf020000 +0x3e0200

First 0x2 last 0x40 sector size 0x10000
  64
Erased 63 sectors
ar7100> cp.b 0x80800000 0xbf020000 0x3e0200
Copy to Flash... write addr: bf020000
done
ar7100> reset

Resetting...
FATAL: term closed

Thought I was being really smart when I changed that length param to erase/cp.b. smile Unfortunately the router did not agree. sad Seems like there is something at the end of the flash there that is needed to even get into U-Boot.

Any way to get it back? Buy a "Flasher" as above? smile Or maybe JTAG?

(Last edited by _bbb_ on 20 Apr 2009, 21:27)

Is there someone owning a rev 1?
Are there any info about it?
Is it ap81 based too?

(Last edited by colrack on 23 Apr 2009, 21:18)

so did anybody get USB working on this?

Wonder if anybody got USB working on D-615. I populated the two data traces with 22Ohm resistors and attached the two 15kOhm pulldowns to the ground. I tried to use one of the +5 traces on the router as Acc, as well as a use a powered hub with a flash drive. However, the router does not seem to recognize the drive - I don't get /dev/scsi folder, though this might be a software problem.

Who has got something to add a USB?

I just do a quick test on my 1043ND, which basically the same as 941ND, and also seems just using only one interface.
I use iperf to do bi-direction benchmark, found out the sum is nearly 13XMb/s, same as in single direction. and CPU load is sky high.

I connected the device (tl-wr941nd v4) to your my computer. and this is what I saw:

U-Boot 1.1.4 (Aug  4 2009 - 14:30:25)

AP93 (ar7240) U-boot
D
RAM: 
sri

#### TAP VALUE 1 = 8, 2 = 9
32 MB
id read 0x100000ff
flash size 4194304
, sector count = 64
Flash:  4 MB
Using default environment


In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_i
nitialize...
No valid address in Flash. Using fixed address

: cfg1 0xf cfg2 0x7014
eth0: 00:03:7f:09:0b:ad

eth0 up
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7214

eth1: 00:03:7f:09:0b:ad
ATHRS26: resetting s26
ATHRS26: s26 reset done

eth1 up
eth0, eth1
Autobooting in 1 seconds

cat /proc/cpuinfo
system type\0x09\0x09: Atheros AR7240 (Python)
processor\0x09\0x09: 0
cpu model\0x09\0x09: MIPS
24K V7.4
BogoMIPS\0x09\0x09: 265.21
wait instruction\0x09: yes
microsecond timers\0x09: yes
tlb_entries\0x09\0x09: 16
extra interrupt vector\0x09: yes
hardware watchpoint\0x09: yes
ASEs implemented\0x09: mips16
VCED exceptions\0x09\0x09: not available
VCEI exceptions\0x09\0x09: not available


Can anything be said on this device? Can I flash it?

(Last edited by alif on 15 Feb 2010, 18:52)

I have some news:
## Booting image at 81000000 ...
   Uncompressing Kernel Image ...
OK

Starting kernel ...

Linux version 2.6.32.7 (admin@serversmb.localdomain) (gcc
version 4.3.3 (GCC) ) #1 Tue Feb 9 13:02:23 ALMT 2010
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
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-WR941ND
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: 28064k/32768k available (2002k kernel code, 4704k reserved, 378k data, 1540k 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
devtmpfs: ini
tialized
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
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)  \0xc2\0xa9 2001-2006 Red Hat, Inc.
yaffs Feb  9 2010 12:58:25 Installing.
msgmni has been set to 54
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: w25q32 (4096 Kbytes)
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
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 west
wood registered
NET: Registered protocol family 17
Distributed Switch Architecture driver version 0.1
eth0[0]: could not detect attached switch
eth0[0]: couldn't create dsa switch instance (error -22)
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: 1540k freed

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 (100Mbps/Full duplex)
- preinit -
Registered led device: tl-wr941nd:green:system
Registered led device: tl-wr941nd:red:qss
Registered led device: tl-wr941nd:green:qss
Press Press f<ENTER> to enter failsafe mode

- regular preinit -

Please press Enter to activate this console.
Generic kernel compatibility enabled based on linux-next next-20100113

cfg80211: Calling CRDA to update world regulatory domain

ath9k ath9k: request_irq failed
ath9k: probe of ath9k failed with error -16

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 (462 buckets, 1848 max)

but wireless is not work(

chips of wr941n(d)-v4  is't the same as wr941n(d)-v2
AP93 (ar7240)  is CPU+Switch,not the same as wr941n v2(CPU: Atheros AR9132 400MHz Switch: Marvell 88E6060-RCJ1)

I understand it is not supported now? Can I be of any help to accelerate the process of porting? Any logs or photos of the device?
in make menuconfig:
Target System (Atheros AR71XX/AR7240/AR913x) --->
                                                   ^^^^^
May be try another driver? Madwifi?

(Last edited by alif on 16 Feb 2010, 20:46)

chips 0f wr841n v5 supported by openwrt is AP93 (ar7240),maybe some one will add support to wr941n(d) v4 quickly

Thank you) tomorrow i will try it) Sorry for my english)

if i were you,i will try the basic openwrt in the AP93 (ar7240)
i speculate the wr941n(d)v4 is the same as wr841n(d)v5 except of the wireless and the flash modules

than according to this https://forum.openwrt.org/viewtopic.php … 761#p92761
to try others modules

i want to know the wr941nd v4 hardware details,i will appreciate if you can post the photos of this router

and good luck

I do not understand how to spread this photo here)

http://s002.radikal.ru/i198/1002/3b/5c5df065201f.jpg
http://s54.radikal.ru/i144/1002/b0/82aaaaa0f134.jpg

How to disable the attempt to update when compiling?
I have a gprs connection(
"Resolving downloads.openwrt.org... failed: Temporary failure in name resolution.                   
wget: unable to resolve host address `downloads.openwrt.org'                                       
Download failed.                                                                                   
No more mirrors to try - giving up."
And i have no binaries(

Filename 'openwrt-ar71xx-tl-wr841nd-v5-squashfs-universal.bin'.
....
ar7240>
bootm

## Booting image at 81000000 ...
   Uncompressing Kernel Image
...
OK

Starting kernel ...

Linux version 2.6.32.7 (buildbot@tksite) (gcc version
4.3.3 (GCC) ) #1 Wed Feb 3 15:28:03 CST 2010
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
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: 29272k/32768k available (2101k kernel code, 3496k reserved, 458k 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
devtmpfs: initialized
NET: Registered protocol family 16
MIPS: machine is TP-LINK TL-WR741ND

registering PCI controller with io_map_base unset
bio: crea
te slab <bio-0> at 0
PCI: fixup device 0000:00:00.0
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)  \0xc2\0xa9 2001-2006 Red Hat, Inc.
yaffs Feb  3 2010 15:21:29 Installing.
msgmni has been set to 57
alg: No test for stdrng (krng)
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: unrecognized JEDEC id ef4016
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xba000000, irq 5

eth1: Atheros AG71xx at 0xb9000000, irq 4

Atheros AR71xx hardware watchdog driver version 0.1.0
TCP w
estwood 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: Cannot open root device "<NULL>" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

w9425g6eh-5h is ram,the AR7240 is under the radiator

i think the flash is not compatible when use "openwrt-ar71xx-tl-wr841nd-v5-squashfs-universal.bin"

(Last edited by 69350 on 19 Feb 2010, 17:27)

They differ only in flash? It possible to combine firmware 941n v5 and 841n v5? Any idea?)

Maybe the problem is this:

Just be warned that at some point the flash chip in these devices has changed.

It was a winbond chip identified by the kernel as s25sl032a

now it's an hynix 934A HY5DU561622FTP-5
Kernel sees this as
m25p80 spi0.0: unrecognized JEDEC id ef4016

How can I do?

(Last edited by alif on 18 Feb 2010, 05:53)

comparing to the two of your posting of the system log,
the first seems the flash is right but the switch not compatible
the sencond seems the switch right but the flash not compatible

i think the flash(maybe eeprom) of 941n v4 is the same as 941n v2,
and the circuit is the same as 841n v5

anyone has a good idea
please help to support TL-WR941ND v4

thanks

(Last edited by 69350 on 19 Feb 2010, 17:28)