AMD EPYC平台无法访问SPD信息的技术求助
问题:CentOS 7下AMD EPYC平台无法通过I2C读取SPD数据
需求背景
- 核心目标:通过I2C接口读取Serial Presence Detect(SPD)数据,重点获取位于字节1的SPD Revision(该位置定义在DDR3和DDR4规格中一致)
- 为何选择I2C方案:dmidecode、lshw等标准Linux工具无法获取该信息,部分场景下Passmark的Memtestx86也无法检测,因此基于
i2c-dev内核模块,使用smbus2库实现了Python版本的读取工具
测试结果对比
- 正常工作场景:Intel赛扬处理器平台搭配DDR3 DIMM,通过i2c-tools可正常检测并读取到SPD Revision为1.3
- 异常场景:搭载AMD EPYC 7402P处理器的Supermicro H12SSW-AN6主板,加载
i2c-dev模块后执行i2cdetect命令时,出现SMBus超时及操作失败的报错,无法读取SPD数据 - 统一测试环境:两台设备使用的内核版本均为
3.10.0-1160.71.1.el7.x86_64
排查方向与疑问
- 怀疑CentOS 7缺少适配AMD EPYC平台的I2C相关内核模块,导致无法与对应I2C设备正常交互
- 推测内核3.10版本存在相关疏漏,升级至新版本内核可能解决问题
- 已尝试了解AMD的apml_modules,判断无法解决当前SPD读取问题,特此求助
内容的提问来源于stack exchange,提问作者jw-smc
相关产品推荐
相关产品推荐

