Halow Wifi (EXT01) + XIAO ESP32-S3: scan starts but never completes

Hi,

I am testing the Seeed Wi-Fi HaLow EXT01 with an ESP32-S3 wired to match the Seeed XIAO ESP32-S3 D0-D10 pin mapping.

I am using mm-iot-esp32 built for esp32s3.

Low-level bring-up looks good:

  • porting_assistant passes SPI startup, chip ID, bulk read/write, throughput, firmware, and BCF checks
  • firmware reports:
    • Morselib version: 2.9.7-esp32
    • Morse firmware version: 1.16.4
    • module mm6108-mf08651-us

But scanning does not work:

  • examples/scan prints: “Scan started on US channels, Waiting for results…”
  • then no scan results and no scan complete, even after several minutes

I also instrumented sta_connect and see: “STA event: SCAN_REQUEST (0)”
but then no scan results / no scan complete / no association attempt.

On the AP side, the AP is definitely up and stable:

  • driver loaded
  • AP enabled
  • open security
  • country US

I tested both:

  • 907.0 MHz, 2 MHz
  • 907.5 MHz, 1 MHz

Same result in both cases.

Question:

  • Is there any known issue with ESP scanning on EXT01 + XIAO ESP32-S3?
  • Are there any required WAKEUP_IN / BUSY expectations for this setup?
  • Is there a known-good SDK/example version for this hardware combination?

Thanks!!!

Update, I found if I put a pull up on the BUSY line the driver becomes unstuck IRQs happen and the scan completes. Is this a valid fix? My next issue is that the scan never sees my AP.

Hi @ScottC385

The Seeed boards do not connect the power save (BUSY and WAKE) lines, but by default our driver initialisation code will tell the chip that it can go to sleep. This appears to make things a little stuck, so one option would be to populate that 0ohm resistor on the Xiao shields.

Another fix is to call mmwlan_set_power_save_mode(MMWLAN_PS_DISABLED) immediately after mmwlan_boot.

I think I am stuck in the same situation.
I have mmwlan_set_power_save_mode(MMWLAN_PS_DISABLED) right after mmwlan_boot(&boot_args) and I am getting all the right signals so far

HW Version: esp32s3
BCF API version: 12.1.0
BCF build version: 1490d525 5011373560
BCF board description: {“module”: “mm6108-mf08651-us”,
Morselib version: 2.10.4-esp32
Morse firmware version: 1.17.6
Morse chip ID: 0x0306
Morse chip name: MM6108A1

I start one AP and one STA but I cannot get any visibility. I do not have additional hardware to double check missing HF communication.
Are there any further checks I could do to clarify if I am actually sending anything/power levels are high enough etc.? I dont see much.

Any help much appreciated.

So, I am a few steps “further” - I see that I used:
BCF board description: {“module”: “mm6108-mf08651-us”,
Since I am however using seeed studio hardware with the queltec chip on it, I guess I should be using:
BCF board description: mf16858, correct? (which should be: morse-firmware/bcf/quectel/bcf_fgh100maamd.bin at main · MorseMicro/morse-firmware · GitHub )
Chaning this did not improve. I however noticed that the BUSY pin in my setup is not connected / drawn to GND with 10k resistor. Do we need the BUSY pin for communication? I will resolder then.

Still, any help much appreciated.

Okay, got it running - had some linker errors and stuff but hardware as it is was fine. Thanks guys.