1 (edited by pokot 2010-10-29 19:36:10)

Topic: TL-WR741ND 64M Memory mod.

Hello everybody!
Today I resolder the memory chip on my Tp-link TL-wr741ND v1.9. The chip which I used is Infineon HYB25D512160BE-5 from Kingston DDR notebook memory (KVR333x64sc25/256).

http://lh6.ggpht.com/_YCKhpRvR2wA/TMsSmHTWLKI/AAAAAAAAA9c/yk2hwFnuAuE/s640/0_DDR64.JPG

boot log with 64M:
---------------------------

U-Boot 1.1.4 (Mar  8 2010 - 10:29:42)

AP91 (ar7240) U-boot
DRAM:
sri
#### TAP VALUE 1 = c, 2 = d
64 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_initialize...
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
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.32.10 (pokot@pokot-laptop) (gcc version 4.3.3 (GCC) ) #1 Thu Oct 14 19:19:03 CEST 2010
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: 04000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
  Normal   0x00000000 -> 0x00004000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00004000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 board=TL-WR741ND
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 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: 61840k/65536k available (2022k kernel code, 3624k reserved, 385k 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: 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: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
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 Oct 14 2010 19:11:30 Installing.
msgmni has been set to 120
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: en25f32 (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
mtd: partition "rootfs_data" created automatically, ofs=3A4000, len=4C000
0x0000003a4000-0x0000003f0000 : "rootfs_data"
0x0000003f0000-0x000000400000 : "art"
0x000000020000-0x0000003f0000 : "firmware"
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 westwood registered
NET: Registered protocol family 17
Distributed Switch Architecture driver version 0.1
eth0[0]: detected a Atheros AR7240 built-in switch
ar8216: Unknown Atheros device [ver=16777215, rev=255, phy_id=004dd041]
ar8216: Unknown Atheros device [ver=16777215, rev=255, phy_id=004dd041]
ar8216: Unknown Atheros device [ver=16777215, rev=255, phy_id=004dd041]
ar8216: Unknown Atheros device [ver=16777215, rev=255, phy_id=004dd041]
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)
- preinit -
Registered led device: tl-wr741nd:green:system
Registered led device: tl-wr741nd:green:qss
Press the [f] key and hit [enter] to enter failsafe mode
- regular preinit -
switching to jffs2
mini_fo: using base directory: /
mini_fo: using storage directory: /overlay
- init -
eth0: link down

Please press Enter to activate this console. eth0: link up (1000Mbps/Full duplex)
eth1: link up (100Mbps/Full duplex)
PPP generic driver version 2.4.2
NET: Registered protocol family 24
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
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
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
nf_conntrack version 0.5.0 (969 buckets, 3876 max)
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
uhci_hcd: USB Universal Host Controller Interface driver
usbcore: registered new interface driver usblp
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
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

  _______                     ________        __
|       |.-----.-----.-----.|  |  |  |.----.|  |_
|   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
|_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
Backfire (10.03, r20742) --------------------------
  * 1/3 shot Kahlua    In a shot glass, layer Kahlua
  * 1/3 shot Bailey's  on the bottom, then Bailey's,
  * 1/3 shot Vodka     then Vodka.
---------------------------------------------------
root@OpenWrt:~# free
              total         used         free       shared      buffers
  Mem:        62064        20084        41980            0         1692
Swap:            0            0            0
Total:        62064        20084        41980
root@OpenWrt:~#


Good bye:

pokot

TL-MR3220( 64M RAM, 250G HDD , RS232 , OpenWRT attitude adjustment )

Re: TL-WR741ND 64M Memory mod.

Was there necessary to recompile kernel or make some other firmware modifications?

Re: TL-WR741ND 64M Memory mod.

The memory amount is detected by u-boot automatically. No changes needed.

Re: TL-WR741ND 64M Memory mod.

Regressor is right. No changes nedded.

TL-MR3220( 64M RAM, 250G HDD , RS232 , OpenWRT attitude adjustment )

Re: TL-WR741ND 64M Memory mod.

What are compatible memory chips for  WR741ND  ???

Re: TL-WR741ND 64M Memory mod.

I think all of the 64mbyte 333MHz DDR memory chip are suitable for this router. You find these in 256Mbyte notebook DDR module or 512Mbyte desktop PC DDR module.

TL-MR3220( 64M RAM, 250G HDD , RS232 , OpenWRT attitude adjustment )

Re: TL-WR741ND 64M Memory mod.

Thx!

Re: TL-WR741ND 64M Memory mod.

@pokot
Do you think it is possible to solder a larger capacity chip? including speed (MHz)?

Re: TL-WR741ND 64M Memory mod.

Chip AENEON AED93T500 form module PC3200U-30331 512MB DDR400 CL3 on my Tp-link TL-wr741ND v2.0 not worked sad
I carefully resolder 3 times 3 different chips from this module in case of static/thermal damage.. with 0 result.
A12(pin42) routed on PCB.

Finally old chip soldered back work well (Zentel A3S56D40FTP-G5).

10 (edited by pokot 2011-06-25 15:12:41)

Re: TL-WR741ND 64M Memory mod.

kimstik wrote:

Chip AENEON AED93T500 form module PC3200U-30331 512MB DDR400 CL3 on my Tp-link TL-wr741ND v2.0 not worked sad
I carefully resolder 3 times 3 different chips from this module in case of static/thermal damage.. with 0 result.
A12(pin42) routed on PCB.

Finally old chip soldered back work well (Zentel A3S56D40FTP-G5).

I'm not sure about it, but i think the AENEON chip is 64M*8bit and the Zentel chip is 16bit wide. maybe this is the problem.
The HYB25D512160 chip which i used also 32M*16bit.

TL-MR3220( 64M RAM, 250G HDD , RS232 , OpenWRT attitude adjustment )

Re: TL-WR741ND 64M Memory mod.

maybe.. but module with 8 chips
IMHO problem of timings or number of banks.

Re: TL-WR741ND 64M Memory mod.

What do you thik about 32MB Flash upgrade with MX25L25635EZNI-12G ?
Maybe from http://fr.futureelectronics.com/fr/Tech … NIX1131059

13 (edited by pokot 2011-07-01 17:16:54)

Re: TL-WR741ND 64M Memory mod.

kimstik wrote:

What do you thik about 32MB Flash upgrade with MX25L25635EZNI-12G ?
Maybe from http://fr.futureelectronics.com/fr/Tech … NIX1131059

I replaced the flash chip to w25q64 some months ago but there was problems: 
- i had to patch the kernel source (JEDEC ID + mtd partitions)
- the wifi didnt work because the place of the art partition i think (the solution is here: https://forum.openwrt.org/viewtopic.php?id=28343  )
- i had to write the u-boot to the new flash with special programmer device (TOPMAX EETOOLS )

TL-MR3220( 64M RAM, 250G HDD , RS232 , OpenWRT attitude adjustment )

14 (edited by CraFT 2011-08-24 13:26:10)

Re: TL-WR741ND 64M Memory mod.

Today i resoldered stock memory chip on my rev2.4 router with NCP memory module (chip NP25D3216512K-6, used many times for modding asus wl-500gp). U-boot has detected 64mb, but hangs.

---------------bootlog start---------------

U-Boot 1.1.4 (Sep  3 2010 - 12:28:13)

AP91 (ar7240) U-boot
DRAM:
sri
#### TAP VALUE 1 = 8, 2 = 8
64 MB

--------nothing after this line------------

Is there chance of bad soldering or just u-boot bug?
Before resoldering chip router boots ok.

update: was bad soldering. Now boots with "#### TAP VALUE 1 = b, 2 = b" (dunno what that "b" means). Now "memtesting" for errors. Very Happy! big_smile

Re: TL-WR741ND 64M Memory mod.

You should keep in mind, replace the memory with same memory organisation , you can find it on memory datasheet.

Is your router memory controller could handle memory address above 32mb ?.

Here some list of memory chip that has memory organisation 32x16bit

https://forum.openwrt.org/viewtopic.php?pid=150253#p150253

Re: TL-WR741ND 64M Memory mod.

I had a bit of time in the evening.
64M RAM works fine.
Flash upgraded to 32MB
It remains only to build custom openwrt code for 32MB template.
Maybe somebody will compile it? If not I will wait until the next free evening smile
http://media.use.com/images/s_1/c206389406f80510d835_1.jpg http://media.use.com/images/s_1/c206389406f80510d835_2.jpg http://media.use.com/images/s_1/c206389406f80510d835_3.jpg

Terminal log file
Date: 17.02.2013 - 19:48:48
-----------------------------------------------


U-Boot 1.1.4 (May 31 2010 - 09:46:31)

AP91 (ar7240) U-boot
DRAM: 
sri
#### TAP VALUE 1 = 9, 2 = a
64 MB
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

BOARD IS NOT CALIBRATED!!!
In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7014
eth0: smile
eth0 up
No valid address in Flash. Using fixed address
: cfg1 0xf cfg2 0x7214
eth1: smile
ATHRS26: resetting s26
ATHRS26: s26 reset done
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...




OpenWrt kernel loader for AR7XXX/AR9XXX

Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>

Looking for OpenWrt image... found at 0xbf022000

Decompressing kernel... done!

Starting kernel at 80060000...


[    0.000000] Linux version 3.3.8 (blogic@Debian-60-squeeze-64-minimal) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 Sun Nov 18 04:31:55 UTC 2012
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 00019374 (MIPS 24Kc)
[    0.000000] SoC: Atheros AR7240 rev 2
[    0.000000] Clocks: CPU:350.000MHz, DDR:350.000MHz, AHB:175.000MHz, Ref:5.000MHz
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00004000
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00004000
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  board=TL-WR741ND console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 61496k/65536k available (2209k kernel code, 4040k reserved, 412k data, 212k init, 0k highmem)
[    0.000000] SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Calibrating delay loop... 232.24 BogoMIPS (lpj=1161216)
[    0.080000] pid_max: default: 32768 minimum: 301
[    0.080000] Mount-cache hash table entries: 512
[    0.090000] NET: Registered protocol family 16
[    0.090000] gpiochip_add: registered GPIOs 0 to 17 on device: ath79
[    0.100000] MIPS: machine is TP-LINK TL-WR741ND
[    0.500000] registering PCI controller with io_map_base unset
[    0.510000] bio: create slab <bio-0> at 0
[    0.520000] PCI host bridge to bus 0000:00
[    0.520000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[    0.530000] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.530000] pci 0000:00:00.0: invalid calibration data
[    0.540000] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1000ffff 64bit]
[    0.540000] pci 0000:00:00.0: using irq 40 for pin 1
[    0.550000] Switching to clocksource MIPS
[    0.550000] NET: Registered protocol family 2
[    0.560000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.560000] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[    0.570000] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.570000] TCP: Hash tables configured (established 2048 bind 2048)
[    0.580000] TCP reno registered
[    0.580000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.590000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.600000] NET: Registered protocol family 1
[    0.620000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.630000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.640000] msgmni has been set to 120
[    0.640000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
[    0.650000] io scheduler noop registered
[    0.650000] io scheduler deadline registered (default)
[    0.660000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.690000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[    0.700000] console [ttyS0] enabled, bootconsole disabled
[    0.700000] console [ttyS0] enabled, bootconsole disabled
[    0.710000] m25p80 spi0.0: found s25fl256s1, expected m25p80
[    0.720000] m25p80 spi0.0: s25fl256s1 (32768 Kbytes)
[    0.730000] spi0.0: no TP-Link header found
[    0.840000] ag71xx_mdio: probed
[    0.850000] eth0: Atheros AG71xx at 0xba000000, irq 5
[    1.400000] eth0: Found an AR7240/AR9330 built-in switch
[    2.440000] eth1: Atheros AG71xx at 0xb9000000, irq 4
[    3.010000] ag71xx ag71xx.0: eth1: connected to PHY at ag71xx-mdio.0:04 [uid=004dd041, driver=Generic PHY]
[    3.020000] TCP cubic registered
[    3.020000] NET: Registered protocol family 17
[    3.020000] Bridge firewalling registered
[    3.030000] 8021q: 802.1Q VLAN Support v1.8
[    3.030000] VFS: Cannot open root device "(null)" or unknown-block(0,0)
[    3.040000] Please append a correct "root=" boot option; here are the available partitions:
[    3.050000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

-----------------------------------------------
Date: 17.02.2013 - 19:49:33
End log file

17

Re: TL-WR741ND 64M Memory mod.

I think you just need a custom uboot.

Re: TL-WR741ND 64M Memory mod.

MBS wrote:

I think you just need a custom uboot.

Do you know how to build tp-link uboot from the sdk?

19

Re: TL-WR741ND 64M Memory mod.

Several threads have covered this issue. For quite some time now, the openwrt-firmware automatically detects the flash size, so no patching required there. Only uboot needs to be patched.

https://forum.openwrt.org/viewtopic.php?pid=146315#p146315

20 (edited by Dioptimizer 2013-02-19 06:47:51)

Re: TL-WR741ND 64M Memory mod.

kimstik wrote:

...
Flash upgraded to 32MB
It remains only to build custom openwrt code for 32MB template.
...

One might first ask on the forum before using 256mb (32mb) flash chip.
The problem is that the SPI address space on all ar71xx/ar924x/ar91xx/ar933x/ar934x physically limited up to 128mbit (16mb).
If you've heard info about 32mb router, it is based on two chips using 16mb spi0.0 and spi0.1 (two banks), example: WZRHPG300NH, WZR-HP-G450H.

By the way it can be implemented in the kernel without need change the uboot loader.

Datasheet wrote:

2.7 Serial Flash (SPI)
The single SPI chip select is dedicated to an
external flash to boot the chip. Two
configurable chip selects are available to bit-
bang using GPIOs that configure external
components. As an AHB slave, the SPI
controller only supports word transactions.
Because serial flash supports cached reads (but
not cached writes) functionality, the CPU must
perform uncached write, but a read can be
accelerated by performing cached reads. By
default, the REMAP_DISABLE bit is zero
which only 4 MBytes are accessible. By setting
this bit to 1, up to 16 MBytes of flash space can
be accessed.

http://dioptimizer.narod.ru/files/images/temp.png
HEX size 0x00FFFFFF = 128mbit(16mb)

Serial Flash 0x1FFFFFFF (default)
i.e. (0x1F000000 - 0x1FFFFFFF) == i.e. 128mbit

Re: TL-WR741ND 64M Memory mod.

MBS wrote:

Several threads have covered this issue. For quite some time now, the openwrt-firmware automatically detects the flash size, so no patching required there. Only uboot needs to be patched.

https://forum.openwrt.org/viewtopic.php?pid=146315#p146315

Thanks! Missed this thread.
I think it will be extremely helpful if we can 'mark' useful threads so other users can find it easily.

Re: TL-WR741ND 64M Memory mod.

Hi
I keep getting this error using the tplink sdk when I do 'make BOARD_TYPE=ap123 uboot' (this is a mr3420v2.2 and I downloaded the correct sdk)
It seems that the toolchain is absent or not pointing correctly. Any idea why?
My build directory is in
/home/user_name/ap123_gpl/build/

23 (edited by alphasparc 2013-02-19 16:10:38)

Re: TL-WR741ND 64M Memory mod.

Ok I got it. There are 2 Makefile.
The default Makefile is the one containing the build target for toolchain_prep
First you perform the command 'make BOARD_TYPE=apXXX toolchain_prep in the build folder
Then you copy the Makefile.apXXX to Makefile
Then perform the command 'make BOARD_TYPE=apXXX' (read the readme.txt for the actual commands)
If you are using 64bit OS you need the following 32bit libraries:
zlib
zlib-devel
glibc
libstdc
libstdc-devel
libgcc
It will copy the binaries to some folder in the sdk if it doesn't exist it will create an error so make it.
Now I am worried because I am using Fedora 18 while the SDK was tested using Red Hat Enterprise 4...
Also how to keep the mac address and which file to edit the pll?
Edit I found the pll file it is in
apxxx/boot/u-boot/include/configs/apxxx.h

Re: TL-WR741ND 64M Memory mod.

While building the uboot I saw this
CFG_DUAL_PHY_SUPPORT 1
CONFIG_ATHRS17_PHY 1
Anyone knows what it does?

25 (edited by xopal 2013-02-28 11:34:43)

Re: TL-WR741ND 64M Memory mod.

alphasparc wrote:

Hi
I keep getting this error using the tplink sdk when I do 'make BOARD_TYPE=ap123 uboot' (this is a mr3420v2.2 and I downloaded the correct sdk)
It seems that the toolchain is absent or not pointing correctly. Any idea why?
My build directory is in
/home/user_name/ap123_gpl/build/

This my build log of ap123 :

#tar -xvf ap123_gpl.tar.gz

#ls

#cd ap123_gpl

#ls

#cd build

#ls

#make BOARD_TYPE=ap123 toolchain_prep
.
.
.
#mkdir /home/xopal/TPL/ap123_gpl/build/../tftpboot
#mkdir /home/xopal/TPL/ap123_gpl/build/../tftpboot/ap123
.
.
#mkdir  /home/xopal/TPL/ap123_gpl/build/../images
#mkdir  /home/xopal/TPL/ap123_gpl/build/../images/ap123
.
.
#make BOARD_TYPE=ap123 uboot
.
.
.
#cd /home/xopal/TPL/ap123_gpl/build/../images/ap123

xopal@debian:~/TPL/ap123_gpl/images/ap123$ ls -la
total 56
drwxr-xr-x 2 xopal xopal  4096 Feb 22 20:59 .
drwxr-xr-x 3 xopal xopal  4096 Feb 22 20:59 ..
-rw-r--r-- 1 xopal xopal 48357 Feb 22 21:00 u-boot.bin

Patch for 16MB Flash size :

~/ap123_gpl/ap123/boot/u-boot/include/configs/db12x.h

--- db12x.h    2012-05-10 09:13:15.000000000 +0700
+++ db12x.patch    2013-02-22 21:54:49.000000000 +0700
@@ -7,7 +7,7 @@
 
 #include <configs/ar7240.h>
 
-#define FLASH_SIZE 4
+#define FLASH_SIZE 16
 /*-----------------------------------------------------------------------
  * FLASH and environment organization
  */
@@ -357,7 +357,7 @@
 #else  /* CONFIG_ATH_NAND_FL */
 #define CFG_ENV_ADDR        0x9f040000
 #if (FLASH_SIZE == 16)
-#define CONFIG_BOOTCOMMAND "bootm 0x9f055000"
+#define CONFIG_BOOTCOMMAND "bootm 0x9f020000"
 #else  /* FLASH_SIZE == 16 */
 #ifdef COMPRESSED_UBOOT
 #if (FLASH_SIZE == 4)