10 Replies Latest reply on Oct 9, 2019 1:29 AM by RaktimR_11

    CYW43012 with STM32F412G Discovery board WiFi could not set country code



      I am trying to get a Murata Type1LV module working with the STM32F412G Discovery board with WICED using the snip.scan application.

      I have an Embedded Artists 1LV M.2 Module (with the Murata Type1LV module on it) plugged into an Embedded Artists uSD-M.2 Adapter that is plugged into the SD card slot of the Discovery board. I also have WL_REG_ON and WL_HOST_WAKE connected to a GPIO pin on the STM32F412.

      Bluetooth works fine, but WiFi does not complete initialisation and reports "Could not set Country code" after the call to wwd_sdpcm_send_iovar() times out in wwd_management_wifi_on().

      It seems that everything works fine up to that point and I can step through the initialisation and see that the SDIO bus is working and SDIO interrupts are happening.

      I have tried it with and without WICED_DISABLE_MCU_POWERSAVE and have also tried configuring WWD_PIN_SDIO_OOB_IRQ to connect an STM32F4 GPIO to WL_HOST_WAKE.when WICED_DISABLE_MCU_POWERSAVE is not defined. None of these made any difference.


      Initially I could not get it to enumerate the SDIO bus, but after I changed wwd_bus_init() to reset the module properly by turning off and on WL_REG_ON that now works.


      I have noticed that there is some code in ww_sdio() that treats the SDIO Interrupt differently for the STM32F412xG, but there are no comments to explain why. There are other posts in this forum that mention this, but they don't come to any conclusions.

      With that code in it does get SDIO interrupts up until before the wwd_sdpcm_send_iovar() to set the country code. After wwd_sdpcm_send_iovar() times out the SDIOIT bit in the SDIO STA register is set.

      I have tried removing the STM32F412G specific code, but then it gets repeated SDIO interrupts.


      The makefile has WLAN_CHIP_REVISION := C0 I I cannot find any information about what revision chip is in the Murata modules.


      Can anyone suggest what I could try to get this working?