硬盘背板CPLD升级报错

升级硬盘背板的CPLD版本,在升级进度95%的时候出现失败,返回-1
,问题必现。(该问题在更新630版本以后出现)
以下是在app.log文件中截取的一些升级过程的打印信息:
2025-07-23 09:55:41.076294 web_backend NOTICE: init.lua(98): upload content length:number 93747, remaining capacity space:number 123195392
2025-07-23 09:55:41.266884 firmware_mgmt NOTICE: active_fructl.lua(95): get host type is Singlehost
2025-07-23 09:55:41.267319 firmware_mgmt NOTICE: utils.lua(38): The file path is local.
2025-07-23 09:55:41.284586 firmware_mgmt NOTICE: init.lua(36): update status to FS_SIMPLE_UPGRADING.
2025-07-23 09:55:41.299497 firmware_mgmt NOTICE: task_service.lua(53): task create success, task id: 2250541847
2025-07-23 09:55:41.304243 firmware_mgmt NOTICE: task_id_mgmt.lua(30): add serial task id(2250541847) successfully
2025-07-23 09:55:41.305593 firmware_mgmt NOTICE: tasks_scheduling.lua(107): start tasks processer
2025-07-23 09:55:41.464808 firmware_mgmt NOTICE: file_transfer.lua(145): start to move file [BPS-2S-SFF-D_00000004032205386_CPLD_1.00_huoban.hpm] from tmp to shm
2025-07-23 09:55:41.549255 firmware_mgmt NOTICE: file_transfer.lua(150): move_file_s ok:true, err:0
2025-07-23 09:55:41.664614 firmware_mgmt NOTICE: validate_sign.lua(174): verify signature successfully
2025-07-23 09:55:41.666053 firmware_mgmt NOTICE: action.lua(37): Validate signature successfully
2025-07-23 09:55:41.890664 firmware_mgmt NOTICE: hpm_package.lua(556): parse cfg file successfully, Version:1.0 FileNum:2
2025-07-23 09:55:41.891447 firmware_mgmt NOTICE: hpm_package.lua(444): get obj table: 0x1152cca9dbf0 for Id=24
2025-07-23 09:55:41.892249 firmware_mgmt NOTICE: hpm_package.lua(451): get obj table: 0x1152cca9dbf0 for Id=24
2025-07-23 09:55:41.892609 firmware_mgmt NOTICE: hpm_package.lua(462): get obj table: 0x1152cca9dbf0 for Id=24
2025-07-23 09:55:41.893102 firmware_mgmt NOTICE: hpm_package.lua(413): System product info:ProductId(0), ProductVendorID(0x00000001), ProductUniqueID(0x030ABF00)
2025-07-23 09:55:41.893351 firmware_mgmt NOTICE: hpm_package.lua(327): check product id successfully
2025-07-23 09:55:41.909946 firmware_mgmt NOTICE: hpm_package.lua(395): cfg-BoardIDList(65535) match all devices
2025-07-23 09:55:41.910365 firmware_mgmt NOTICE: hpm_package.lua(437): get obj table: 0x1152cca9dbf0 for Id=24
2025-07-23 09:55:41.910741 firmware_mgmt NOTICE: hpm_package.lua(488): hard_revision:0, soft_revision:0
2025-07-23 09:55:41.910951 firmware_mgmt NOTICE: hpm_package.lua(501): revision number check successfully. Target revision=(0, 0) and hpm revision=nil
2025-07-23 09:55:41.918996 firmware_mgmt NOTICE: action.lua(47): Parse hpm package successfully
2025-07-23 09:55:41.938901 firmware_mgmt NOTICE: task_instance.lua(200): upgrade_task file_name=BPS-2S-SFF-D_00000004032205386_CPLD_1.00_huoban.hpm, FirmwareType=BP_Cpld, fw_num=1, UniqueIDList=nil, sys_id=1, info_key=1_BP_Cpld_0x18_0xffffffff_2250541847
2025-07-23 09:55:42.037152 firmware_mgmt NOTICE: info_mgmt.lua(77): create_info: info_key=1_BP_Cpld_0x18_0xffffffff_2250541847, FirmwareType=BP_Cpld, task_id=2250541847
2025-07-23 09:55:42.130494 firmware_mgmt NOTICE: task_instance.lua(477): firmware(info key:1_BP_Cpld_0x18_0xffffffff_2250541847) do upgrade stages
2025-07-23 09:55:42.131127 firmware_mgmt NOTICE: task_instance.lua(273): public initialize action start
2025-07-23 09:55:42.131629 firmware_mgmt NOTICE: hpm_package.lua(473): get obj table: 0x1152cca9dbf0 for Id=24
2025-07-23 09:55:42.132094 firmware_mgmt NOTICE: hpm_package.lua(513): now uptime = 56470, firmware init time = 0
2025-07-23 09:55:42.132309 firmware_mgmt NOTICE: hpm_package.lua(444): get obj table: 0x1152cca9dbf0 for Id=24
2025-07-23 09:55:42.132737 firmware_mgmt NOTICE: task_instance.lua(278): public initialize action end
2025-07-23 09:55:42.133035 firmware_mgmt NOTICE: info_mgmt.lua(212): info_key(1_BP_Cpld_0x18_0xffffffff_2250541847) upgrade set_stage: INITIALIZE → DIFF_PREPARE, 5
2025-07-23 09:55:42.237767 general_hardware NOTICE: upgrade_subject.lua(82): [on_upgrade_prepare] firmware_type:BP_Cpld cur_firmware_type:BP_Cpld
2025-07-23 09:55:42.238067 general_hardware NOTICE: upgrade_subject.lua(90): [on_upgrade_prepare] start upgrade BP_Cpld
2025-07-23 09:55:42.238357 general_hardware NOTICE: signal.lua(99): [cpld]Start the system[1] BP_Cpld upgrade prepare phase
2025-07-23 09:55:42.347009 general_hardware NOTICE: upgrade_subject.lua(97): [on_upgrade_prepare] end upgrade BP_Cpld
2025-07-23 09:55:42.353655 general_hardware NOTICE: fw_upgrade.lua(127): [cpld]get cpld_valid :nil
2025-07-23 09:55:42.354169 general_hardware NOTICE: fw_cfgs.lua(69): check fw uid(00000004032205386) id(255) id_ex(4294967295) exist success
2025-07-23 09:55:42.621804 general_hardware NOTICE: fw_init.lua(194): get fw version 1.03
2025-07-23 09:55:42.622330 general_hardware NOTICE: fw_upgrade.lua(94): [cpld]get verion[1.03]
2025-07-23 09:55:42.625031 firmware_mgmt NOTICE: info_mgmt.lua(212): info_key(1_BP_Cpld_0x18_0xffffffff_2250541847) upgrade set_stage: DIFF_PREPARE → COMMON_PREPARE, 7
2025-07-23 09:55:42.638359 firmware_mgmt NOTICE: action.lua(86): public prepare action start
2025-07-23 09:55:42.685307 firmware_mgmt NOTICE: worker: start action in worker
2025-07-23 09:55:42.788330 firmware_mgmt NOTICE: worker: execute before action script successfully
2025-07-23 09:55:43.678159 firmware_mgmt NOTICE: action.lua(92): public prepare action end
2025-07-23 09:55:43.678584 firmware_mgmt NOTICE: info_mgmt.lua(212): info_key(1_BP_Cpld_0x18_0xffffffff_2250541847) upgrade set_stage: COMMON_PREPARE → PROCESS, 15
2025-07-23 09:55:43.779210 firmware_mgmt NOTICE: task_instance.lua(303): sys_id=1, fw_type=BP_Cpld, filename=/dev/shm/upgrade/2250541847/Firmware1
2025-07-23 09:55:43.784683 general_hardware NOTICE: upgrade_subject.lua(109): [on_upgrade_process] start upgrade BP_Cpld
2025-07-23 09:55:43.785029 general_hardware NOTICE: signal.lua(122): [cpld]Start the system[1] BP_Cpld upgrade process phase
2025-07-23 09:55:43.881426 general_hardware NOTICE: upgrade_subject.lua(116): [on_upgrade_process] end upgrade BP_Cpld
2025-07-23 09:55:43.882109 general_hardware NOTICE: fw_cfgs.lua(69): check fw uid(00000004032205386) id(255) id_ex(4294967295) exist success
2025-07-23 09:55:43.882490 general_hardware NOTICE: process.lua(37): cpld fw matched, system_id = 1, fw.uid = 00000004032205386, fw.csr.Name = SEU_CPLD
2025-07-23 09:55:43.919158 hardware ERROR: tar.c(664): __extract_file: lchown on file(cpld.svf) failed!
2025-07-23 09:55:43.920449 hardware ERROR: tar.c(664): __extract_file: lchown on file(valid.svf) failed!
2025-07-23 09:55:43.921289 general_hardware NOTICE: process.lua(294): [cpld]get cpld packages successful
2025-07-23 09:55:47.079130 general_hardware NOTICE: process.lua(192): [cpld]load_cpld_single
2025-07-23 09:55:47.081369 general_hardware NOTICE: process.lua(55): load file[0x1501c5]
2025-07-23 09:55:48.308530 general_hardware ERROR: process.lua(78): [cpld]block_write fail:BMC.Error.Unknow: ./opt/bmc/libmc/lualib/mc/context.lua:185: ./opt/bmc/libmc/lualib/sd_bus/object.lua:200: ./opt/bmc/apps/hwproxy/lualib/hwproxy_objects/app_bus.lua:104: …bmc/apps/hwproxy/lualib/hwproxy_objects/work_objects.lua:78: chip: Cpld_1_01010C, bus: JtagOverLocalBus_1, write failed: jtag_base.lua:104: cpld file write failed:response error, ioctl(CPLD_CMD_LOAD_CPLD) failed: 21, component_id:1, product_id:16
2025-07-23 09:55:51.409465 firmware_mgmt ERROR: control.lua(196): Upgrade BP_Cpld process failed, ret=-1
2025-07-23 09:55:51.409750 firmware_mgmt NOTICE: info_mgmt.lua(212): info_key(1_BP_Cpld_0x18_0xffffffff_2250541847) upgrade set_stage: PROCESS → COMMON_FINISH, 95
2025-07-23 09:55:51.474603 firmware_mgmt NOTICE: task_instance.lua(249): wait_msg_result stage=COMMON_FINISH, timeout=7200S, loop=76
2025-07-23 09:55:51.474874 firmware_mgmt NOTICE: info_mgmt.lua(302): info_key(1_BP_Cpld_0x18_0xffffffff_2250541847) upgrade failed, set_stage: COMMON_FINISH → COMPLETED

请帮忙分析一下升级失败原因是什么?
从LOG打印来看有几个报错信息
2025-07-23 09:55:43.919158 hardware ERROR: tar.c(664): __extract_file: lchown on file(cpld.svf) failed!
2025-07-23 09:55:43.920449 hardware ERROR: tar.c(664): __extract_file: lchown on file(valid.svf) failed!

./opt/bmc/apps/hwproxy/lualib/hwproxy_objects/app_bus.lua:104: …bmc/apps/hwproxy/lualib/hwproxy_objects/work_objects.lua:78: chip: Cpld_1_01010C, bus: JtagOverLocalBus_1, write failed: jtag_base.lua:104: cpld file write failed:response error, ioctl(CPLD_CMD_LOAD_CPLD) failed: 21, component_id:1, product_id:16
2025-07-23 09:55:51.409465 firmware_mgmt ERROR: control.lua(196): Upgrade BP_Cpld process failed, ret=-1

该CPLD升级报在330版本上升级是没有报错的。

630版本升级失败的原因是因为硬件链路不通,
330版本上升级没有报错,是因为软件没有检测这类错误,实际升级未生效。
通过更换硬件,问题已解决。