You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, we have a porting layer which allows the Cypress WHD wifi driver to work by providing an SDIO API. Arduino created this porting layer for STM32H7 chips, and I refactored and cleaned it up, then merged it to Mbed.
This driver does work, but I found that when I removed all the debugging prints I'd added, it stopped working. I narrowed it down, and found that adding a delay in this location allowed everything to work. Removing that delay causes the wifi module to fail to init, and the reason why is not clear.
Debugging this is not going to be super easy, because (a) I don't have a lot of insight into how the WHD driver works, it's kind of a black box (though thankfully an open source black box), (b) adding any debug prints to the SDIO functions stops the issue from happening, and (c) the Arduino Giga and Portenta boards have no exposed traces or pins for the wifi module, so it's impossible to attach a logic analyzer.
I think that there are basically two paths forward to debug this issue;
Create some code that makes a log of all SDIO transactions, then prints it out later, after the module has finished init. This would allow comparing the successful vs failed initializations to see where the difference is.
Get a WHD wifi module dev board and attach it to a STM32H7 dev board, then use a logic analyzer to record the transactions.
The text was updated successfully, but these errors were encountered:
Currently, we have a porting layer which allows the Cypress WHD wifi driver to work by providing an SDIO API. Arduino created this porting layer for STM32H7 chips, and I refactored and cleaned it up, then merged it to Mbed.
This driver does work, but I found that when I removed all the debugging prints I'd added, it stopped working. I narrowed it down, and found that adding a delay in this location allowed everything to work. Removing that delay causes the wifi module to fail to init, and the reason why is not clear.
Debugging this is not going to be super easy, because (a) I don't have a lot of insight into how the WHD driver works, it's kind of a black box (though thankfully an open source black box), (b) adding any debug prints to the SDIO functions stops the issue from happening, and (c) the Arduino Giga and Portenta boards have no exposed traces or pins for the wifi module, so it's impossible to attach a logic analyzer.
I think that there are basically two paths forward to debug this issue;
The text was updated successfully, but these errors were encountered: