Chinaunix首页 | 论坛 | 博客
  • 博客访问: 968326
  • 博文数量: 86
  • 博客积分: 2283
  • 博客等级: 大尉
  • 技术积分: 861
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-04 09:02
个人简介

没什么好说的。

文章分类

全部博文(86)

文章存档

2014年(1)

2013年(5)

2012年(7)

2011年(26)

2010年(20)

2009年(27)

分类: 嵌入式

2011-12-29 13:14:55

我们常说的BIOS是存储在FLASH芯片中的,象我们现在卖的BUFFALO APFLASH芯片一般为4M

整个FLASH芯片中大致分为3部分:

第一部分就是FLASH的开头部分叫做CFE,存储启动必须的一些信息,例如初始地址、MAC地址、内存地址等等;

第二部分就是我们可以下载升级部分,你从产品网站上下载的BIOS升级程序就是这部分;

第三部分就是楼上说的NVRAM,基本可以理解为用来保存AP的设置参数。

 

OpenWrt:什么是NVRAM?

NVRAM 全名是 Non-Volatile Ram ,在 OpenWrt 里是用了 Flash Rom 最后的 64K 区块,用来储存一些环境参数,OpenWrt通过这些参数来配置网络,DHCPDNS和记载硬件版本等。


常用的 nvram 指令有以下 4 种:

1. nvram show

列出 NVRAM 内所有参数,我们亦可以用 grep 命令来抽取部份资讯,例如

nvram show | grep lan_

这命令列出了所以用 lan_开头的参数,结果如下:

lan_gateway=192.168.1.254

dr_lan_rx=0

lan_netmask=255.255.255.0

lan_lease=86400

lan_stp=1

lan_hwaddr=00:12:17:E1:56:F5

lan_dns=211.152.179.7 202.96.128.86

lan_ifnames=vlan0 eth1

size: 12567 bytes (20201 left)

lan_ipaddr=192.168.1.1

lan_proto=static

lan_ifname=br0

lan_wins=

lan_hwnames=


2. nvram set 参数=数值

用来添加或修改一些参数,例如我想把 LAN  IP  192.168.1.1 改为 192.168.1.2,可执行:

nvram set lan_ipaddr=192.168.1.2

nvram commit

reboot

 1 行是修改 IP 地址,第 2 行是保存,第 3 行是重新启动 OpenWrt ,因为更改 IP 地址后要重启才能生效。


3. nvram unset 参数

用来删除一些参数,不过这个功能很少用到,因为 NVRAM  64K 容量足够保存大量参数,大部份人都赖得去删。

例如我想删除dr_lan_rx=0这个参数,请执行:

nvram unset dr_lan_rx


4. nvram commit

当你对 NVRAM 做了一大堆修改后,你需要把这些修改保存起来,否则你的路由器 RESET 后,这些修改便没有了,和上面一样,这时你要执行:

nvram commit

mtd -erase nvram

nvram commit

reboot

如果不行,就刷上openwrt,然后执行以上命令

好了之后再用bootwait刷回dd-wrt就可以了

回到dd-wrt启动时候,按住reset button启动,去web guireset button支持关掉,保存,重启

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

 

WVRDDnvram,刷tomato

1、进入管理界面点开升级界面。

2、进入TELNET管理后输入“mtd -e nvram erase nvram”再执行“nvram commit”这是保存,

3、到你刚点开的升级界面,选择TOMATO的固件,

4升级吧,现在你就可以进入西红柿了(用户名和密码和DD的一样)。

以上操作不用REBOOT

 

对第2WVR进行了升级,必须得恢复到默认设置(好像只有4116 也就是10.10日的版本可以恢复出厂默认)后再进行上面14的操作。

我的WAN口接了设备,这时也不行,要拨下来,才可以进入到西红柿。

其实tomato能清除nvram的原因不是它能同时写入到dual nvram,而是它把main part给清除了再把自己的默认数据写了进去,reboot以后pmon检测主备均正常,然后把主拷贝到备里面~~~

dd呢,把main擦除了,希望交给pmon来写入默认值,但pmon发现虽然main无效了,但是sub 还是好的,so就把sub给拷贝到main~~

阅读(21921) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~