本帖最后由 kyd12345 于 2012-5-17 22:32 编辑
今天有点无聊就想找点事做,看到原本升级路由用的闲置的4Mflash摆那也没用,索性就把路由加上双flash试试吧,好像还没有人给171-3g加双flash,东西是上周在x东买的。
2012-05-17 今天已经试过双系统,op+703原厂ok,op+171-3g原厂ok,op+DDWRT也ok,DDWRT刷了以后led不亮,没有reapter功能,又换回双op了
先引用点知识: 双 flash 路由使用基本教程,看完就知道双flash的好处
- 1. 路由使用双 flash,可以使一个路由同时存在两个系统,想用哪个切换到哪个,一键
- 开关切换,简单方便。
- 2. 路由使用双 flash, 适合玩家,如果一个系统刷坏了,可由另一个系统恢复,不需要
- TTL 线.不需要打开外壳。
- 3. 路由使用双 flash, 也适合一般用户。双系统,可以减小视觉疲劳。
- 2. 双 flash 的原理:
- 在原来的 flash 上“并联”一个 flash.除了 CS 脚,其它脚都连在一起。开关切换 flash
- 的 CS 脚。
- 当 flash 被开关连接到系统的 CS 上时,此芯片为激活状态,可读写。当 flash 与系
- 统上的 CS 断开时(CS 为高电平),芯片处于睡眠状态,不可进行读写。
- 备注:开关在任何时间都会把一个 flash 连接到系统,将另一个断开,这样保证系
- 统能正确读写 flash.
- 3. 基础知识(适合大部分 AR 的路由):
- 1. flash 分区:
- 系统将 flash 分成好几个遍区进行分开管理。大致分为下面三个常用区:
- 1. uboot: 引导区。(系统损坏可能过 TTL,用 uboot 恢复,具体见后面教程)
- 2. firmware : 固件区:包括 kernel 和 rootfile 等。
- 3. ART: 无线校验区。(如果 art 错误,会造成路由没有无线功能)
- 2. 各分区在系统里的地址:
- 4M flash 的 FW300R/841V7/MR3420 的分区地址:
- 分区名 起始地址 结束地址 分区长度
- uboot 0x9f000000 0x9f020000 0x20000
- firmware 0x9f020000 0x9f3e0000 0x3c0000
- art 0x9f3f0000 0x9f3e0000 0x10000
- 8M flash 的 FW300R/841V7/MR3420 的分区地址:
- 分区名 起始地址 结束地址 分区长度
- uboot 0x9f000000 0x9f020000 0x20000
- firmware 0x9f020000 0x9f7e0000 0x7c0000
- art 0x9f7f0000 0x9f7e0000 0x10000
- 4M flash 的 841V3 / 941V2 的分区地址:
- 分区名 起始地址 结束地址 分区长度
- uboot 0xbf000000 0xbf020000 0x20000
- firmware 0xbf020000 0xbf3e0000 0x3c0000
- art 0xbf3f0000 0xbf3e0000 0x10000
- 8M flash 的 841V3 / 941V2 的分区地址:
- 分区名 起始地址 结束地址 分区长度
- uboot 0xbf000000 0xbf020000 0x20000
- firmware 0xbf020000 0xbf7e0000 0x7c0000
- art 0xbf7f0000 0xbf7e0000 0x10000
- 4.
- TTL 救砖教程:
- 1. 用 TTL 救砖,必须保证 flash 的 uboot 是好的。
- 2. 所需软件:
- 1. 超级终端(其实所有的串口调试的软件都可以,我这里以 AccessPort 为例)。
- 2. TFTP32;(TFTP 服务器)
- 3. 所需要的固件(不带 uboot).
- 3. 步骤:
- 1. 先固定电脑的 IP。如下设置:
- 2. 将要刷写的固件放到 TFTP32 所在的目录里。双击启动 TFTP32。设置好路径。
- 把网线连接到路由器的 Lan 口。并且关闭防火墙
- 3. 用 TTL 线连接好电脑和路由(TPLINK 的 TTL 线序都是 1.TX,2,RX,3,
- GND,4.VCC。其中:焊盘是方形的为第一脚(丝印也与其它的不一样)。如
- 果用 USB-TTL 线,VCC 不用接).
- 4. 启动 AccessPort;设置对应的串口为:115200, N, 在发送框里先键入8, 1“p”,
- “tp”或者“tpl”作准备。根据 uboot 不同而不同,一个不行,可尝试另一个。
- 5. 将路由插上电源。在 AccessPort 会看到 uboot 启动信息:
- U-Boot 1.1.4 (May 1 2008 - 19:25:20)
- AP81 (ar7100) U-boot
- DRAM:
- sri
- 32 MB
- id read 0x100000ff
- flash size 8MB, sector count = 128
- Flash: 8 MB
- Using default environment
- In:
- serial
- Out: serial
- Err: serial
- Net: ag7100_enet_initialize...
- Fetching MAC Address from 0x81fef230
- eth0: 00:03:7f:e0:03:7a
- eth0 up
- eth0
- Autobooting in 1 seconds, press "tp" to stop
- 6. 当出现 Autobooting in 1 seconds, press "tp" to stop 这一句时, AccessPort 的发点
- 送。中断系统启动。
- 7. 在发送框里输入如下命令,点发送(注意:ar7100>不需要):
- ar7100> setenv serverip 192.168.1.111; setenv ipaddr 192.168.1.1
- ar7100> tftp 0x80800000
- 出现如下提示:
- set link to 100M full by lqm.
- dup 1 speed 100
- Using eth0 device
- TFTP from server 192.168.1.254; our IP address is 192.168.1.1
- Filename ' FW300R.bin '.
- Load address: 0x80800000
- Loading: checksum bad
- checksum bad
- checksum bad
- checksum
- bad################################################################
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- #################################################################
- FW300R.bin
- #################################################################
- #################################################################
- #################################################################
- Bytes transferred = 3932160 (3c0000 hex)
- 继续输入命令:
- ar7100> erase 0xbf020000 +0x3c0000 //0xbf020000 是 分 区 的 起 始 地 址 ,
- 0x3c0000 分区的长度。这里起始地址和分区长度,根据 flash 容量和机型不同
- 而不同,具体可看前面的分区地址表。
- 出现如下提示:
- First 0x2 last 0x3d sector size 0x10000
- 61
- Erased 60 sectors
- 继续输入:
- ar7100> cp.b 0x80800000 0xbf020000 0x3c0000 //地址和分区大小根据机器和
- flash 不同而不同,同上。
- 提示:
- Copy to Flash... write addr: bf020000
- done
- 重启就 OK 了。
- 其中 uboot 和 ART 也可按上面的操作完成。只是地址不同,请参照分区表。
- 5.双 flash web 救砖教程:
- 1. 由 4M 救回 8M:
- 1.从 4M 原厂启动路由,如果是 DD,请使用曾哥的 DD to flactory工具
- 先刷回原厂。
- 2.将原厂的 4M 固件刷成 MR3420 的 OP。(不要拔开关)。
- FW300R 刷成 OP 的固件下载地址是:http://115.com/file/be63tefp#fw3 ... quashfs-factory.bin
- MW300R 刷成 OP 的固件下载地址是:http://115.com/file/anitowgk#mr3 ... quashfs-factory.bin
- 3.
- 待系统更新重启后,就会进入 4M 的 OP 系统里。进入系统更新页面:
- 将开关打到 8M 的 flash 的位置上。更新一个 4M 大小 8M 的 OP 系统。
- 这个 OP 的下载地址是:http://www.kuaipan.cn/file/id_2646309739701525.html
- 待系统重启后,就能进入 8M 的 flash 的 OP 了。
- 4. 至此,8Mflash 救砖完成。
- 2.8M救回8M:
- 1.把开关打到系统是好的flash的位置上,用好的系统启动,进去系统更新页面。
- 2. 把开关打到砖了的flash上,更新固件.
- 重启后,两个8M的固件都是好的了。
- 2. TTL双flash教程;
- 1.原厂与空白8Mflash.
- 1.先由原厂固件启动,用tpl中断uboot启动。
- 2.将开关打到 8M 的 flash 的位置上,把8M的uboot刷进8M的flash里(TTL刷
- 机教程请见前面‘TTL教程’)
- 3. (不要拔开关)。重插路由电源,让路由从8M的flash启动,按“p”中断
- uboot启动。用TTL把8M的固件刷进0x9f020000—0x9f7f0000.
- 4. 将 开 关 打 到4M 的 flash 的 位 置 上 , 用 “ cp.b 0x9f3f0000
- 0x80800000 0x10000”命令把原厂的 art 复制到内存里,再把开关打到 8M
- 的 flash 的位置上,用“cp.b 0x80800000 0x9f7f0000 0x10000”命令
- 把 art 复制到 8M flash 的 0x9f7f0000--0x9f7fffff 里。
- 这样双flash就成功了。
- 2.TTL 8M救8M简单过程。
- 1.由好的8Mflash启动,用按“p”中断uboot启动。
- 2. 用“cp.b 0x9f000000 0x80800000 0x800000”命令把好的8M的flash里的所有
- 内容复制到RAM里。
- 3. 将开关打到 另一个8M 的 flash 的位置上(砖了的,或者新的) 先用。 “erase
- 0x9f000000 +0x800000”命令擦除这个flash,再用“cp.b 0x80800000 0x9f000000
- 0x800000”命令把固件刷进flash里。
复制代码
这个是改装完毕的图,打孔是用的斜口钳和美工刀,手艺不行,另外这个路由器壳子比较难开,而且表面容易花{:soso__6235880048239246314_3:}
- -!120k的附件居然说大了。。。。算了。。。压缩吧。。。
先粘上开关
然后就是按照论坛上的前辈说的,把已经焊上去的flash(8M flash)1脚CS#翘起,我使用烙铁烫然后用镊子轻轻挑一下完成的,然后把另一块(原装4M)的除1脚以外的7个脚叠焊起来,这个的话要先把上面的4M flash的7个脚都稍微弯下去,这样才方便焊接。接着找俩10K的色环电阻(后来才发现用色环电阻有bug,两个叠一起太厚了,导致放进去原装的盒子里翘起来一点,不过看了下不影响还原操作,里面的剩余空间还是挺大的)分别将两个flash 的1脚和8脚连接起来,然后就是引线了:
1.脱离下面的8m flash 1脚的焊盘;
2.底下的8m flash的1脚;
3叠焊上去的4m flash的1脚;
以上三个地方分别引出一根线,1连至开关中间的脚,2、3的话你就可以任选了,反正总有一个当开关按下时是被选中的。
下面的成品图
盖上盖子:
。完成了,附带几张编程器的图
闪了~~有空再加个ram,然后装上ser2net尝试跟单片机通讯
|