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.

BTW: I'm still stuck on bridging the R356 pad. Soldering it is not easy and I can't find any of that liquid metal stuff.

Hm, im not seeing your problems. It took me 5 minutes to solder the bridge. What I did was:

-take a thin cable (must be drilled).
-undrill it and use only one single wire. Keep this wire attached to the cable.
-put some solder on it.
-add a little extra solder on the pads to bridge (not too much).
-take the cable (you can use an angle of about 120°) and hold the single wire onto the bridge. Take your heated iron and put it in the middle on the wire (1-2 sec). Then simply cut the connection to the main cable. Ready...

If you can't solder decently anymore because of molten/burned board material in the way, carefully remove the dirt with a screwdriver. Looks like new after it...

BTW, this and several other reasons (such as u-boot mods, shared Ethernet interface for LAN and WAN) are why I put TP-Link near bottom of recommended AP81 routers.  The good news is that they have excellent worldwide distribution... so worth the effort.

I agree with you. I'd like to use the planex, but it is not availible in DE. On the other hand the TP-Link costs only 37,99€ here (thats extremly cheap for a 3x3 mimo with detachable antennas). And maybe we can figure out the USB stuff. DATA connection is ready, there is only the problem of powering the port...

(Last edited by prisma on 8 Mar 2009, 15:18)

Elphidium wrote:

Hi, i brought one wr941nd, its v2.0 and i have some questions
1. can i upgrade a existing openwrt instalation on wr941nd ?
2. can i revert back to original firmware ?
3. someone have tryed usb modules with openwrt and wr941nd ?
I don´t have a serial adapter and never worked with one so i being carefull.

Thanks for the great work !

1. Of course you can.
2. Yes, you can.
3. wr941nd doesn't have USB port. To use USB port, some hardware hacking must be done. Till now, no one has used USB port on it.

If you don't want to be involved in hacking, hold on. Current port is not finished work.

RoundSparrow wrote:
_bbb_ wrote:

BTW: I'm still stuck on bridging the R356 pad. Soldering it is not easy and I can't find any of that liquid metal stuff. sad

Pencil.  http://www.motherboards.org/articles/guides/41_4.html

BTW, this and several other reasons (such as u-boot mods, shared Ethernet interface for LAN and WAN) are why I put TP-Link near bottom of recommended AP81 routers.  The good news is that they have excellent worldwide distribution... so worth the effort.

When using pencil, you should be careful not drop black lead powder on the PCB, or you will cause mysterious short circuit.

(There is black lead powder bomb which destroys electric device very efficiently and irreparably.)

Great!

Gabor already added the support for the Numonyx 320S33B 8 hours ago.

[ar71xx] add support for the Numonyx 320S33B SPI flash chip which can be found on the TL-WR941NDv2 r1.1 boards

So our v2.2 routers (1.1 board revision) should work.
I'm gonna test immediately when i'm home.

lark wrote:
Elphidium wrote:

Hi, i brought one wr941nd, its v2.0 and i have some questions
1. can i upgrade a existing openwrt instalation on wr941nd ?
2. can i revert back to original firmware ?
3. someone have tryed usb modules with openwrt and wr941nd ?
I don´t have a serial adapter and never worked with one so i being carefull.

Thanks for the great work !

1. Of course you can.
2. Yes, you can.
3. wr941nd doesn't have USB port. To use USB port, some hardware hacking must be done. Till now, no one has used USB port on it.

If you don't want to be involved in hacking, hold on. Current port is not finished work.

Thanks for the reply

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 ?

Hello to all.
I was reading this thread from the beginning, I have a TP-Link WR941ND and yesterday I was compiling the OpenWrt firmware following the instructions from this (http://forum.openwrt.org/viewtopic.php?id=18858).
I got file like "openwrt-ar71xx-rootfs.tgz, openwrt-ar71xx-root.squashfs, and much more"
But I don't know if this can work on my router, because I was trying to flash it using the web interface and I always get :

(Error code: 18005
Upgrade unsuccessfully because the version of the upgraded file was incorrect. Please check the file name. )

My board is 1.0 and router rev. is 2.2.

Thank's to all. And sorry for my english.

Jorge

Elphidium wrote:
lark wrote:
Elphidium wrote:

Hi, i brought one wr941nd, its v2.0 and i have some questions
1. can i upgrade a existing openwrt instalation on wr941nd ?
2. can i revert back to original firmware ?
3. someone have tryed usb modules with openwrt and wr941nd ?
I don´t have a serial adapter and never worked with one so i being carefull.

Thanks for the great work !

1. Of course you can.
2. Yes, you can.
3. wr941nd doesn't have USB port. To use USB port, some hardware hacking must be done. Till now, no one has used USB port on it.

If you don't want to be involved in hacking, hold on. Current port is not finished work.

Thanks for the reply

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 ?

That may work, but I am not sure.  USB has some power/current requirement upon plug in and initialization. I didn't have enough time to read specification carefully, so in theory I am not sure. My mobile harddisk has only PS2 power cord and all my computers don't have PS2 port, so I can't try it myself at this time.

Maybe RoundSparrow can have a test smile

lark wrote:

Maybe RoundSparrow can have a test smile

Somebody would need to give me details on where to solder what.  I have a USB extension cable and I figure I can cut it and solder wires directly to the PAD...  but I assume also some missing parts or connections on the motherboard?

I'm willing to try, but again - need instructions.  Maybe someone mark up the photo?

jorge wrote:

Hello to all.
I was reading this thread from the beginning, I have a TP-Link WR941ND and yesterday I was compiling the OpenWrt firmware following the instructions from this (http://forum.openwrt.org/viewtopic.php?id=18858).
I got file like "openwrt-ar71xx-rootfs.tgz, openwrt-ar71xx-root.squashfs, and much more"
But I don't know if this can work on my router, because I was trying to flash it using the web interface and I always get :

(Error code: 18005
Upgrade unsuccessfully because the version of the upgraded file was incorrect. Please check the file name. )

My board is 1.0 and router rev. is 2.2.

Thank's to all. And sorry for my english.

Jorge

I don't recommend you to try flash it at this stage if you don't want to be involved in hardware hacking. You may brick it.

The files you mentioned are "raw" material. You should use openwrt-ar71xx-tl-wr941ndv2-squashfs.uni (or something like openwrt-ar71xx-tl-wr941ndv2-squashfs.bin, depending on which revision you are using).

lark wrote:

I don't recommend you to try flash it at this stage if you don't want to be involved in hardware hacking. You may brick it.

The files you mentioned are "raw" material. You should use openwrt-ar71xx-tl-wr941ndv2-squashfs.uni (or something like openwrt-ar71xx-tl-wr941ndv2-squashfs.bin, depending on which revision you are using).

Thank you. I will wait for more security.

RoundSparrow wrote:
lark wrote:

Maybe RoundSparrow can have a test smile

Somebody would need to give me details on where to solder what.  I have a USB extension cable and I figure I can cut it and solder wires directly to the PAD...  but I assume also some missing parts or connections on the motherboard?

I'm willing to try, but again - need instructions.  Maybe someone mark up the photo?

No need to solder, if you have

1. mobile harddisk with USB power cord. That is, the computer end of USB cord has 2 USB plug, one is for USB data and one is for extra power supply.
or
2. mobile harddisk with PS2 power cord, and you have PS2 socket in your computer. That is, the computer end of USB cord has 1 USB plug and 1 PS2 plug, the latter is for extra power supply.

You plug mobile harddisk's data plug into router, plug power plug into your computer, load USB kernel module, and see if it's working.


Update:

Or another easy way, if you have a powered USB hub.  Plug USB hub to router, and plug a USB flash stick to hub. I will order powered USB hub later.

(Last edited by lark on 8 Mar 2009, 17:23)

Does anyone have an Idea how to recover the router?
I used: tftp 0xa0060000 openwrt-ar71xx-vmlinux.bin; go 0xa0060000

and the new kernel boots. By starting 2 putty sessions very fast consecutively i found the following logs:
u-boot(9600)

ar7100>

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...
No valid address in Flash. Using fixed address
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Autobooting in 1 seconds, press "tp" to stop
ar7100> tftp 0xa0060000 openwrt-ar71xx-vmlinux.bin
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-vmlinux.bin'.
Load address: 0xa0060000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##
done
Bytes transferred = 2334854 (23a086 hex)
ar7100> go 0xa0060000
## Starting application at 0xA0060000 ...
Linux version 2.6.28.7 (prisma@oimel) (gcc version 4.1.2) #2 Sun Mar 8 18:31:01 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
Calibrating delay loop... 266.24 BogoMIPS (lpj=1331200)
Mount-cache hash table entries: 512
net_namespace: 480 bytes
NET: Registered protocol family 16
MIPS: machine is Generic AR71xx board
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 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
yaffs Feb 27 2009 09:08:31 Installing.
msgmni has been set to 58
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver1 ports, IRQ sharing disabled

kernel(115200):

 Atheros AR71xx SPI Controller driver version 0.2.2
Atheros AR71xx hardware watchdog driver version 0.1.0
TCP vegas registered
NET: Registered protocol family 17
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)

now the flash seems to be supported, but still no root :-(
Any Ideas? Maybe a tricky u-boot parameter. Or a possibility to flash via u-boot?

lark wrote:
Elphidium wrote:
lark wrote:

1. Of course you can.
2. Yes, you can.
3. wr941nd doesn't have USB port. To use USB port, some hardware hacking must be done. Till now, no one has used USB port on it.

If you don't want to be involved in hacking, hold on. Current port is not finished work.

Thanks for the reply

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 ?

That may work, but I am not sure.  USB has some power/current requirement upon plug in and initialization. I didn't have enough time to read specification carefully, so in theory I am not sure. My mobile harddisk has only PS2 power cord and all my computers don't have PS2 port, so I can't try it myself at this time.

Maybe RoundSparrow can have a test smile

I flashed my wr941nd now and ath9k says hal status -22. (i used binutils 2.19.1 and gcc 4.3.3)
I want to back to original, the command line is 'mtd -r write wr941n_en_3_4_5_up(081110).bin firmware' ? and for openwrt upgrade i use the same line ?
I´ll make another openwrt with usb to try later, i have a usb hd with aux usb conector, in the packages repository don´t have kmod-usb.

My very thanks for all the attention.

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

_bbb_ wrote:

http://farm4.static.flickr.com/3401/3333293102_b8282111f8_b.jpg
http://farm4.static.flickr.com/3589/3333293194_eba9d9d9f5_o.jpg

Would be great if we could get some help from Lark. smile

I'm using a Meraki serial adaptor and a linux machine with picocom. I test it on a Meraki Mini (to see that it works) at 115200 baud and then move it over to the TP-LINK. I've also measured the VCC voltage on the Meraki Mini and it is the same as the TP-LINK, 3.3v. Should be ok, right?

EDIT: I have a high resolution image of most of the board that I can email if it helps (Flickr scales it down to some max size).

_bbb_: You'd better not solder cable directly to PCB, but use pin strip header, pin connector, pin cable, dupont pin header instead. These things is cheap but save you a lot of trouble.

(Last edited by lark on 9 Mar 2009, 03:09)

Finally success! smile

Not that it is any news but I just have to share this: wink

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...
No valid address in Flash. Using fixed address
eth0: 00:03:7f:09:0b:ad
eth0 up
eth0
Autobooting in 1 seconds, press "tp" to stop
## Booting image at bf020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

It was pad briding that was causing problems all along. The pencil trick didn't work, I think the distance between the pads is too big. Soldering it felt almost impossible after all that screwdriver wiggling had worn it down. I finally found this product that worked "out-of-the-box" (good to know if you happen to be in Sweden): http://www.kjell.com/?item=89313&path=

Recover via flashing in U-Boot worked for me. Now I can play around a little...
Thanks Gabor!

Next thing is the USB port. A while ago i found out a fitting power converting IC. It should'nt be so difficult.

I finally found this product that worked "out-of-the-box" (good to know if you happen to be in Sweden): http://www.kjell.com/?item=89313&path=

I didn't recommend this kind of things because I feel it is expensive for this little hack alone. But you did it, oops. I wish it can be useful for you later wink

Finally unbricked: tongue

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...
No valid address in Flash. Using fixed address
eth0: 00:03:7f:09:0b:ad
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 (bjornsmedman@vtdt3) (gcc version 4.1.2) #1 Mon Mar 9 15:02:33 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
Calibrating delay loop... 266.24 BogoMIPS (lpj=1331200)
Mount-cache hash table entries: 512
net_namespace: 480 bytes
NET: Registered protocol family 16
MIPS: machine is TP-LINK TL-WR941ND
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 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
yaffs Mar  9 2009 14:58:22 Installing. 
msgmni has been set to 58
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver1 ports, IRQ sharing disabled
sj���[�s߃s�jj~�sKW�֒W��Ûv�k���g/j��ϗ�s�550A
*** baud: 19200 ***
V
 H
*** baud: 38400 ***
��2C�P9r�9�{��029�����������8u�����ry��j�
                                             �C��}�xp=
*** baud: 57600 ***

*** baud: 115200 ***
^Aeth0: link up (100Mbps/Full duplex)
eth0: link down
eth0: link up (100Mbps/Full duplex)
device lan1 entered promiscuous mode
device eth0 entered promiscuous mode
device lan2 entered promiscuous mode
device lan3 entered promiscuous mode
device lan4 entered promiscuous mode
lan3: link up, 100 Mb/s, full duplex, flow control disabled
br-lan: topology change detected, propagating
br-lan: port 3(lan3) entering forwarding state
br-lan: port 3(lan3) entering disabled state
br-lan: topology change detected, propagating
br-lan: port 3(lan3) entering forwarding state
cfg80211: Using static regulatory domain info
cfg80211: Regulatory domain: US
        (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
        (2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
        (5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
        (5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
cfg80211: Calling CRDA for country: US
phy0: Atheros AR9100 MAC/BB Rev:0, AR2133 RF Rev:a1, mem=0xb80c0000, irq=2
cfg80211: Calling CRDA for country: US
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (512 buckets, 2048 max)
gpio-buttons driver version 0.1.1
input: gpio-buttons as /devices/platform/gpio-buttons/input/input0
jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
jffs2_build_filesystem(): unlocking the mtd device... done.
jffs2_build_filesystem(): erasing all blocks after the end marker... done.
mini_fo: using base directory: /
mini_fo: using storage directory: /jffs



BusyBox v1.11.3 (2009-03-03 16:43:43 CET) 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, r14795) -------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
 ---------------------------------------------------
root@OpenWrt:/#

I have rarely been so happy to see 15 machine generated ascii characters: "root@OpenWrt:/#". smile

Thanx for all the help everybody! smile And thanx Gabor for the port! wink

Great!
Ok, now that the dust has settled.  Which versions of the board are confirmed working now?  And is it safe to encourage users to flash via the web interface on all these models (without serial port installed).

lark wrote:

1. mobile harddisk with USB power cord. That is, the computer end of USB cord has 2 USB plug, one is for USB data and one is for extra power supply.
or
2. mobile harddisk with PS2 power cord, and you have PS2 socket in your computer. That is, the computer end of USB cord has 1 USB plug and 1 PS2 plug, the latter is for extra power supply.

You plug mobile harddisk's data plug into router, plug power plug into your computer, load USB kernel module, and see if it's working.

I do not have the proper connector for the system board, so I solder wires into the two center pads of J10 that have trace lines.  I try them backwards and forwards D+ D- and does not work.  I used a hard disk cable with split 5v power as you describe, no luck.

I trace the D- and D+ lines from J10 back to CPU. I observe that they do not meet the CPU?  They exit to underside of the board or terminate shortly before the CPU?  photo:

http://sites.google.com/site/stephengutknecht/Home/TP-Link_941_USBTerm1.jpg

For reference, here is a photo I took of the D-Link DIR-615 C1 traces from USB to CPU: http://sites.google.com/site/stephengutknecht/Home/d-link_dir615c1_usbpaths1.JPG

(Last edited by RoundSparrow on 9 Mar 2009, 17:41)

For reference, this is a photo of the Zyxel version of this router (same AR9132/AR9103 chips as the TP-Link).  The USB pads are well labeled here:

http://sites.google.com/site/stephengutknecht/Home/Zyxel_AP81_usb_paths1crop1.JPG

RoundSparrow wrote:
lark wrote:

1. mobile harddisk with USB power cord. That is, the computer end of USB cord has 2 USB plug, one is for USB data and one is for extra power supply.
or
2. mobile harddisk with PS2 power cord, and you have PS2 socket in your computer. That is, the computer end of USB cord has 1 USB plug and 1 PS2 plug, the latter is for extra power supply.

You plug mobile harddisk's data plug into router, plug power plug into your computer, load USB kernel module, and see if it's working.

I do not have the proper connector for the system board, so I solder wires into the two center pads of J10 that have trace lines.  I try them backwards and forwards D+ D- and does not work.  I used a hard disk cable with split 5v power as you describe, no luck.

I trace the D- and D+ lines from J10 back to CPU. I observe that they do not meet the CPU?  They exit to underside of the board or terminate shortly before the CPU?  photo:

http://sites.google.com/site/stephengutknecht/Home/TP-Link_941_USBTerm1.jpg

For reference, here is a photo I took of the D-Link DIR-615 C1 traces from USB to CPU: http://sites.google.com/site/stephengutknecht/Home/d-link_dir615c1_usbpaths1.JPG

I studied my WR941DN's PCB (rev 1.0), USB's D+ and D- track to about north-east corner (front panel is south) on the PCB's up layer, then through via to bottom layer, go west and south, through via to up layer again, reach the CPU pins.

I think TP5 and TP21 at north-west corner of CPU are D+ and D- test points.

More USB port observations.  I notice there is weak continuity between D- and D+ pads on the TP-Link!

D- to D+ resistance

TP-Link 941:  5.94 Ohms
Zyxel:  no connection
DIR-615 C1: no connection
Planex (working USB): 5.80 Ohms

So I try D- and D+ to ground, I see:

TP-Link:  2.20 Ohms on both D- and D+
Zyxel:  no connection on either D- or D+
DIR-615 C1:  no connection on either D- or D+
Planex (working USB): 2.20 Ohms on both D- and D+

These resistance tests were performed with no power or cables connected to router.  I am inexperienced with a volt meter, can someone confirm this?  It seems to me the TP-Link is close to the Planex in many ways, and the Planex has working USB port.

Another finding is, although we think WR941ND uses only one ethernet port of CPU to connect switch chip, the other ethernet port is also connected.

Near cpu north-east corner, R499, R501-R507 (total 8 pins) are missing. They are for the second ethernet port.

(Last edited by lark on 9 Mar 2009, 18:42)