参照楼主的介绍,我也硬改了这款类似的路由器,型号是:TL-WR842V4.0。改造的是16M的Flash,64M的RAM。直接使用楼主的固件用编程器写入。
启动后发现没有无线,进入路由器查看,发现:
[ 0.650000] m25p80 spi0.0: found w25q128, expected m25p80
[ 0.650000] m25p80 spi0.0: w25q128 (16384 Kbytes)
[ 0.660000] 5 tp-link partitions found on MTD device spi0.0
[ 0.660000] Creating 5 MTD partitions on "spi0.0":
[ 0.670000] 0x000000000000-0x000000020000 : "u-boot"
[ 0.680000] 0x000000020000-0x00000011d688 : "kernel"
[ 0.680000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.700000] 0x00000011d688-0x000000ff0000 : "rootfs"
[ 0.700000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
[ 0.720000] mtd: device 2 (rootfs) set to be root filesystem
[ 0.720000] 1 squashfs-split partitions found on MTD device rootfs
[ 0.730000] 0x000000620000-0x000000ff0000 : "rootfs_data"
[ 0.740000] 0x000000ff0000-0x000001000000 : "art"
[ 0.740000] 0x000000020000-0x000000ff0000 : "firmware"
也就是说,16M的Flash 其无线配置的文件是在最后64K字节(是不是高通的都会把ART文件放置在Flash的最后呢)那么就需要从8M的Flash中截取最后的64K保存为Art.bin,然后用Winscp传输文件到路由器的/tmp目录下,再想用命令写入到ART分区,想法是好的,可是实际使用的时候,出现了下面的问题:
root@OpenWrt:/tmp# mtd write art1.bin art Could not open mtd device: art Can't open device for writing! root@OpenWrt:/tmp# mtd write art1.bin /dev/mtd4 Could not open mtd device: /dev/mtd4 Can't open device for writing!
Art分区不让写。不让写就看看不死U-boot的功能吧,可是按Reset启动进入U-Boot 控制台后,发现不死U-boot的界面上有大量的undefine,凡是按钮,就是这个状态。不用IE,用Chrome浏览器看看,按钮倒是对了,功能可不正常。没法子,先升级下不死U-boot,下载了hackpascal 最新的U-boot,用Winscp传输文件到路由器的/tmp目录下,再用如下命令写入到U-Boot分区,重新启动后U-boot控制台界面正常了。
mtd write u-boot-qca953x.bin /dev/mtd0 然后进入不死Uboot界面,刷新Art.bin成功,再次重新启动后,无线也正常了。
有了不死U-boot,再刷机就没有什么好担心的了,呵呵。回头再测试文中提到的其它问题。
|