Search found 15 matches

by Michael2021_esp
Sat Dec 11, 2021 2:18 am
Forum: ESP-IDF 中文讨论版
Topic: hcd.c中的zero_len_packet标志设置问题
Replies: 2
Views: 4516

hcd.c中的zero_len_packet标志设置问题

MASTER版本。见红色字体,疑问:bulk transfer附加0长度报文应该只针对out方向吧?我理解应该是!is_in ... static inline void _buffer_fill_bulk(dma_buffer_block_t *buffer, usb_transfer_t *transfer, bool is_in) { if (is_in) { usbh_hal_xfer_desc_fill(buffer->xfer_desc_list, 0, transfer->data_buffer, transfer->num_bytes, USBH_HAL_XFER_DESC_...
by Michael2021_esp
Thu Dec 09, 2021 12:44 pm
Forum: ESP-IDF 中文讨论版
Topic: [已解决] MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误
Replies: 8
Views: 14186

Re: MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误

看起来 USB_TRANSFER_FLAG_ZERO_PACK 可能有点问题。我会再检查。但是需要用 USB_TRANSFER_FLAG_ZERO_PACK 的情况很少。我不是很懂为什么你发bulk传输要加 USB_TRANSFER_FLAG_ZERO_PACK。当 urb->transfer.num_bytes 是端点 MPS (例如 64) 的 N 倍时,HCD 已经会自动加最后的 zero packet。 是这样的: STEP1. 最开始的时候,因为发送4096字节的Transfer的时候出现HCD_PIPE_EVENT_ERROR_XFER错误导致后面流程无法走下去,才尝试去添加US...
by Michael2021_esp
Thu Dec 09, 2021 6:11 am
Forum: ESP-IDF 中文讨论版
Topic: [已解决] MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误
Replies: 8
Views: 14186

Re: MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误

@ESP_Dazz 长度为64倍数的批量传输拆分为2个批量传输,目前看解决了大多数的情况,但是其中有一个256长度的报文,业务逻辑上不能拆分。还是请指导一下如何解决这个问题。
by Michael2021_esp
Wed Dec 08, 2021 9:38 am
Forum: ESP-IDF 中文讨论版
Topic: [已解决] MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误
Replies: 8
Views: 14186

Re: MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误

如果不包括 USB_TRANSFER_FLAG_ZERO_PACK 还会出问题吗?你现在用的设备时什么 Device Class? -- 对端设备为市场上的安卓手机。 -- 如果不设置这个USB_TRANSFER_FLAG_ZERO_PACK标志,不会出现assert失败,URB完成状态为USB_TRANSFER_STATUS_COMPLETED,但是再发送新的bulk传输就出现HCD_PIPE_EVENT_ERROR_XFER了,URB完成状态为USB_TRANSFER_STATUS_ERROR。 当前我做了特殊保护,一旦发现是64倍数则自动拆分成两个bulk传输,临时解决了这个问题。 目前...
by Michael2021_esp
Wed Dec 08, 2021 3:22 am
Forum: ESP-IDF 中文讨论版
Topic: [已解决] MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误
Replies: 8
Views: 14186

Re: MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误

目前最新的现象是,只要发送长度为64倍数的bulk传输,就出现assert失败。暂时无法跟踪看到urb->transfer.status的取值。在usbh_hal_chan_decode_intr函数中assert失败,见红色字体 usbh_hal_chan_event_t usbh_hal_chan_decode_intr(usbh_hal_chan_t *chan_obj) { uint32_t chan_intrs = usbh_ll_chan_intr_read_and_clear(chan_obj->regs); usbh_hal_chan_event_t chan_event; i...
by Michael2021_esp
Tue Dec 07, 2021 5:24 am
Forum: ESP-IDF 中文讨论版
Topic: [已解决] MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误
Replies: 8
Views: 14186

[已解决] MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误

【现象】 MASTER版本USB HOST批量传输时如数据长度正好是64的倍数导致HCD_PIPE_EVENT_ERROR_XFER错误,并且导致之后所有调用hcd_urb_enqueue失败,跟踪到函数hcd_urb_enqueue中,失败原因为下述判断前两个子条件失败 HCD_CHECK_FROM_CRIT(pipe->port->state == HCD_PORT_STATE_ENABLED // The pipe's port must be in the correct state && pipe->state == HCD_PIPE_STATE_ACTIVE //The pipe ...
by Michael2021_esp
Thu Nov 25, 2021 7:06 am
Forum: ESP-IDF 中文讨论版
Topic: 有没有工具根据RSA密钥文件生成数字签名模块要求的C
Replies: 4
Views: 7750

Re: 有没有工具根据RSA密钥文件生成数字签名模块要求的C

工具就在examples/protocols/mqtt/ssl_ds/configure_ds.py中,竟然回答没有工具 :lol:
by Michael2021_esp
Fri Nov 19, 2021 8:18 am
Forum: ESP-IDF 中文讨论版
Topic: 有没有工具根据RSA密钥文件生成数字签名模块要求的C
Replies: 4
Views: 7750

Re: 有没有工具根据RSA密钥文件生成数字签名模块要求的C

谢谢答复

再请教一下,[IV]128,[HMAC_KEY ]256是否任意的随机数字即可?<<esp32-s2_technical_reference_manual_cn.pdf>>中提示参考17章节,但是17章节内容没有提及IV和HMAC_KEY的具体要求