I have a device which is very smillar to tplink-wdr4310.I want to replace original 8m flash with a MX25L25635E
Other info can be found here:http://see.sl088.com/wiki/MX25L25635
This flash chip is supported by linux kernel according to m25p80.h
/* Macronix */
{ "mx25l4005a", INFO(0xc22013, 0, 64 * 1024, 8, SECT_4K) },
{ "mx25l8005", INFO(0xc22014, 0, 64 * 1024, 16, 0) },
{ "mx25l1606e", INFO(0xc22015, 0, 64 * 1024, 32, SECT_4K) },
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, 0) },
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, 0) },
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
{ "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) },
{ "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },
But after I add 32m flash layout in mktplinkfw.c
{
.id = "32Mlzma",
.fw_max_len = 0x1fc0000,
.kernel_la = 0x80060000,
.kernel_ep = 0x80060000,
.rootfs_ofs = 0x100000,
}, {
and make wdr4310 image with this layout and then flash it into my device.
I saw no root is found in ttl booting message.
However,for those who think 16 MB is probably maximum in single chip for this platform,here is a succesful booting on 32m flash from a Chinese openwrt seller .Of course,he won't tell the truth.We just can wait for gurus here to help figure it out.
U-Boot 1.1.4 (Mar 13 2013 - 20:16:16)
DRAM: 128 MB
id read 0x100000ff
flash size 16MB, sector count = 256
Flash: 16 MB
Using default environment
In: serial
Out: serial
Err: serial
Net: ag934x_enet_initialize...
MAC Address from : 0x9f01fc00
wasp reset mask:c03300
WASP ----> S17 PHY *
: cfg1 0x7 cfg2 0x7114
eth0: 6c:e8:73:ff:d6:88
athrs17_reg_init: complete
eth0 up
eth0
Autobooting in 1 seconds,press p stop
Reset Button Not Push down !
Push Reset Button For Http Support !
router ip: 192.168.1.1
## Booting image at 9f020000 ...
Uncompressing Kernel Image ... OK
Starting kernel ...
[ 0.000000] Linux version 3.3.8 (icetree@rtnas-server) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #17 Sun Apr 21 09:27:42 CST 2013
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 0001974c (MIPS 74Kc)
[ 0.000000] SoC: Atheros AR9344 rev 2
[ 0.000000] Clocks: CPU:560.000MHz, DDR:450.000MHz, AHB:225.000MHz, Ref:40.000MHz
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Zone PFN ranges:
[ 0.000000] Normal 0x00000000 -> 0x00008000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] Early memory PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x00008000
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: board=TL-WDR4300 console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 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: 126584k/131072k available (2106k kernel code, 4488k reserved, 407k 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... 278.93 BogoMIPS (lpj=1394688)
[ 0.070000] pid_max: default: 32768 minimum: 301
[ 0.070000] Mount-cache hash table entries: 512
[ 0.080000] NET: Registered protocol family 16
[ 0.080000] gpiochip_add: registered GPIOs 0 to 22 on device: ath79
[ 0.090000] MIPS: machine is TP-LINK TL-WDR3600/4300/4310
[ 0.090000] registering PCI controller with io_map_base unset
[ 0.310000] bio: create slab <bio-0> at 0
[ 0.310000] PCI host bridge to bus 0000:00
[ 0.320000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[ 0.320000] pci_bus 0000:00: root bus resource [io 0x0000]
[ 0.330000] pci 0000:00:00.0: invalid calibration data
[ 0.330000] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1001ffff 64bit]
[ 0.340000] pci 0000:00:00.0: BAR 6: assigned [mem 0x10020000-0x1002ffff pref]
[ 0.340000] pci 0000:00:00.0: using irq 40 for pin 1
[ 0.350000] Switching to clocksource MIPS
[ 0.350000] NET: Registered protocol family 2
[ 0.360000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.360000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.370000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.370000] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.380000] TCP reno registered
[ 0.380000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.390000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.390000] NET: Registered protocol family 1
[ 0.410000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.420000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.430000] msgmni has been set to 247
[ 0.430000] io scheduler noop registered
[ 0.440000] io scheduler deadline registered (default)
[ 0.440000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.470000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[ 0.470000] console [ttyS0] enabled, bootconsole disabled
[ 0.470000] console [ttyS0] enabled, bootconsole disabled
[ 0.490000] m25p80 spi0.0: found mx25l25635e, expected m25p80
[ 0.490000] m25p80 spi0.0: mx25l25635e (32768 Kbytes)
[ 0.500000] 5 tp-link partitions found on MTD device spi0.0
[ 0.510000] Creating 5 MTD partitions on "spi0.0"(32768 Kbytes):
[ 0.510000] 0x000000000000-0x000000020000 : "u-boot"
[ 0.520000] 0x000000020000-0x000000100908 : "kernel"
[ 0.520000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.540000] 0x000000100908-0x000001ff0000 : "rootfs"
[ 0.540000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.560000] mtd: partition "rootfs" set to be root filesystem
[ 0.560000] mtd: partition "rootfs_data" created automatically, ofs=E20000, len=11D0000
[ 0.570000] 0x000000e20000-0x000001ff0000 : "rootfs_data"
[ 0.580000] 0x000001ff0000-0x000002000000 : "art"
[ 0.580000] 0x000000020000-0x000001ff0000 : "firmware"
[ 0.720000] ag71xx_mdio: probed
[ 0.730000] eth0: Atheros AG71xx at 0xb9000000, irq 4
[ 1.300000] eth0: Atheros AR8327 switch driver attached.
[ 2.460000] ag71xx ag71xx.0: eth0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd033, driver=Atheros AR8216/AR8236/AR8316]
[ 2.480000] TCP cubic registered
[ 2.480000] NET: Registered protocol family 17
[ 2.480000] 8021q: 802.1Q VLAN Support v1.8
[ 2.500000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[ 2.500000] Freeing unused kernel memory: 212k freed
- preinit -
Press the [f] key and hit [enter] to enter failsafe mode
[ 6.470000] eth0: link up (1000Mbps/Full duplex)
- regular preinit -
[ 8.910000] JFFS2 notice: (447) jffs2_build_xattr_subsystem: complete building xattr subsystem, 2 of xdatum (1 unchecked, 1 orphan) and 43 of xref (0 dead, 3 orphan) found.
[ 9.800000] SCSI subsystem initialized
[ 10.050000] usbcore: registered new interface driver usbfs
[ 10.060000] usbcore: registered new interface driver hub
[ 10.070000] usbcore: registered new device driver usb
[ 10.550000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 10.560000] ehci-platform ehci-platform: Generic Platform EHCI Controller
[ 10.560000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
[ 10.600000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
[ 10.620000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
[ 10.620000] hub 1-0:1.0: USB hub found
[ 10.630000] hub 1-0:1.0: 1 port detected
[ 10.740000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 10.800000] Initializing USB Mass Storage driver...
[ 10.800000] usbcore: registered new interface driver usb-storage
[ 10.810000] USB Mass Storage support registered.
switching to jffs2
- init -
[ 32.040000] eth0: link down
Please press Enter to activate this console. [ 37.090000] Compat-drivers backport release: compat-drivers-2012-09-04-2-gddac993
[ 37.100000] Backport based on wireless-testing.git master-2012-09-07
[ 37.100000] compat.git: wireless-testing.git
[ 37.160000] cfg80211: Calling CRDA to update world regulatory domain
[ 37.170000] cfg80211: World regulatory domain updated:
[ 37.170000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 37.180000] cfg80211: (2402000 KHz - 2494000 KHz @ 40000 KHz), (N/A, 3000 mBm)
[ 37.190000] cfg80211: (4910000 KHz - 5835000 KHz @ 40000 KHz), (N/A, 3000 mBm)
[ 38.520000] NET: Registered protocol family 10
[ 42.560000] usbcore: registered new interface driver rtl8187
[ 42.590000] ieee80211 phy0: Atheros AR9340 Rev:0 mem=0xb8100000, irq=47
[ 42.600000] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
[ 42.620000] ieee80211 phy1: Atheros AR9300 Rev:4 mem=0xb0000000, irq=40
[ 42.640000] usbcore: registered new interface driver rt2800usb
[ 42.650000] cfg80211: Calling CRDA for country: US
[ 42.650000] cfg80211: Regulatory domain changed to country: US
[ 42.660000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 42.660000] cfg80211: (2402000 KHz - 2494000 KHz @ 40000 KHz), (N/A, 3000 mBm)
[ 42.670000] cfg80211: (4910000 KHz - 5835000 KHz @ 40000 KHz), (N/A, 3000 mBm)
[ 42.910000] RPC: Registered named UNIX socket transport module.
[ 42.910000] RPC: Registered udp transport module.
[ 42.920000] RPC: Registered tcp transport module.
[ 42.920000] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 44.040000] PPP generic driver version 2.4.2
[ 44.170000] tun: Universal TUN/TAP device driver, 1.6
[ 44.170000] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 44.250000] PPP MPPE Compression module registered
[ 44.370000] L2TP core driver, V2.0
[ 44.400000] L2TP netlink interface
[ 44.470000] IPv6 over IPv4 tunneling driver
[ 44.550000] GRE over IPv4 demultiplexor driver
[ 44.570000] GRE over IPv4 tunneling driver
[ 45.340000] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 45.700000] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 45.930000] NET: Registered protocol family 24
[ 46.180000] nf_conntrack version 0.5.0 (1981 buckets, 7924 max)
[ 46.780000] PPPoL2TP kernel driver, V2.0
[ 46.800000] PPTP driver version 0.8.5
[ 47.510000] IMQ driver loaded successfully. (numdevs = 2, numqueues = 1)
[ 47.520000] Hooking IMQ before NAT on PREROUTING.
[ 47.530000] Hooking IMQ after NAT on POSTROUTING.
[ 47.800000] xt_time: kernel timezone is -0000
[ 48.880000] i2c /dev entries driver
[ 49.000000] usbcore: registered new interface driver usblp
[ 49.030000] usbcore: registered new interface driver usbserial
[ 49.030000] USB Serial support registered for generic
[ 49.040000] usbcore: registered new interface driver usbserial_generic
[ 49.040000] usbserial: USB Serial Driver core
[ 49.170000] usbcore: registered new interface driver ums-alauda
[ 49.210000] usbcore: registered new interface driver ums-cypress
[ 49.320000] usbcore: registered new interface driver ums-datafab
[ 49.340000] usbcore: registered new interface driver ums-freecom
[ 49.370000] usbcore: registered new interface driver ums-isd200
[ 49.400000] usbcore: registered new interface driver ums-jumpshot
[ 49.430000] usbcore: registered new interface driver ums-karma
[ 49.450000] usbcore: registered new interface driver ums-sddr09
[ 49.470000] usbcore: registered new interface driver ums-sddr55
[ 49.490000] usbcore: registered new interface driver ums-usbat
[ 49.610000] Linux video capture interface: v2.00
[ 49.730000] usbcore: registered new interface driver zd1211rw
[ 49.840000] USB Serial support registered for GSM modem (1-port)
[ 49.840000] usbcore: registered new interface driver option
[ 49.850000] option: v0.7.2:USB Driver for GSM modems
[ 50.050000] fuse init (API version 7.18)
[ 50.210000] usbcore: registered new interface driver uvcvideo
[ 50.220000] USB Video Class driver (1.1.1)
[ 55.050000] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 56.860000] eth0: link up (1000Mbps/Full duplex)
[ 56.880000] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 58.710000] eth0: link down
[ 58.710000] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 58.720000] ADDRCONF(NETDEV_UP): eth0.1: link is not ready
[ 58.730000] device eth0.1 entered promiscuous mode
[ 58.730000] device eth0 entered promiscuous mode
[ 58.740000] ADDRCONF(NETDEV_UP): br-lan: link is not ready
[ 58.750000] ADDRCONF(NETDEV_UP): eth0.2: link is not ready
[ 59.880000] eth0: link up (1000Mbps/Full duplex)
[ 59.880000] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 59.940000] br-lan: port 1(eth0.1) entered forwarding state
[ 59.950000] br-lan: port 1(eth0.1) entered forwarding state
[ 59.950000] ADDRCONF(NETDEV_CHANGE): eth0.1: link becomes ready
[ 59.990000] ADDRCONF(NETDEV_CHANGE): eth0.2: link becomes ready
[ 59.990000] ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 61.950000] br-lan: port 1(eth0.1) entered forwarding state
[ 63.540000] cfg80211: Calling CRDA to update world regulatory domain
[ 63.540000] cfg80211: World regulatory domain updated:
[ 63.550000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[ 63.560000] cfg80211: (2402000 KHz - 2494000 KHz @ 40000 KHz), (N/A, 3000 mBm)
[ 63.560000] cfg80211: (4910000 KHz - 5835000 KHz @ 40000 KHz), (N/A, 3000 mBm)
[ 66.990000] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 67.030000] device wlan0 entered promiscuous mode
[ 67.120000] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 67.180000] br-lan: port 2(wlan0) entered forwarding state
[ 67.180000] br-lan: port 2(wlan0) entered forwarding state
[ 67.190000] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 69.180000] br-lan: port 2(wlan0) entered forwarding state
[ 72.590000] ADDRCONF(NETDEV_UP): wlan1: link is not ready
[ 72.630000] device wlan1 entered promiscuous mode
[ 72.680000] ADDRCONF(NETDEV_UP): wlan1: link is not ready
[ 72.690000] br-lan: port 3(wlan1) entered forwarding state
[ 72.690000] br-lan: port 3(wlan1) entered forwarding state
[ 72.700000] ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[ 74.690000] br-lan: port 3(wlan1) entered forwarding state
(Last edited by mtk on 22 Jun 2013, 06:22)