路由器升级硬件(内存指令、FLASH……)

作者:疯疯  发表在www.ssbbcc.com  于2009年05月26日

一、摩托罗拉 WR850G, SparkLAN WX-6615GT, Belkin 7230, 7231, LinkSys 等可以刷第三方固件的路由器要使用HY SDRAM 133MHz、 16位内存芯片,可以从SDR内存条上拆下来,有16M、32M、64M单片容量的。用内存条总容量除以芯片数量就可以知道单片容量。
二、内存激活命令
首先是7231-4P 64M 此命令使用的是2*32=64M(方案为 两个32M 16位的芯片)激活命令。
nvram set sdram_init=0x0008
nvram set sdram_config=0x0033
nvram set sdram_ncdl=0x0000
nvram commit

32M 的命令 2*16=32
nvram set sdram_init=0x0008
nvram set sdram_ncdl=0x0000
nvram commit

其它:
nvram set sdram_init=0x0011
nvram set sdram_config=0x0062
nvram commit
reboot
以上是:WRT300N V1 V1.1/WRT350N V1/WRT150N V1 V1.1改成128M内存后的命令

nvram set clkfreq=300,150
nvram set sdram_init=0x0011
nvram set sdram_ncdl=0
nvram commit
reboot
以上是:华硕520GP的128M内存和超频到300MHZ的命令

nvram set sdram_init=0x0013
nvram set manual_boot_nv=1
nvram commit
reboot
以上是:WRT310N和WRT54G到64MB DDR RAM,看清楚,这个是单片DDR 64M颗粒

nvram set sdram_init=0x0012
nvram set sdram_ncdl=0x0000
nvram commit
reboot
以上是:单片SD 64M激活,看清楚,这个是单片SDRAM的,不是DDR的!!!
凡是单片64M SD的都可以适用,例如LINKSYS的WRH54G、华硕的520GC/GU等等

=====================================================
从上面的例子,然后再对照一下下面的列表
Size           Type           Organization            sdram_init     bits     RAS         CAS          Technology
8MB             SDR            4 Meg x 16                0x0002            000    1 0         A0-A11 A0-A7           64Mbit
16MB           SDR            4 Meg x 16 x 2          0x0000            000     0 0        A0-A11 A0-A7            64Mbit
16MB           SDR           8 Meg x 16                 0x000a            010    1 0        A0-A11 A0-A8           128Mbit
32MB           DDR          16 Meg x 16                0x000b            010    1 1        A0-A12 A0-A8           256Mbit
32MB           SDR           16 Meg x 16               0x000a            010    1 0        A0-A12 A0-A8            256Mbit
32MB           SDR           8 Meg x 16 x 2           0x0008            010    0 0        A0-A11 A0-A8           128Mbit
64MB           DDR          16 Meg x 16 x 2         0x0009            010    0 1        A0-A12 A0-A8           256Mbit
64MB           SDR          16 Meg x 16 x 2          0x0008            010    0 0        A0-A12 A0-A8            256Mbit
128MB         DDR          32 Meg x 16 x 2          0x0011            100    0 1        A0-A12 A0-A9            512Mbit
128MB         SDR          32 Meg x 16 x 2          0x0010           100     0 0        A0-A12 A0-A9            512Mbit
256MB         DDR          64 Meg x 16 x 2          0x0011           100     0 1       A0-A13 A0-A9             1Gbit

=======================================================

有没发现之前的那些命令中有东西跟上面的列表相同?上面中间部分,就是命令用到的参数。
大家找自己的命令时,认准Type 是DDR 还是SDR,同时还认准 Organization 是单芯片 还是双芯片“X2”。

其实对于sdram_init这个指令的参数设置很简单。
MemType Memory type in use.
0: SDR SDRAM
1: DDR SDRAM

Memory interface.
0: 32-bit interface
1: 16-bit interface

bit4:2 ColWidth Column width in use.
000: 8-bit column
010: 9-bit column
100: 10-bit column

13 Clock Clock source?
0: External clock
1: Internal clock
其实内存容量参数是由6位2进值数组成的。由于Clock source都是采用External clock,所以我们也可以简单的认为是由5位2进值数组成。方式现举例说明。
1.比如现在机器上用了1片64m的sd内存
那么先看这片sd的ColWidth Column width 。这个可以从sd的datasheet上查到。
64m的单片颗粒的ColWidth Column width 为10bit。对应上面的表。可以查出是100
然后是内存宽度。我们用的是单片的16位宽度的。对应上面就是1
接着是内存类型。我们用的是sd的内存,对应是0
现在我们可以把现在得到的5个2进值顺序排列起来。那就是10010.然后用xp自带的机算机来把现在的10010这个2进值数换算成16进值。那我们得到的就是12
这样就完成了。对应激活内存指令为 sdram_init=0x0012
====================================================

提醒一下,尝试未经验证的内存激活指令时一定要有jtag才可以,否则参数错误导致变砖了就麻烦了,未确定自己使用什么命令,千万别使用,也别贪心试下高内存激活,使用错命令,路由99%变砖头。

三、刷TOMATO后路由器灯不正常时
telnet上去执行一下命令
nvram set gpio0=disable
nvram set wl0gpio0=2
nvram set wl0gpio3=4
nvram set wl0gpio5=4
nvram commit
(3秒后)…
reboot

wl0gpio0是数据传输灯
wl0gpio3是WLAN灯
wl0gpio5是电源灯
“=”后面的数字代表不同的参数,比如常亮,闪烁等,需自行测试.

分类: 数码、网络、网站

相关标签: , , , , ,

原创文章如转载,请注明:转载自 我们都很疯 [http://www.ssbbcc.com]

感谢你发表评论 www.ssbbcc.com 鼓励全人类学习象形字



谷哥赞助

老年历

免责声明

本站资讯大多来源于互联网,如涉及您的版权请留言或者邮件root#ssbbcc.com告知。私人文章请务必要登陆阅读。
拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!
违法信息举报请QQ676212374或者邮件root#ssbbcc.com联系

疯子亲友团