当前位置: 首页 > news >正文

【net2】mii,mdio,ncsi,bond,vlan,dns,ipv6

文章目录

  • 1.MII:ISO网络模型中物理层(phy)和数据链路层(mac)属于硬件,其余都属于软件kernel
    • 1.1 RGMII时序调整:下面波形图都是测的bmc rx,rx有丢包
  • 2.MDIO:不仅管phy,支持mdio协议都管
    • 2.1 uboot & kernel配动态ip:kernel dts同uboot ,配完后dmesg能识别出phy(RTL8211F,ftgmac100,ifconfig有ip不用dhcp),这2个dts互不干扰覆盖
  • 3.NCSI(不是MII):NIC连到了BMC MAC4上,使用RMII4接口
  • 4.BOND:busctl tree xyz.openbmc_project.Network
  • 5.VLAN:busybox的vconfig命令或systemd
  • 6.DNS:作用是将域名解析成ip
  • 7.IPV6:Static Addr(不同于DHCPV6和SLAAC Addr)可手动设置
  • 8.Ipmitool lan网络管理:ipmitool lan set 1 macaddr 12:D4:DF:ED:E3:AA改变mac地址,00-bmc-eth0.network文件中[Link]字段会变


1.MII:ISO网络模型中物理层(phy)和数据链路层(mac)属于硬件,其余都属于软件kernel

SOC内部集成网络MAC外设(优点是SOC内置DMA加速,支持10/100/1000M网速)(有些是PHY内部集成MAC但网络效率不高):1.MII/RMII接口用来传输网络数据。2.MDIO(读写PHY内部寄存器)类似IIC两根线:一根数据线叫做MDIO(management data input/output,双向,不像MII那些串口单向有TX/RX),一根时钟线叫做MDC(clock,由bmc mac端驱动给出)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.1 RGMII时序调整:下面波形图都是测的bmc rx,rx有丢包

phy芯片支持边缘和中央对齐,但如下bmc芯片中:rgmii千兆时钟是125MHZ,时钟周期是1/125=8ns,RX只支持边缘对齐。
在这里插入图片描述
如下边缘对齐:data和clock时序相位重合。
在这里插入图片描述
如下也是边缘对齐,黄色下降和上升沿不在红色平的数据段。
在这里插入图片描述
如下异常差了1/4相位,中央对齐:黄色下降和上升沿红色数据段(平的),所以不满足bmc rx边缘对齐,bmc rx数据采样受到clk线影响,丢包,需要调rx相位。
在这里插入图片描述
如下bmc芯片提供寄存器写入 0x0-0x1f (0-31)进行相位调节。
在这里插入图片描述
32个steps,每个step是0.12ns,32*0.12约等于8*1/2
在这里插入图片描述
如下bmc的2个rgmii接口:mac0(eth0)和mac1(eth1)。cpu有eth0,ethtool eth0能看出速率。网络自适应:读取phy速率写进switch设置。

MDIO切换到886321:	gpio-util set MDC_SW_BMC_SEL_N 0
MIOD切换到1512: gpio-util set MDC_SW_BMC_SEL_N 1
读6321 port10上的0x6寄存器:  mdio-util -m 1 -p 0x10 -r 0x6  # 10端口link/速率/双工, 每个端口可不同
写6321 0x21到port10上的0x6寄存器:  mdio-util -m 1 -p 0x10 -w 0x6 -d 21

6321 port0 (to 1512)
6321 port3 (to cpu )
6321 port5 (to bmc )
1512 copper(to rj45)
在这里插入图片描述
如下图同上图,mdi就是mii经过变压器。如下53134相当于一个小的switch交换机(因为固件文件小,所以用eeprom,bmc用spi去升级这个eeprom),port1口给bmc,port2口给cpu,一根网线,cpu和bmc都有不同的ip。
BCM50210:copper侧(MDI_to_RJ45),sgmii侧(SGMII_to_BCM53134)
在这里插入图片描述

2.MDIO:不仅管phy,支持mdio协议都管

如下ast2500-mdio时序:时序由bmc端和phy端驱动实现,时序图采集数据时间在下面min/max范围内才有效。
在这里插入图片描述
如下ast2500-mdio协议:如下分为22和45两种规则,默认22,参考i2c协议。
在这里插入图片描述
如下ast2500-phy控制寄存器:eth1基地址0x1e680000(ast2500只有2个eth即mac即rgmii),第26bit为1就是读phy(27为1是写phy),20:16是phy的地址。如果mdio/mdc线直接连到了switch上(没有phy和rj45,switch当phy),mdio list扫不出,需配置如下寄存器0:5控制clock频率(一般switch千兆)。
在这里插入图片描述
在这里插入图片描述
如下第一,三行是控制,第二,四行是读数据。
在这里插入图片描述
在这里插入图片描述
如上读出0x11400000后去除0-15bit(0-15是64寄存器的write data)即变为0x1140。如下是phy芯片spec,1140对应00寄存器第6位(1)和13位(0) ,所以当前phy工作在1000兆自适应全双工模式。上述方法繁琐,uboot提供mii,kernel提供mdio-util。
在这里插入图片描述
在这里插入图片描述

2.1 uboot & kernel配动态ip:kernel dts同uboot ,配

http://www.dtcms.com/a/64222.html

相关文章:

  • FPGA学习(三)——LED流水灯
  • 【redis】hash基本命令和内部编码
  • 串口全解析
  • 【Go每日一练】实现简单的控制台计算器
  • LVS + Keepalived 高可用集群
  • 《MySQL数据库从零搭建到高效管理|库的基本操作》
  • Android调试工具之ADB
  • QtDataVisualization使用
  • 100.Vue3 + OpenLayers:使用 marker-feature 添加 Marker
  • linux基本操作系统2
  • How to install a package in offline scenario in Ubuntu 24.04
  • bean的加载过程
  • WPF从初学者到专家:实战项目经验分享与总结
  • Gymnasium Taxi‐v3 环境 与 Q-learning 算法 —— 强化学习入门 I
  • 2min搞定~Mac Pro 编译安装 Nginx 1.8.1
  • IP地址到地理地址查询的实现逻辑
  • 【Go】字符串相关知识点
  • ranger集成starrock报错
  • CTFshow 【WEB入门】信息搜集 【VIP限免】 web1-web17
  • 【第四节】windows sdk编程:windows 中的窗口
  • 隐藏的git文件夹
  • 【解决报错】:detected dubious ownership in repository at ‘D:/idea_code/xxx‘问题
  • 每日一题——两两交换链表中的节点
  • koltin在android 开发
  • 微电网管理 实现分布式能源的智能调度和管理
  • 【Java】并发编程实战:单例模式 + 阻塞队列的终极实现指南
  • 系统化战略管理国产软件的开创者与引领者
  • 【结构光相机的精度极限】
  • 【网络通信安全】子专栏链接及简介
  • 哪家LIMS厂商交付好?