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.

Is it true that for TL-WR941ND v1-v3 the Flash Memory Command "erase" and "cp" were removed in U-Boot 1.1.4 (Jun 18 2009 - 15:08:27) and later as reported here by fzfq3m?

Can somebody help me? I can't get usb working on 941ndV3.5(Board rev.1.2): i've flashed modded uboot, added 2 lines in target file, soldered r96 and 5V power line (and shortened r1000 r1001), but there is no activity on the port. All needed kernel modules also installed. Log:

Mar 27 05:44:00 trololo syslog.info syslogd started: BusyBox v1.17.3
Mar 27 05:44:00 trololo user.notice kernel: No RedBoot partition table detected in spi0.0
Mar 27 05:44:00 trololo user.notice kernel: spi0.0: no WRT160NL signature found
Mar 27 05:44:00 trololo user.notice kernel: Creating 5 MTD partitions on "spi0.0":
Mar 27 05:44:00 trololo user.notice kernel: 0x000000000000-0x000000020000 : "u-boot"
Mar 27 05:44:00 trololo user.notice kernel: 0x000000020000-0x000000160000 : "kernel"
Mar 27 05:44:00 trololo user.notice kernel: 0x000000160000-0x0000003f0000 : "rootfs"
Mar 27 05:44:00 trololo user.notice kernel: mtd: partition "rootfs" set to be root filesystem
Mar 27 05:44:00 trololo user.info kernel: mtd: partition "rootfs_data" created automatically, ofs=380000, len=70000 
Mar 27 05:44:00 trololo user.notice kernel: 0x000000380000-0x0000003f0000 : "rootfs_data"
Mar 27 05:44:00 trololo user.notice kernel: 0x0000003f0000-0x000000400000 : "art"
Mar 27 05:44:00 trololo user.notice kernel: 0x000000020000-0x0000003f0000 : "firmware"
Mar 27 05:44:00 trololo user.info kernel: ag71xx_mdio: probed
Mar 27 05:44:00 trololo user.info kernel: eth0: Atheros AG71xx at 0xb9000000, irq 4
Mar 27 05:44:00 trololo user.debug kernel: eth0: using fixed link parameters
Mar 27 05:44:00 trololo user.info kernel: Atheros AR71xx hardware watchdog driver version 0.1.0
Mar 27 05:44:00 trololo user.debug kernel: ar71xx-wdt: timeout=15 secs (max=42)
Mar 27 05:44:00 trololo user.info kernel: TCP westwood registered
Mar 27 05:44:00 trololo user.info kernel: NET: Registered protocol family 17
Mar 27 05:44:00 trololo user.notice kernel: Distributed Switch Architecture driver version 0.1
Mar 27 05:44:00 trololo user.info kernel: eth0[0]: detected a Marvell 88E6060 switch
Mar 27 05:44:00 trololo user.info kernel: dsa slave smi: probed
Mar 27 05:44:00 trololo user.info kernel: 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
Mar 27 05:44:00 trololo user.info kernel: All bugs added by David S. Miller <davem@redhat.com>
Mar 27 05:44:00 trololo user.warn kernel: VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Mar 27 05:44:00 trololo user.info kernel: Freeing unused kernel memory: 148k freed
Mar 27 05:44:00 trololo user.warn kernel: Please be patient, while OpenWrt loads ...
Mar 27 05:44:00 trololo user.info kernel: input: gpio-buttons as /devices/platform/gpio-buttons/input/input0
Mar 27 05:44:00 trololo user.info kernel: Button Hotplug driver version 0.4.1
Mar 27 05:44:00 trololo user.debug kernel: ar71xx: pll_reg 0xb8050014: 0x13000a44
Mar 27 05:44:00 trololo user.info kernel: eth0: link up (100Mbps/Full duplex)
Mar 27 05:44:00 trololo user.info kernel: Registered led device: tl-wr941nd:green:system
Mar 27 05:44:00 trololo user.info kernel: Registered led device: tl-wr941nd:red:qss
Mar 27 05:44:00 trololo user.info kernel: Registered led device: tl-wr941nd:green:qss
Mar 27 05:44:00 trololo user.info kernel: Registered led device: tl-wr941nd:green:wlan
Mar 27 05:44:00 trololo user.info kernel: mini_fo: using base directory: /
Mar 27 05:44:00 trololo user.info kernel: mini_fo: using storage directory: /overlay
Mar 27 05:44:00 trololo user.info kernel: eth0: link down
Mar 27 05:44:00 trololo user.debug kernel: ar71xx: pll_reg 0xb8050014: 0x13000a44
Mar 27 05:44:00 trololo user.info kernel: eth0: link up (100Mbps/Full duplex)
Mar 27 05:44:01 trololo user.info kernel: device eth0 entered promiscuous mode
Mar 27 05:44:01 trololo user.info kernel: wan: link up, 100 Mb/s, full duplex, flow control disabled
Mar 27 05:44:02 trololo user.info kernel: PPP generic driver version 2.4.2
Mar 27 05:44:02 trololo user.info kernel: NET: Registered protocol family 24
Mar 27 05:44:02 trololo user.notice rdate: No usable time server for loopback found
Mar 27 05:44:03 trololo user.info kernel: device lan1 entered promiscuous mode
Mar 27 05:44:03 trololo user.info kernel: lan1: link up, 100 Mb/s, full duplex, flow control disabled
Mar 27 05:44:03 trololo user.info kernel: br-lan: port 1(lan1) entering forwarding state
Mar 27 05:44:03 trololo user.notice rdate: No usable time server for eth found
Mar 27 05:44:03 trololo daemon.info pppd[527]: Plugin rp-pppoe.so loaded.
Mar 27 05:44:03 trololo user.info kernel: device lan2 entered promiscuous mode
Mar 27 05:44:04 trololo user.info kernel: device lan3 entered promiscuous mode
Mar 27 05:44:04 trololo user.info kernel: device lan4 entered promiscuous mode
Mar 27 05:44:04 trololo user.info kernel: Compat-wireless backport release: compat-wireless-2010-12-10-3-g880bb0b
Mar 27 05:44:04 trololo user.info kernel: Backport based on wireless-testing.git master-2010-12-16
Mar 27 05:44:05 trololo user.info kernel: cfg80211: Calling CRDA to update world regulatory domain
Mar 27 05:44:06 trololo user.notice kernel: SCSI subsystem initialized
Mar 27 05:44:06 trololo user.info kernel: cfg80211: World regulatory domain updated:
Mar 27 05:44:06 trololo user.info kernel: cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Mar 27 05:44:06 trololo user.info kernel: cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:06 trololo user.info kernel: cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:06 trololo user.info kernel: cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:06 trololo user.info kernel: cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:06 trololo user.info kernel: cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:06 trololo user.notice rdate: No usable time server for lan found
Mar 27 05:44:06 trololo user.info kernel: usbcore: registered new interface driver usbfs
Mar 27 05:44:06 trololo user.info kernel: usbcore: registered new interface driver hub
Mar 27 05:44:06 trololo user.info kernel: usbcore: registered new device driver usb
Mar 27 05:44:08 trololo user.debug kernel: ath: EEPROM regdomain: 0x0
Mar 27 05:44:08 trololo user.debug kernel: ath: EEPROM indicates default country code should be used
Mar 27 05:44:08 trololo user.debug kernel: ath: doing EEPROM country->regdmn map search
Mar 27 05:44:08 trololo user.debug kernel: ath: country maps to regdmn code: 0x3a
Mar 27 05:44:08 trololo user.debug kernel: ath: Country alpha2 being used: US
Mar 27 05:44:08 trololo user.debug kernel: ath: Regpair used: 0x3a
Mar 27 05:44:08 trololo user.debug kernel: ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
Mar 27 05:44:08 trololo user.info kernel: ieee80211 phy0: Atheros AR9100 MAC/BB Rev:0 AR2133 RF Rev:a2 mem=0xb80c0000, irq=2
Mar 27 05:44:08 trololo user.info kernel: cfg80211: Calling CRDA for country: US
Mar 27 05:44:08 trololo user.info kernel: cfg80211: Regulatory domain changed to country: US
Mar 27 05:44:08 trololo user.info kernel: cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Mar 27 05:44:08 trololo user.info kernel: cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm)
Mar 27 05:44:08 trololo user.info kernel: cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm)
Mar 27 05:44:08 trololo user.info kernel: cfg80211:     (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:08 trololo user.info kernel: cfg80211:     (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:08 trololo user.info kernel: cfg80211:     (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Mar 27 05:44:08 trololo user.info kernel: cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
Mar 27 05:44:09 trololo user.info kernel: ip_tables: (C) 2000-2006 Netfilter Core Team
Mar 27 05:44:09 trololo user.info kernel: ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Mar 27 05:44:09 trololo user.info kernel: ar71xx-ehci ar71xx-ehci: Atheros AR91xx built-in EHCI controller
Mar 27 05:44:09 trololo user.info kernel: ar71xx-ehci ar71xx-ehci: new USB bus registered, assigned bus number 1
Mar 27 05:44:09 trololo user.info kernel: ar71xx-ehci ar71xx-ehci: irq 3, io mem 0x1b000000
Mar 27 05:44:09 trololo user.info kernel: ar71xx-ehci ar71xx-ehci: USB 2.0 started, EHCI 1.00
Mar 27 05:44:09 trololo user.info kernel: usb usb1: configuration #1 chosen from 1 choice
Mar 27 05:44:09 trololo user.info kernel: hub 1-0:1.0: USB hub found
Mar 27 05:44:09 trololo user.info kernel: hub 1-0:1.0: 1 port detected
Mar 27 05:44:09 trololo user.warn kernel: nf_conntrack version 0.5.0 (462 buckets, 1848 max)
Mar 27 05:44:09 trololo user.warn kernel: CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use
Mar 27 05:44:09 trololo user.warn kernel: nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or
Mar 27 05:44:09 trololo user.warn kernel: sysctl net.netfilter.nf_conntrack_acct=1 to enable it.
Mar 27 05:44:10 trololo user.info kernel: xt_time: kernel timezone is -0000
Mar 27 05:44:11 trololo user.info kernel: IMQ driver loaded successfully.
Mar 27 05:44:11 trololo user.info kernel:     Hooking IMQ before NAT on PREROUTING.
Mar 27 05:44:11 trololo user.info kernel:     Hooking IMQ after NAT on POSTROUTING.
Mar 27 05:44:11 trololo user.info kernel: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Mar 27 05:44:11 trololo user.info kernel: Initializing USB Mass Storage driver...
Mar 27 05:44:11 trololo user.info kernel: usbcore: registered new interface driver usb-storage
Mar 27 05:44:11 trololo user.info kernel: USB Mass Storage support registered.
Mar 27 05:44:13 trololo user.info kernel: device wlan0 entered promiscuous mode
Mar 27 05:44:13 trololo user.info kernel: br-lan: port 5(wlan0) entering forwarding state

(Last edited by idrAX on 21 Dec 2010, 11:08)

@idrAX

I have the v4 which has the AR7240 processor. It only supports USB 1.1 using the ohci driver.

AFAIK the AR9132 in the V3 supports USB 2.0. Try using the uhci driver instead or enabling the driver for USB 2.0 in the kernel or both. If none of these help then try looking at the hardware.

Nice, it was hardware problem. Now everything works fine.

OK. I did it. Again.... smile Device: TP-Link TL-WR941ND V3.5, hardware REV: 1.2
USB2.0 works just fine. To get it working I made following:

1. Solder +5V circuit (see pic1)
2. Solder r1000/r1001 22 omhs resistors
3. Solder usb D+/D- pull-down lines at the bottom of pcb (15K)
4. Solder usb plug
5. Solder r96 4.7k resistor near main cpu (Atheros AR9132) - they call it USB_RREF
6. Solder r356 bridge (000) at p1 serial and connector
7. Builded and flashed Openwrt backfire from svn
8. Flashed u-boot provided by xiaochuan on china forum (it make some usb initialization)

Power circuit (2 x caps 470ufx16v, 8 x ceramic smd caps 0,1/0,01uf, 1 x LM78L05-TO-92, 1 x murrata choke, 6 x smd bridges):
I forgot to highlight one soldered bridge right at the 78l05 - it routes +9v to regulator input pin
http://i019.radikal.ru/1101/5e/effa5ee8e3a3.jpg

Pull-down resistors (I made one of these using 10k + 4k + 1k):
http://i012.radikal.ru/1101/0e/d116079cd252.jpg

USB_RREF r96 resistor:
http://s009.radikal.ru/i308/1101/07/d46ce0ded22c.jpg

USB plug (for flashdrive):
http://s013.radikal.ru/i325/1101/d9/aaf0ca8401d3.jpg

Flashing u-boot:
Link: http://www.home-wifi.com/bbs/thread-3454-1-1.html

0. Download patched u-boot and tftp server
1. Connect serial cable & power on device
2. Enter u-boot (tp) (ar7100> should appear)
3. Set 192.168.1.2 ip on your computer
4. Start tftp and put into its directory u-boot-ok.bin
5. At device u-boot prompt type:

ar7100> tftp 0x80800000 u-boot-ok.bin
set link to 100M full by lqm.
Using eth0 device
TFTP from server 10.10.104.8; our IP address is 10.10.104.220
Filename 'u-boot-ok.bin'.
Load address: 0x80800000
Loading: ##########################
done
Bytes transferred = 131072 (20000 hex)
ar7100> erase 0xbf000000 +0x20000

First 0x0 last 0x1 sector size 0x10000
   1
Erased 2 sectors
ar7100> cp.b 0x80800000 0xbf000000 0x20000
Copy to Flash... write addr: bf000000
done
ar7100> reset

!!Please make sure u-boot-ok.bin downloaded ok before erase & cp commands!!

usb 1-1: new high speed USB device using ar71xx-ehci and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
scsi 0:0:0:0: Direct-Access     JetFlash TS4GJFV20        8.07 PQ: 0 ANSI: 2
sd 0:0:0:0: [sda] 8011776 512-byte logical blocks: (4.10 GB/3.82 GiB)
sd 0:0:0:0: [sda] Write Protect is off
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

P.S. I downloaded tp-link GPL source code for wr941nd and wr1043n to compare u-boot code. And found this function called during wr1043n startup:

void ar7100_usb_initial_config(void)
{
    ar7100_reg_wr_nf(AR7100_USB_PLL_CONFIG, 0x00001030);
}

Is is possible to add this code to Openwrt ?

(Last edited by regressor on 7 Jan 2011, 03:30)

Friends, I have my WR941ND dead for more than 6 months, I do not remember as I install openwrt, just remember that you install and look me 2 months to install the web application, in the end it started by web, and upon review terminal in the WIFI did not recognize me, I only recognize the eth, is now dead, and would revive the original firmware or a openwrt or dd-wrt to use operating usb, some help dear friends

PD: I understand electronics, computer, because my work is repairing mobile phones, and the tools I have RS232, COM1 or more on FTDI

Sr2004 wrote:

, is now dead,

How dead? Lights? Console? Please define dead.

it comprises, boat, I can log on, but I can not activate or install the Web option, and I have the option of wifi, I do not recognize it, I just want to return to their original version and not as it could for uboot, some help

hi, i have just got a new wr941nd v5 (rev 1.1), and the PCB looks different from the one in wiki. i need a serial console but i cannot even find where P1 is. i took a photo of the board.
http://file.lifetoy.org/tl-wr941n-v5.jpg
could anyone help me to identify the serial pins? much thanks in advance smile

TL-WR941ND v4
I`ve succesfully flash gargoyle 1.3.9 on them and it seems all works fine but i got 1 minor problem: there is no 300Mbit connection (as it have been on factory firmware). All my wi-fi/n clients told @130Mbit and signal strenght less than on factory fw at 3-5m distance. I know that there is command line solution (via ssh) but i can`t remember where i`ve found it last time sad  If there is no solution for now, how i can revert to factory fw?

Is there any other "ready to flash" *.bin image file with web user interface? Have heard about x-wrt, tomato, dd-wrt but have no idea which better or have more features "out of the box".

Ok. There is no need to flash boot rom to get usb working... Here is the list of changes (add_device_usb shuld be done before network initialization or you got network speed & stability problems):

1. Edit file target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr941nd.c
    Add line #include "dev-usb.h" after line #include "dev-leds-gpio.h"
    Add line ar71xx_add_device_usb(); before line ar71xx_add_device_mdio(0x0);
3. Edit file target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
   Add line ar71xx_pll_wr(0x08, 0x00001030); before line ar71xx_detect_mem_size();

(Last edited by regressor on 26 Feb 2011, 12:15)

hsys wrote:

hi, i have just got a new wr941nd v5 (rev 1.1), and the PCB looks different from the one in wiki. i need a serial console but i cannot even find where P1 is.

Can't help you but in case you brick it...

OpenWrt / Report from failed attempt with TL-WR1043ND

Hello, long time no visit. I have a TP-Link TL-WR940N which has fixed (hard cabled) antennas. I purchased mine in Jordan. These are reported to be similar to the 941N except on antenna connection. 

Inside... mine says "Model TL-WR940N Ver.1.2" on the yellow LAN ports. PCB says "11N Wireless Router-8 (AR) A" / "REV:1.0  20008 GFM01".   it is similar to the photo of the 941 v5 posted here but  the printed PCB version info is near the LEDs instead of near the power connector.  Also note this WR940N has USB port connectors, the newer 941N V5 seems to lack that? ((Photo posted on next message)).  The default firmware had this message on the opening page:

Firmware Version: 3.11.3 Build 100408 Rel.42303n
Hardware Version: WR940N v1/WR941N v4 00000000

Mine does not have the problem Intel flash chip that seems to be giving the dd-wrt users troubles in the past.  I flashed it with the 941ND's "DD-WRT v24-sp2 (11/21/10) std - build 15778" without problem.... I don't have my OpenWrt build environment handy at the moment.

keywordz: v1.2 version 1.2 WR940N WR940ND 940 940N 940ND TL TL940ND TL940N TLWR940N TLWR940ND Atheros 3T3R 2.4GHz 802.11n/g/b, Built-in 4-port Switch ath9k wifi 80211n 300Mbps

(Last edited by RoundSparrow on 10 Apr 2011, 07:15)

Picture of the 940N Version 1.2: http://sites.google.com/site/stephengutknecht/Home/TPLink_940N_ver1_2_phto2.jpg

Hi all,

regressor: THX your description about USB initialisation in the kernel, it works great.
But I would like to write it to the u-boot, so I dont need to build kernel, if I want to change.
Could you, or someone tell me, how I can write the initialisation to the u-boot?
I have the same rev than you (ver 3.5, rev 1.2), but the link (http://www.home-wifi.com/bbs/thread-3454-1-1.html
) cannot work.
The serial connection works, I can edit the env. vars, but I cannot save them (saveenv dont works), so when the router reboots, its resets to def. (The uboot-envtools
also don't works)

BTW: you dont need the +5V, some pendrive works great with 3.3 V. (Really the pendrives need 3.3V or less, but they need to reduce the USB's 5V, so that if it works or not with 3.3 V is depends on the reduce method. I use an FC8308-1 IC based pendrive, and it works great.)

hello. I have a WR941ND ver 2.0, and the brick, try to repair it because the wifi did not recognize me now that I have launched wish I could relive it, someone would help me in this feat, please ... I leave my mail for communication, rodrigo13_23@yahoo.es

Hello everyone,
I have WR841 Router, and meanwhile I updating the firmware the electricity got cut off and then when I accessed the RS232 with the cable it booted, I tried to write a flash on the address of the firmware but ever since it didn’t boot and I bought a WR1043 instead and I tried to write a firmware on the WR841 flash but I don’t know exactly its address, and this is what I got:
erase 0xbf020000 +7c0000
tftpboot 0x81000000 code.bin
cp.b 0x81000000 0xbf020000 0x7c0000
So I thought of doing this, while it was working or on function, I dispatched the flash for the WR1043 and I’ve installed it on the WR841, I managed to write the WR841 and the file on the flash (wr841n_en_3_4_5_up_boot(090226) but it doesn’t boot because I wrote it on the wrong address, the file includes the boot sector (U-BOOT 1.1.4 feb 6 2009). So on what kind of address do I have to write it, can anyone help me out?

sz_j1991 wrote:

I managed to write the WR841 and the file on the flash (wr841n_en_3_4_5_up_boot(090226) but it doesn’t boot because I wrote it on the wrong address

Question not the address but the stock firmware. File name with "boot" contains the U-Boot bootloader which you don't need.

dd if=wr841n_en_3_4_5_up_boot(090226).bin of=wr841n_en_3_4_5_up(090226).bin skip=257 bs=512
fyi wrote:
sz_j1991 wrote:

I managed to write the WR841 and the file on the flash (wr841n_en_3_4_5_up_boot(090226) but it doesn’t boot because I wrote it on the wrong address

Question not the address but the stock firmware. File name with "boot" contains the U-Boot bootloader which you don't need.

dd if=wr841n_en_3_4_5_up_boot(090226).bin of=wr841n_en_3_4_5_up(090226).bin skip=257 bs=512

Now the problem is this: http://www.szj1991.co.nr/wr841.html

" ath_ahb: No devices found, driver not installed."

    Wireless radio part not working. sad

I'd guess your art-partition doesn't contain valid data. u-boot is also complaining (Net: ag7100_enet_initialize...
No valid address in Flash. Using fixed address
).

How to repair this? Now the wr841 v3 is in stil runing but the wireless is not working sad(

(Last edited by sz_j1991 on 4 Jul 2011, 20:46)

get someone to dump their art-partition, change the mac with a hex-editor to your values (mentioned in wr1043nd wiki) and flash it in using u-boot.