最近在定制openwrt时,发现一个奇怪的问题,自己一直的openwrt提示,升级之后,提示spi0.0: no TP-Link header found,由于以前没有研究过openwrt,
*********************************************
* U-Boot 1.1.4 (Sep 30 2015, 16:19:33) *
*********************************************
QXNET E600G (QCA953x) U-Boot
DRAM: 16bit ddr2
64 MB SDRAM
FLASH: Winbond W25Q128 (16 MB)
LED on during eth initialization...
eth0 up
eth1 up
Hit any key to stop autoboot: 0
Booting image at: 0x9F040000
Image name: OpenWrt r48549
Image type: MIPS Linux Kernel Image (lzma compressed)
Data size: 1057092 Bytes = 1 MB
Load address: 0x80060000
Entry point: 0x80060000
Uncompressing kernel image... OK!
Starting kernel...
[ 0.000000] Linux version 3.10.49 (linux@linux-virtual-machine) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r48549) ) #2 Fri Apr 29 08:55:54 CST 2016
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 00019374 (MIPS 24Kc)
[ 0.000000] SoC: Qualcomm Atheros QCA9533 rev 2
[ 0.000000] Clocks: CPU:650.000MHz, DDR:390.771MHz, AHB:216.666MHz, Ref:25.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 ranges:
[ 0.000000] Normal [mem 0x00000000-0x03ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x00000000-0x03ffffff]
[ 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] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
[ 0.000000] Kernel command line: board=E600G 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] Writing ErrCtl register=00000000
[ 0.000000] Readback ErrCtl register=00000000
[ 0.000000] Memory: 61272k/65536k available (2239k kernel code, 4264k reserved, 603k data, 228k init, 0k highmem)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:51
[ 0.000000] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[ 0.050000] pid_max: default: 32768 minimum: 301
[ 0.050000] Mount-cache hash table entries: 512
[ 0.060000] NET: Registered protocol family 16
[ 0.070000] MIPS: machine is E600G
[ 0.080000] ar724x-pci ar724x-pci.0: PCIe link is down
[ 0.080000] registering PCI controller with io_map_base unset
[ 0.090000] ar71xx: invalid MDIO id 1
[ 0.500000] bio: create slab <bio-0> at 0
[ 0.500000] PCI host bridge to bus 0000:00
[ 0.510000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x11ffffff]
[ 0.510000] pci_bus 0000:00: root bus resource [io 0x0000]
[ 0.520000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[ 0.520000] Switching to clocksource MIPS
[ 0.530000] NET: Registered protocol family 2
[ 0.530000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[ 0.540000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[ 0.550000] TCP: Hash tables configured (established 512 bind 512)
[ 0.550000] TCP: reno registered
[ 0.560000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.560000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.570000] NET: Registered protocol family 1
[ 0.590000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.590000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.610000] msgmni has been set to 119
[ 0.610000] io scheduler noop registered
[ 0.610000] io scheduler deadline registered (default)
[ 0.620000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[ 0.650000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
[ 0.650000] console [ttyS0] enabled, bootconsole disabled
[ 0.650000] console [ttyS0] enabled, bootconsole disabled
[ 0.670000] ath79-spi ath79-spi: master is unqueued, this is deprecated
[ 0.670000] m25p80 spi0.0: found w25q128, expected m25p80
[ 0.680000] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.690000] spi0.0: no TP-Link header found
[ 0.710000] libphy: ag71xx_mdio: probed
[ 1.270000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd042, driver=Generic PHY]
[ 1.280000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
[ 1.840000] ag71xx-mdio.1: Found an AR934X built-in switch
[ 2.870000] eth1: Atheros AG71xx at 0xba000000, irq 5, mode:GMII
[ 2.880000] TCP: cubic registered
[ 2.880000] NET: Registered protocol family 17
[ 2.890000] 8021q: 802.1Q VLAN Support v1.8
[ 2.890000] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[ 2.900000] Please append a correct "root=" boot option; here are the available partitions:
[ 2.910000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
修改target/linux/ar71xx/files/drivers/mtd中的分区信息中的
#define TPLINK_KERNEL_OFFS 0x40000
此处的TPLINK_KERNEL_OFFS为FLASH中分区存放地址。