Ralink SDK NVRAM和WIFI配置的关系

本文详细介绍了Ralink SDK如何利用NVRAM管理WIFI配置,包括设置、获取、显示和恢复出厂设置WIFI参数的命令及C程序中使用lib_nvram的方法。NVRAM机制确保了WIFI配置的持久化,但要注意配置生效通常需要额外步骤,如生成配置文件和重启WIFI设备。同时提到了nvram_daemon在处理WPS和系统重置中的作用。
摘要由CSDN通过智能技术生成

Ralink SDK NVRAM和WIFI配置的关系

380939960@qq.com

 

 

简单来说,Ralink SDK中的NVRAM机制提供了以下功能:

*   将WIFI配置持久化在flash中,保证用户设置的SSID,KEY等WIFI参数掉电后仍然有效;

*    第三方程序通过“nvram_set ”命令设置新的WIFI参数,并将它保存到FLASH中;设置完WIFI参数后,还需要使用其他命令才能让WIFI driver使用到新的WIFI参数。

*    第三方程序通过“nvram_get ”命令获得当前“nvram”中的WIFI参数。注意:这个参数可能并不一定是WIFI driver当前使用的参数。

*    第三方程序通过“ralink_init gen ***”命令,根据NVRAM机制中WIFI参数生成WIFI driver使用的配置文件(例如” /etc/Wireless/RT2860/RT2860.dat”); 生成新的WIFI配置参数后,通常还需要重新打开WIFI设备才能让新配置生效(例如:ifconfig ra0 down; ifconfig ra0 up);

*    通过“ralink_init renew 2860 [<file>]”命令恢复出厂设置。

如果 是C代码的话,就使用lib_nvram中提供的函数来操作;


个人觉得不太建议将 lib_nvram提供的函数和"iwpriv"这个命令提供的功能混合使用,混合使用时,操作流程互相交叉,很容易出一些奇奇怪怪的问题。

 

修改WIFI参数

可以通过类似如下的命令设置当前NVRAM中的某个WIFI参数;需要指出的是nvram_set命令实际上是ralink_init命令的符号连接。

 

# nvram_set HT_BW

1

#

 

当然如果是C程序的话,最好还是使用SDK中libnvram提供的函数来实现,例如:

 

 

if(!strlen(ntpServer)){

                   // user choose to make  NTP server disable

                   nvram_bufset(RT2860_NVRAM, "NTPServerIP", "");

                   nvram_bufset(RT2860_NVRAM, "NTPSync", "");

         }else{

                   if(check_semicol

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值