openwrt相关
flash布局,文件系统划分: http://wiki.openwrt.org/zh-cn/doc/techref/flash.layout 好的总结经验 http://www.cnblogs.com/zmkeil/archive/2013/05/14/3078774.html http://wiki.openwrt.org/toh/tp-link/tl-wr703n Hardware summary
一. 基本知识
如果是刷了带HTTP的U-boot,真正成了刷不死的小强了,可以尽情折腾吧:?
电脑ip 设成192.168.1.x,接好网线(单独直连或者HUB内都可以),?
上电后,灯会常亮1到2秒,然后熄灭,这时按住Reset开关
不放,灯会常亮,松开Reset打开火狐输192.168.1.1 就能看到选择界面了(不支持IE),升级时的提示如下:
Flashing...
路由器的安全模式: 若wifi无效,则需要连接网线. 设置本地ip为192.168.1.*,准备可以触碰reset工具一件.?眼明手快的活来了: 插电源灯亮,当灯闪的瞬间 按下reset键 3秒,led狂闪则路由器进入安全模式,?打开CMD窗口,ping 192.168.1.1 若能成功连接,则输入命令: telnet 192.168.1.1,再firstboot,等待命令结束(出现#),?然后重启.?
一般都能恢复正常,此方法在之前屡试不爽. ?如果不行,请参考下面的.?
?
?
编程器固件中包含uboot、fw和art。
uboot就像电脑的bios,是底层的管理系统; fw就像电脑的操作系统,实现路由器的各种功能; art就像电脑的无线驱动程序,是无线校验码; uboot的长度为128KB(0x20000);art为64KB(0x10000);fw有4M和8M的区别,4M的为3840K(0x3c0000),8M的为7936KB(0x7c0000)。在刷机之前要对要刷入flash的uboot、fw、art的文件长度用ultraedit或winhex进行校验。尤其是uboot,如果大小不对,千万不要尝试刷入,那是一定会变砖的。? 秋水注: U-boot: 0x1fc00 起的6个字节为 Lan时的 MAC地址,??0x1FE00?起的8个字节为PIN uboot、fw和art在flash中的位置如下: 4M的FLASH:flash地址从0x000000~0x3FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF 8M的FLASH:flash地址从0x000000~0x7FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF 准备工作 1、从PCB版上上引出TTL线,一般有三根:TX RX和GND,对应主板上的标记,应该是TP-IN,TP-OUT,主板上焊点较大、覆盖面积较广的一般就是GND,有USB的,外壳连接的就是GND,可以从这些地方引出。 WR703N:?TP_IN为RX,TP_OUT为TX,GND: 电源引脚标有USB1,R106旁边的3个过孔,?从而实现免拆机无损TTL改造。 我的TTL线:?黑色为GND,绿色为RX,白色为TX。?排列: 黑白绿(Err),黑绿白(OK),?靠近RAM芯片端为黑线.? 2、USB-TTL板或串口TTL板,装好驱动,在设备管理器中查出该设备占用的COM端口号,并将其属性设置中的速率改为1152003、电脑IP设置192.168.1.2,网关255.255.255.0,掩码192.168.1.1,网线连接路由器LAN口和电脑网线接口。 4、需要的软件PUTTY。连接好TTL,打开PUTTY,点串口,端口改为上部查出的COM端口号,速率选择115200,点确定。如果接上路由器电源以后不出码,请交换ttl的Tx和Rx两线;如果出乱码,请查COM端口的速率是不是都是115200。 5、需要的软件tftp32。将固件放到tftp32同一目录,打开ftfp32,一般默认的server interface就已经是你的网卡IP地址(对于路由器uboot的远端地址不是192.168.1.2的,请按照5楼 hhhjjj159?所说的,在TTL中断系统启动以后,输入setenv ipaddr 192.168.1.1;setenv serverip 192.168.1.*(电脑IP地址)命令)。 TTL刷固件的命令 了解以上地址信息以后,就可以利用以上信息在不拆FLASH的情况下利用TTL向FLASH写入编程器固件或者其中的某一部分。 在插上路由器电源,屏幕开始出码的时候,迅速点击T、P、L三个字母,会中断系统的启动,光标停在提示符下,这时就可以输入刷固件的命令了。 命令如下: 4M的: 刷编程器固件: tftp 0x80000000 full.bin erase 0x9f000000 +0x400000 cp.b 0x80000000 0x9f000000 0x400000 刷uboot: tftp 0x80000000 uboot.bin erase 0x9f000000 +0x20000 cp.b 0x80000000 0x9f000000 0x20000 刷fw: tftp 0x80000000 fw.bin erase 0x9f020000 +0x3c0000 cp.b 0x80000000 0x9f020000 0x3c0000 刷art: tftp 0x80000000 art.bin erase 0x9f3f0000 +0x10000 cp.b 0x80000000 0x9f3f0000 0x10000 8M的: erase 0x9f000000 +0x800000 cp.b 0x80000000 0x9f000000 0x800000 erase 0x9f020000 +0x7c0000 cp.b 0x80000000 0x9f020000 0x7c0000 erase 0x9f7f0000 +0x10000 cp.b 0x80000000 0x9f7f0000 0x10000 ---------?以下为实战操作记录 -------------------------------------------------------------------------------------------------------- 路由器共3台,4M的好用一个,?4M( 上电后灯每3 秒闪一次,重复到永远 )和8M()的砖头各一个,?都无法进入安全模式 4M: SPANSION 的 S25FL032P,
8M: MX25L6445EM2I-10G
16M: W25Q128FVSSIG,W25Q128FVSIG
一. 先从好用的703N中导出bin文件,SecureCRT登陆后,?命令如下: root@OpenWrt:~#?
root@OpenWrt:~# cd /tmp
root@OpenWrt:/tmp# cat /proc/mtd
//---- 4M
dev: ? ?size ? erasesize ?name
mtd0: 00020000 00010000 "u-boot"
mtd1: 000da370 00010000 "kernel"
mtd2: 002f5c90 00010000 "rootfs"
mtd3: 000b0000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 003d0000 00010000 "firmware"
//---- 8M
dev: ? ?size ? erasesize ?name
mtd0: 00020000 00010000 "u-boot"
mtd1: 00100000 00010000 "kernel"
mtd2: 006d0000 00010000 "rootfs"
mtd3: 00250000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 007d0000 00010000 "firmware
root@OpenWrt:/tmp# dd if=/dev/mtd0 of=uboot.bin
256+0 records in
256+0 records out
root@OpenWrt:/tmp# dd if=/dev/mtd5 of=firmware.bin
7808+0 records in
7808+0 records out
root@OpenWrt:/tmp# dd if=/dev/mtd4 of=art.bin
128+0 records in
128+0 records out
root@OpenWrt:/tmp#?
root@OpenWrt:/tmp# cat uboot.bin firmware.bin art.bin > xxx.bin? ? #合成完整文件以备用 二. WinSCP,将上面的3个.bin文库拷贝到?自己的电脑上以备用.?
三. TTL接好后,能看到4M的启动信息如下,至少uboot部分还正常,?万幸啊,阿门!
U-Boot 1.1.4 (Sep 26 2011 - 11:13:45)
AP121-2MB (ar9330) U-boot
DRAM: ?32 MB
led turning on for 1s...
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
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup?
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup?
eth1 up
eth0,eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
? ?Uncompressing Kernel Image ... Too big uncompressed streamLZMA ERROR 1 - must RESET?
? Uncompressing Kernel Image ... OK ? //此为正确的信息
此后总重复出现如上的信息,路由器在不停的 Reset,无法进入Linux ?
----- 用编程器直接操作芯片,?烧录上面合成的bin,开机后路由器恢复正常!!!
0x20000: FW的起始地址,可以看到Openwrt的标志和版本号
------------------------------------------------------------------------------------------
常用 Flash 型号如下:
路由器内存
DDR内存: 32M: W9425G6D(E)H-5 WINBOND(華邦) 64M: HY5DU121622CTP-D43 现代颗粒64M (亲测:二手货市场10元买条256mb,四粒芯片的内存) VDD9616A8A-6B H0513 VDATA(威刚) 46V32M16 MT(镁光) D5116AFTA-5B-E ELPIDA尔必达 128M: 46V64M16 P-6TA MT(镁光) SD内存: HY57V561622 现代颗粒 32M HY57V561620 现代颗粒 32m(亲测) K4S561632H 三星颗粒 32M (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |