问题描述
升级switch固件需要传输数据并且读取switch响应,固件包一共1M大小,每次输出64个字节,需要在插件中实现WriteRead的接口
环境信息
-
操作系统:[如 Ubuntu 24.04]
-
软件版本:[如 OpenUBMC2509]
-
硬件配置:[如 CPU、内存等]
重现步骤
-
[第一步]
在插件中实现writeRead接口:
-
[第二步]
进行pcieswitch固件升级 -
[第三步]
查看升级包数据每帧是否写读成功
期望结果
能够正常写读:

实际结果
switch只收到一个包:
并且这个包switch收到checksum不对:
尝试过的解决方案
该接口可以正常读写,但是会偶现出现报错:
./opt/bmc/apps/hwproxy/lualib/chip.lua:697: ./opt/bmc/apps/hwproxy/lualib/stream/i2c.lua:120: response error, i2c read fail, ret: 62, input:{“offset”:4294967295,“bus_type”:0,“len”:7,“has_error”:false,“name”:“Chip_PCIeSwitch_01010C”,“type”:1,“mask”:4294967295,“rw_type”:1,“offsetWidth”:4,“is_trace”:false,“buffer”:“F0 03 00 10 00 00 40 40 00 10 A0 E3 36 6E A0 E1 \n96 E5 8C E0 06 00 80 E0 0E 20 52 E0 96 C4 2E E0 \n0E 30 C3 E0 04 00 53 E1 05 00 52 01 70 80 BD 38 \n01 00 80 E2 05 20 52 E0 04 30 C3 E0 70 80 BD E8 \n0C 00 2D E9 00 10 A0 E3 E3 7F 22”,“requestor”:“bmc.kepler.hwproxy”,“addrWidth”:1,“addr”:178}
内核日志:
求助
新提供的接口无法满足升级要求,该接口哪里有问题或者提供一个可靠的接口





