openUBMC智能网卡适配经验分享

1. 板卡加载方式选择

加载方式 特点
1 天池标准组件加载方式,从器件E2prom获取板卡信息,加载对应的配置文件
2 从9555器件获取板卡id,根据获取的id加载对应配置文件
3 从I2C寄存器获取卡的基本信息,加载对应配置文件
4 从电子标签获取卡的基本信息,加载对应配置文件
5 BIOS上报BDF,BMC根据BDF获取四元组信息,加载对应配置文件

标准PCIe卡,使用加载方式5

2. 连接器配置分享

加载方式

第1版配置

存在连接器Id和AuxId会被覆盖的问题,导致卡加载失败,因此修改了配置–

第2版配置

3. 在位获取配置问题分享

错误配置

正确配置

【错误配置导致问题】
1.AC启动过程中,DPU卡在位默认配置成了在位,在进行在位信号防抖处理时卡状态默认配置为不在位,造成卡会出现误加载后卸载再加载现象;
2.加载后卸载再加载过程间隔时间过短,导致卸载过程未完全结束又进行了下一次加载,概率出现网卡温度监控相关对象重复加载报错(error: kepler.class.ClassDuplicateDefined),DPU卡温度监控功能失效

4. 散热配置

智能网卡散热要求较高,使用PID调速,且由于其需要支持STBY供电模式的特性,在BMC PID调速未接管时,对散热策略进行了进一步的加固

在ac启动过程中,仍出现网卡过温现象

5. 散热配置问题分享

CoolingAera Id配置重复导致下电时BMC出现日志刷屏


id重复后,仅会加载其中一个CoolingAera,而这个CoolingAera对象关联了2个温度点对象,这2个温度点对象如果在同一时间的生效状态不同,在更新CoolingPolicy生效状态时会出现状态在生效和不生效间反复切换