固件加载错误

TXW8301 · manhere · 于 2026-01-07 16:35发布 · 274 次阅读

使用taixin-fmac-linux-driver-v2.2.1-38772编译驱动使用,加载hgSDK-v1.6.4.5-39706-fmac编译出的固件时出现大量报错

[  584.149683] hgic_bootdl_cmd_rsp_handle:102::Checksum error,return HG_BOOTDL_ERR_RSP_PACKET!

[  584.166557] hgic_bootdl_send_cmd_tmo:250::cmd 0, error:2

[  584.177113] hgic_bootdl_cmd_enter:290::failed! ret:2

[  584.266661] hgic_bootdl_cmd_rsp_handle:102::Checksum error,return HG_BOOTDL_ERR_RSP_PACKET!

[  584.283506] hgic_bootdl_send_cmd_tmo:250::cmd 0, error:2

硬件固件版本:hgic fw info:1.5.9.5, svn version:19932, app version:0

===================================================

另外,hgic_def.h文件hgic_bootdl_cmd_hdr里定义unsigned char   addr[4],在实际fwdl.c文件中却有

#define BOOT_CMD_KEY        "@huge-ic"

#define BOOT_CMD_KEY_SIZE   8

造成274行 memcpy((void *)cmd_hdr->addr, (void *)BOOT_CMD_KEY, BOOT_CMD_KEY_SIZE);

报错

 [   28.861988] memcpy: detected field-spanning write (size 8) of single field "(void *)cmd_hdr->addr" at /hgic_fmac/utils/fwdl.c:274 (size 4)





收藏
收藏

共收到 4 条回复:

另外,日志中出现大量的

[  994.221985] hgicf_rx_fw_event:70::event list is full (max 16), drop old event


固件版本:hgic fw info:1.5.9.5, svn version:19932, app version:0

驱动版本:taixin-fmac-linux-driver-v2.2.1-38772 编译ko



共有1条回复, 点击查看
{{ value.topicReply.replyUser.userName }} · {{ value.topicReply.createOn | formatDate}}

怀疑版本差异过大,尝试将模块固件升级到了最新的v2.4.1.5-39777,配合驱动版本:taixin-fmac-linux-driver-v2.2.1-38772,仍然出现大量log:

[  994.221985] hgicf_rx_fw_event:70::event list is full (max 16), drop old event

结合日志应该是驱动一直在尝试download_fw造成,虽然按照手册”泰芯Linux_WiFi_FMAC驱动开发指南.pdf“,加载驱动时并未指定fw_file=xxx.bin但是驱动并未判断文件是否真实存在,一直尝试加载默认的hgicf.bin。。。


期待修复


共有0条回复, 点击查看
{{ value.topicReply.replyUser.userName }} · {{ value.topicReply.createOn | formatDate}}

Thu Jan  8 20:11:31 2026 kern.warn kernel: [  202.900434] hgicf_rx_fw_event:47::event id:7

Thu Jan  8 20:11:31 2026 kern.warn kernel: [  202.909114] hgicf_rx_fw_event:70::event list is full (max 16), drop old event


共有0条回复, 点击查看
{{ value.topicReply.replyUser.userName }} · {{ value.topicReply.createOn | formatDate}}

Linux驱动打印event list is full (max 16), drop old event是由于主控没有读走event队列导致队列满了,是正常现象,可以忽略这个打印。


共有6条回复, 点击查看
{{ value.topicReply.replyUser.userName }} · {{ value.topicReply.createOn | formatDate}}

需要登录发表回复, 如果你还没有账号请点击这里 注册

2026-01-07 16:35