【问题描述】
在文件中适配chip vpd/vendor/openUBMC/14100513_00000001010302044492.sr
经过日志调试发现在接入此硬件模块后导致I2C8下的connector中的loadstatus 值发生变化
导致connector 的ID 没被设置上,从而导致sr 没被加载。
请问Connector_PSR_EEP_0101 的loadstatus 是由什么决定的?有什么方案可以解决当前情况,从而使得新加的Chip可以正常使用
【问题描述】
在文件中适配chip vpd/vendor/openUBMC/14100513_00000001010302044492.sr
请问Connector_PSR_EEP_0101 的loadstatus 是由什么决定的?有什么方案可以解决当前情况,从而使得新加的Chip可以正常使用
loadstatus 值及其含义在系统中,loadstatus 是一个用于指示组件加载状态的值。根据不同的数值,可以判断组件加载的成功或失败原因。以下是 loadstatus 的可能值及其含义:
0:组件加载成功
1:器件访问失败
2:签名校验失败
3:数据格式非法
4:本地文件未找到
5:对象解析失败
6:Eeprom头校验失败
7:格式版本超过上限
255:初始状态(默认状态)
当 loadstatus 显示非零值时,需要按照以下步骤进行排查:
查看日志文件
framework.log,查找与组件加载相关的日志信息。Connector_xx_xx,其中 xx_xx 是具体的组件标识符。识别加载阶段
[self-discovery] 标记的日志,这表示系统正在读取并解析对应的 SR 文件。[self-discovery] Starting to parse SR file for component Connector_xx_xx
定位解析过程
[self-discovery] 日志之后,查找带有 position 标记的条目。这个标记是解析过程的唯一标志。[position] Parsing component at position 1234
分析错误信息
position 标记之后,查找相关的错误信息。这些信息将帮助确定加载失败的具体原因。Error: ioctl(HISPORT_CMD_READ) failed: Unknown error 290
解读错误代码
错误代码 290= 0010 0010 表示 HISPORT 命令读取操作失败,具体原因可能是 ACK 校验失败。
| 二进制字符串 | 位位置 | 名称 | 值 | 描述 |
|---|---|---|---|---|
| 0010 0010 | 7 | 发送FIFO已满 | 0 | I2C控制器发送FIFO未满 |
| 0010 0010 | 6 | 时钟拉伸 | 0 | 读写期间未出现 Clock Stretching |
| 0010 0010 | 5 | ACK校验错误 | 1 | 读写时ACK校验错误 |
| 0010 0010 | 4 | 总线异常拉低 | 0 | 读写启动时未检测到总线异常拉低 |
| 0010 0010 | 3 | 从fifo取数据超时 | 0 | 从fifo取数据未出现超时错误 |
| 0010 0010 | 2 | 命令帧结束标志 | 0 | 0表示命令帧未结束 |
| 0010 0010 | 1 | 读写出错 | 1 | 汇总 BIT[6:3] 的错误,表示I2C读写出错 |
| 0010 0010 | 0 | 操作完成 | 0 | 此次I2C读写操作未完成 |
解释
需要联系硬件工程师进行进一步的排查,确认硬件连接和通信状态。
针对不同 loadstatus 值采取相应措施
loadstatus = 1(器件访问失败)
loadstatus = 2(签名校验失败)
loadstatus = 3(数据格式非法)
loadstatus = 4(本地文件未找到)
loadstatus = 5(对象解析失败)
这不是异常。是你的介质属性切换为了Liquid,风冷服务器预期是Air。手动修改下CoolingConfig类下的Medium属性。至于你为啥会切换为Liquid,不清楚