cyhal_sdio_bulk_transfer errors

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
srini_a
Level 3
Level 3
50 sign-ins 10 questions asked 10 replies posted

Hardware Setup: CY8C6247FDI-D32 + Murata 1DX based on CYW4343W.

Problem: I'm seeing cyhal_sdio_bulk_transfer failed errors when sending data over wifi. This is the error 

CYHAL_SDIO_RSLT_ERR_COMMAND_SEND being returned from cyhal_sdio_bulk_transfer. I debugged this further and the problem seems to be that the  is timing outcy_rtos_get_semaphore trying to get the semaphore.  This function uses a 10ms timeout to get the semaphore. If I increase this timeout to 50ms, I don't see the error anymore. So, my question is,  Is it OK to change this value ? or is there a better way to handle the situation. I'm using FreeRTOS.

Appreciate any thoughts and comments. Please see attached screenshots.

This is the callstack:

cy_rtos_get_semaphore

SDIO_SendCommandAndWait

cyhal_sdio_bulk_transfer

whd_bus_sdio_cmd53 
 
0 Likes
1 Solution
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Okay. Thanks for the update. If there are no side-affects, then you can go ahead and use this timeout value. There is no harm in increasing the timeout value if it handles processing of data in a better way and doesn't impact any other API calls.

Thanks

Aditi

View solution in original post

0 Likes
3 Replies
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

If you increase the timeout to 50ms, is the firmware download happening successfully? Do you face any issues with other API calls by increasing the timeout?

Thanks

Aditi

0 Likes
srini_a
Level 3
Level 3
50 sign-ins 10 questions asked 10 replies posted

Hi @Aditi_B WIth the change, the FW download doesn't seem to be affected; I don't see any side-affects of this increased timeout; it only seems to help.

Also, wanted to mention that the original issue (with the default timeout of 10 ms) occurs only when I attempt to send large chunks of data (over 2KB); but not with smaller payloads. With the increased timeout, I no longer see the error messages regardless of the data size.

0 Likes
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Okay. Thanks for the update. If there are no side-affects, then you can go ahead and use this timeout value. There is no harm in increasing the timeout value if it handles processing of data in a better way and doesn't impact any other API calls.

Thanks

Aditi

0 Likes