broadcom linux命令行操作手册
broadcom交换芯片linux命令行操作手册
文档作者:
编写日期:2010-6-1
项目经理:
批准日期:
交换芯片的说明.
内部连接图:
详细介绍:
目前我们716和732板上面用的是56309芯片,该芯片引出了24个GE口和4个10G口。端口号从0开始,0~23为GE口,24~27为10G口。XLR732CPU与交换芯片的24号直连,后插板的10G口对应交换芯片的27口,上背板fabric的10G口是交换芯片的25,26两个10G口。后插板上的GE口标注的端口号和交换芯片内部不一致。 后插板上的GE口和交换芯片上端口的对应关系如下:
后插板端口:12345678910111213141516
芯片端口:181614121082022232119171513119
驱动程序的组成和加载
组成:
目前linux下的broadcom驱动和相关文件由4部分组成:linux-kernel-bde.ko linux-bcm-core.ko bcm-netlink.ko bcm。Linux-kernel-bde.ko负责设备的枚举和DMA等,linux-bcm-core.ko负责设备的配置,Bcm-netlink.ko负责应用空间到内核空间的通讯,bcm为应用程序,提供shell下配置broadcom交换芯片的命令。
加载:
进入linux的shell下之后,找到3个ko模块所在的目录,然后输入如下命令:
1.insmod linux-kernel-bde.ko
2.insmod linux-bcm-core.ko init=bcm
3.insmod bcm-netlink.ko
注意:必须按上面所示的顺序进行模块的加载。目前版本已经将模块设置为自动加载。
shell下的配置命令说明
(1)常用命令
1.bcm show port
作用:查看端口的基本状态。
eg:
2.bcm show stat
作用:查看端口的包统计信息
字段含义:PORT:端口号RPKT:收包数RMCA:收组播包数RBCA:收广播包数R64收0~64字节包数……RBYT:收包的总字节数
eg:
3.bcm show stat err
作用:查看端口的错包统计信息\
字段含义:PORT:端口号RFCS:FCS出错的包RUND:长度太短的包数ROVR:过长的包数RXCF收控制包数RXPF:收停止包数
bcm show reg
作用:查看交换芯片的某个寄存器的值
用法:bcm show reg 'unit' 'regtype' 'regaddr'
参数含义:unit---设备号(对于732或716,该值目前为0)
regtype---寄存器类型,有合法值如下
typedef enum soc_regtype_t {
soc_schan_reg, /* Generic register read thru SCHAN */
soc_genreg, /* General soc registers */
soc_portreg, /* Port soc registers */
soc_cosreg, /* COS soc registers */
soc_cpureg, /* AKA PCI memory */
soc_pci_cfg_reg, /* PCI configuration space register */
soc_phy_reg, /* PHY register, access thru mii */
soc_hostmem_w, /* word */
soc_hostmem_h, /* half word */
soc_hostmem_b, /* byte */
soc_invalidreg
} soc_regtype_t;
不用寄存器类型为该枚举量所对应的值。如读取端口相关寄存器,该值为2,读取phy寄存器,该值为6。
regaddr---寄存器地址,见芯片手册上的描述
eg1:读取24口MAC_CTRL寄存器的值:
eg2:读取0号口的MII CONTROL寄存器的值:
在读取phy寄存器时,regaddr的前2位表示的是端口号,后2位表示的是寄存器地址。
bcm set reg
作用:改变交换