====DEL:如何彻底恢复模块为出厂状态==== Digi的核心板上跑有三个固件:U-Boot,Linux内核,rootfs文件系统。一般出厂的模块,您至少需要烧写自己的内核和文件系统以匹配相关的应用。对于早期的板子,你可能还愿意更新Uboot以保证Uboot版本不会太老。除此之外,当遇到问题时,您可能还需要对NVRAM区的参数做初始化,防止一些误写或被破坏的参数影响系统。 总的来说,当遇到问题时,建议先按下面方法一操作,再检查一下模块的可用性。 方法一: 1.升级UBoot (如果有必要的话) 2.在uboot中,初始化参数 #envreset #saveenv 上面两条命令初始化NVRAM变量参数区,将其恢复出厂设置。接下来您需要重新初始化分区,并更新内核和文件系统。 #flpart 选择r>l>q #update linux tftp #update rootfs tftp 注意,上面这种方式只是将变量恢复出厂,清NVRAM的方法不够彻底,有时还是不能解决问题,这时我们可以尝试下面方法二,来彻底将NVRAM区清空。注意这个方法也会把MAC地址等清空,如果不写回,您的模块将不能用。为了保存模块中网络接口和蓝牙的mac地址等信息,请先进行备份。 方法二: 1.备份 #printenv #intnvram printall 通过终端将打印结果保存成文件,文件名最好带mac地址以方便找回。另外注意CC28上的标签是否完好,因为标签上也有一些mac地址信息,所以方便比对。如果模块标签已经遗失,奸计用贴个标记以方便找到对应的文件。 下面这些命令初始化intnvram区并重启 # intnvram reset # save # reboot 重启后,需要重设一些模块本身的参数,包括IP和mac地址 重启后 #flpart r-l-q,并保存分区 恢复mac地址等各种参数 #intnvram set module ethaddr1=00:04:F3:XX:XX:XX 对应网口ENET0的ethaddr #intnvram set module ethaddr2=00:04:F3:XX:XX:XX  对应wlanaddr #intnvram set module ethaddr3=00:04:F3:XX:XX:XX  对应ENET1的eth1addr #intnvram set module btaddr1=00:04:F3:XX:XX:XX 对应蓝牙btaddr #save 然后就可以配置模块网络IP,进行固件升级等操作 …… #update linux tftp #update rootfs tftp