Seeed Studio FGH100M-H BCF and FW binary files for IoT SDK ESP32 v2.9.7

Hi,

I just tested Seeed Studio FGH100M-H module conneceted to ESP32-S3, using MM-IoT-SDK-esp32 v2.9.7. However, got some error when using:

  1. mm6108.mbin and bcf_mf08651_us.mbin
I (839) main_task: Calling app_main()
Actual SPI CLK 40000kHz
E     1830 FW manifest pointer not set
E     1830 Failed
E     1830 Failed
E     1830 Firmware init failed
-----------------------------------
  BCF API version:         12.1.0
  BCF build version:       fa428d75 8c4dd7f
  BCF board description:   {"module": "mm6108-mf08651-us",
  !! Error occured whilst retrieving version info !!
  Morselib version:
  Morse firmware version:
  Morse chip ID:           0x0000
  Morse chip name:
-----------------------------------
MMOSAL Assert, CPU 0 (current core) backtrace
  1. mm6108.mbin and bcf_mf16858_us.mbin (from Seeed Github repo)
I (828) main_task: Calling app_main()
Actual SPI CLK 40000kHz
E     1820 FW manifest pointer not set
E     3610 FW manifest pointer not set
E     5400 FW manifest pointer not set
E     5400 Firmware init failed
-----------------------------------
  BCF API version:         6.7.0
  BCF build version:       d94b4c8 598ae0a26b_Modified
  BCF board description:   custom
  !! Error occured whilst retrieving version info !!
  Morselib version:
  Morse firmware version:
  Morse chip ID:           0x0000
  Morse chip name:
-----------------------------------
MMOSAL Assert, CPU 0 (current core) backtrace

Using porting_assitance example, both options passed:

MM-IoT-SDK Porting Assistant
----------------------------

Memory allocation                                            [ PASS ]
Memory reallocation                                          [ PASS ]
Passage of time                                              [ PASS ]
Task creation and preemption                                 [ PASS ]
WLAN HAL initialisation                                      Actual SPI CLK 40000kHz

Hard reset device                                            
SDIO/SPI Startup                                             [ PASS ]
Read chip id from the MM chip                                [ PASS ]
Bulk write/read into the MM chip                             [ PASS ]
Raw throughput test                                          [ PASS ]

Note: This will not be the final WLAN TPUT. See test step for more info.
        Time spent (ms):   2503
        Transaction count: 617
        Bytes xferred:     1846064
        Raw TPUT (kbit/s): 5900

Validate MM firmware                                         [ PASS ]
Validate BCF                                                 [ PASS ]

Please help, thanks.

Oiya, the main app is from iperf example, but only put simple app_wlan_init:

#include <endian.h>
#include <string.h>
#include "mm_app_common.h"

void app_main(void)
{
    /* Initialize and connect to Wi-Fi, blocks till connected */
    app_wlan_init();
    // app_wlan_start();
}

Hi @xflash

Your problem is caused by the incorrect BCF being used for your module.

Please can you:

  1. Download the appropriate BCF for your module from morse-firmware/bcf/quectel at main · MorseMicro/morse-firmware · GitHub
  2. Convert it by running this script on it mm-iot-sdk/framework/tools/buildsystem/convert-bin-to-mbin.py at main · MorseMicro/mm-iot-sdk · GitHub
  3. Update your build to use this new BCF