Chinaunix首页 | 论坛 | 博客
  • 博客访问: 695167
  • 博文数量: 79
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1338
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-12 08:51
个人简介

XMU->九天揽月->五湖抓鳖->DSP->driver->kernel/OpenWRT->ISP/RTOS

文章分类

全部博文(79)

文章存档

2020年(2)

2018年(3)

2016年(7)

2015年(42)

2014年(25)

分类: LINUX

2014-12-07 22:19:13

  记录下在broadcom + openwrt平台的网络配置。目前只限于有线连接。 

1. nvram     

    nvram是某些芯片(一般就是broadcom和cavium)要求的一段重要配置的集合,类似于uboot的env吧。这里面包括了硬件版本信息、gpio、switch配置、vlan划分、lan/wan、ip/mac、wifi参数等。 
每次编译出cfe镜像后,必须要打包nvram_file 
./nvserial -i cfez.bin -o uboot.bin -s 001 nvramfile.txt 
           这些作为一个初始设置固化在cfe.bin的0x400~0x1400区间, 魔术字FLSH识别header,除非重新制作升级cfe否则这段初始nvram配置是不会变化的,可把它当作是出厂恢复备份。cfe启动过程中,读取 0x400~0x1400这段空间,转存到flash芯片的最后一个64K空间(通常给它划分成独立的nvram分区)内,同样是”FLSH”的 header,这段空间可以通过nvram工具来get、set、erase、commit。 
          下次启动时,首先读取nvrma分区的参数,若完整则用这个参数来配置系统,否则就要重新从cfe的镜像中重新读出原始值转存到nvram分区。

2. switch

   53xx的内置switch有port0~5,外加7,共7个port(不过port7实测没有效果,也给不出更多的解释),有效的实际只有0~5。而且 port5是固定作为cpu与switch的连接口的,所以cpu只能有一个eth控制器来连接switch了(eth0),lan/wan都是通过这个 上到cpu内部的,而面板lan/wan划分只能作用于0~4这5个port。
    例: 
要划分port0/1为wan,vlanid 2;port2/3/4为lan,vlanid 1。nvram的switch配置如下,

vlan1ports=1 2 3 4 5*

vlan1hwname=et0

landevs=vlan1 wl0 wl1

vlan2ports=0 5t      /* wan上行报文带tag,故wandevs = vlan2 */

vlan2hwname=et0

wandevs=vlan2

 

3. uci

   现在openwrt的trunk版本对broadcom的nvram支持看来不是很好,修改uci只能建立起上层的虚接口ethx.x,并不能作用到switch的硬件配置,这应该跟broadcom驱动不开源有关。故必须把nvram中对switch配置的修改同步到uci的network中,config switch_vlan ports option做一致修改。 
    

config switch_vlan 'eth0_1' 
    option device 'eth0' 
    option vlan '1' 
    option ports '1 2 3 4 5*' 
 
config switch_vlan 'eth0_2' 
    option device 'eth0' 
    option vlan '2' 
    option ports '0 5t' 

 
          最理想的结果当然是用户只需要改写文件系统里的/etc/config/network文件,重启一下网络就可以把53xx switch配置好,甚至把修改同步到nvram分区。Long way to go.


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