OpenWrt Forum Archive

Topic: AR7240 procesor USB pins

The content of this topic has been archived on 2 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hello everybody,

I would like to try add USB to my TL-WR741ND router. Since on the router board there aren't even electric paths that could be identified as USB, I would like to ask someone with another AR7240 based router (like latest versions of TL-WR841ND and TL-WR941ND) to identify USB pins on procesor. TL-WR741ND is pretty neat device and cost only about 20€/25$. However with USB it would rock the world. The manufacturer specs says the procesor has definitely USB 1.1 support, my task is to find it and make it work.

Any help would be appreciated.

CPU pins 73,74

Thank you very much.

If I count well USB are the 2 pins marked on the picture, but I still don't know which is D+ and D-. It will be quite a challenge for my soldering skills, since its necessary to solder wires directly to cpu pins, which are really tiny.

A little schematics (resistors, capacitors,...) of path from cpu to USB port would be handy. However I think it would be possible to proceed without it.

http://spejlickari.wz.cz/fileget.php?file=AR7240.JPG

(Last edited by nosense on 25 May 2010, 13:08)

Hello.
I would like to know the model TL-R841ND, can be soldered USB. But not to the CPU, another on the board. And what do you want 4 pins on the board, not inadvertently to USB?

in Russian.
????????????.
? ????? ?? ?????? ? ?????? TL-?841??, ????? ???????? ???. ?? ?? ? ??, ? ??????? ?? ?????. ????? ????? 4 ??????? ?? ?????,  ?? ??? ????

(Last edited by ??????? on 18 Sep 2010, 11:05)

There are many hw revisions of the TL-R841ND. Can you post your's photo and show what do you mean ?

4 ??????? ?? ??????

??????? USB ???????? ??????????? http://wiki.openwrt.org/toh/tp-link/tl-wr741nd . ???????? ?????????? ????, ? ??? ????? ???????? ???????? ?????????? ??? ????? ??????? ? ?????????? USB. ? ???????????? USB ??????? ??? ????? ???:??. ????.

Router TPLINK TL-WR741ND. USB soldered according to the guidelines http://wiki.openwrt.org/toh/tp-link/tl-wr741nd. Help patch the kernel, or better yet put the firmware specifically for this router that supports USB.
From a connected USB flash drive that's such a kernel log

Linux version 2.6.32.16 (openwrt@ampere) (gcc version 4.3.3 (GCC) ) #1 Wed Aug 25 15:20:15 PDT 2010
prom: fw_arg0=00000007, fw_arg1=a1f87fb0, fw_arg2=a1f88460, fw_arg3=00000004
MyLoader: sysp=00000000, boardp=00008000, parts=ffffffff
bootconsole [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
Atheros AR7240 rev 2, CPU:350.000 MHz, AHB:175.000 MHz, DDR:350.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 802d25a0, 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: 29304k/32768k available (2109k kernel code, 3464k reserved, 398k 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... 232.65 BogoMIPS (lpj=1163264)
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 25 2010 15:11:02 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: s25sl032a (4096 Kbytes)
spi0.0: searching for MyLoader partition table at offset 0x10000
spi0.0: searching for MyLoader partition table at offset 0x20000
spi0.0: searching for MyLoader partition table at offset 0x30000
spi0.0: searching for MyLoader partition table at offset 0x40000
spi0.0: no MyLoader partition table found
Searching for RedBoot partition table in spi0.0 at offset 0x3e0000
Searching for RedBoot partition table in spi0.0 at offset 0x3f0000
No RedBoot partition table detected in spi0.0
spi0.0: no WRT160NL signature found
Creating 5 MTD partitions on "spi0.0":
0x000000000000-0x000000020000 : "u-boot"
0x000000020000-0x000000160000 : "kernel"
0x000000160000-0x0000003f0000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
mtd: partition "rootfs_data" created automatically, ofs=370000, len=80000 
0x000000370000-0x0000003f0000 : "rootfs_data"
0x0000003f0000-0x000000400000 : "art"
0x000000020000-0x0000003f0000 : "firmware"
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xba000000, irq 5
eth0: Found an AR7240 built-in switch
eth1: Atheros AG71xx at 0xb9000000, irq 4
eth1: using fixed link parameters
Atheros AR71xx hardware watchdog driver version 0.1.0
ar71xx-wdt: timeout=15 secs (max=24)
TCP westwood 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: 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
eth1: link up (100Mbps/Full duplex)
Compat-wireless backport release: compat-wireless-2010-07-13-4-g04898a5
Backport based on wireless-2.6.git v2.6.35-rc6-48432-gdce358e
cfg80211: Calling CRDA to update world regulatory domain
SCSI subsystem initialized
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)
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 'minstrel_ht'
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 AR9285 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)
ip_tables: (C) 2000-2006 Netfilter Core Team
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
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.
ath_hal: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
ath_hal: 2009-05-08 (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425, REGOPS_FUNC, XR)
ath_pci: trunk
wlan: trunk
wlan: mac acl policy registered
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (trunk)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
eth0: link up (1000Mbps/Full duplex)
device wlan0 entered promiscuous mode
Bebebe wrote:

Help patch the kernel, or better yet put the firmware specifically for this router that supports USB.

Do you have any real problems compiling the firmware? The procedure is fairly straightforward. Feel free to ping me on irc (freenode) or jabber xmpp://paulfertser@jabber.org (we can have a conversation in russian for your convenience :) )

Thank you for your response. I've already mastered the process of compiling their own firmware. It would be nice to put firmware with USB support website.

Bebebe wrote:

It would be nice to put firmware with USB support website.

Well, soldering to those small pins is certainly not the easiest process and requires some effort. I assume that it shouldn't be hard for someone willing to solder tiny parts to also compile a custom firmware version for his needs. But i agree having a selectable option in menuconfig would be nicer than having to apply a patch.

BTW, how do you provide the power to your usb devices? Did you put this hack to any use? TBH, my sole motivation to do that was a desire to unleash the functionality that was almost ruined by those greedy morons (they could have easily routed those two lines and placed those two resistors to allow for an easy upgrade).

Happy hacking! :)

(Last edited by PaulFertser on 15 Oct 2010, 08:27)

Does anybody have a complete pinout for AR7240? I would like to use some GPIO's which are not connected to LED's or switches if it possible.
thank you!
pokot

Hi there, I soldered to that tiny parts but I'm not able to compile the custom firmware I need to make it work.

I agree to the request of a precompiled firmware supporting USB.

Please help.

pokot wrote:

Does anybody have a complete pinout for AR7240? I would like to use some GPIO's which are not connected to LED's or switches if it possible.

No one have such pinout?

Whic is the D+ D- and how to connect it to an external USB connector  (resistot-capacitor needed)?

I can share firmware with support for USB. How do I add a USB'll post later with pictures.

Bebebe wrote:

I can share firmware with support for USB. How do I add a USB'll post later with pictures.

But for a firmware with usb support you can pick any of the ar71xx snapshots...
The problem is only to know the pinout.

Hello all.

I just got done doing this very mod on the DIR-601 router two days ago. Since the processor is very similar, the process will be the same for your routers.

I have very carefully documented my work and written instructions at http://wiki.openwrt.org/toh/d-link/dir-600#usb.mod

That should answer all of the above questions (including pin-out questions), and if you have any more please feel free to ask.

Please notice that I have yet to upload photos (will do tomorrow probably) and I have a few more minor things to touch up in the article. Currently Ext4 formatted flash drives have been tested and are working.

Cheers.
- amishx64

The discussion might have continued from here.