ECSA - Extended Channel Switch Announcement is not working

I am currently using the Morse Micro MM6108 HaLow in mesh mode.
I am searching for a tool that can modify the channel and bandwidth through CSA (wireless beacons). We came across the ecsa_info command with the ‘morsectrl/morse_clil’ utility, which is intended to change the channel and bandwidth via the CSA beacon. However, when I tried using the ecsa_info command, it did not change the channel and bandwidth as expected.

‘ecsa_info’ help,

morsectrl -i morse1 ecsa_info --help
        ecsa_info [options]
                                Set frequency parameters for ECSA ie in probe response and beacon
                -g <value>      global operating class
                -p <value>      primary channel bandwidth in MHz
                -n <value>      primary 1MHz channel index
                -o <value>      Operating channel bandwidth in MHz
                -c <value>      sets channel frequency in kHz
                -l <value>      global operating class for primary channel

Configured channel before ecsa,

morsectrl -i morse1 channel
Full Channel Information
        Operating Frequency: 909000 kHz
        Operating BW: 2 MHz
        Primary BW: 1 MHz
        Primary Channel Index: 0

I tried ‘ecsa_info’ but channel and bandwidth didnt change,

morsectrl -i morse1 ecsa_info -g 2 -p 1 -n 0 -o 2 -c 923000 -l 2

channel did not change.

[root@nixos:~]# morsectrl -i morse1 channel
Full Channel Information
        Operating Frequency: 909000 kHz
        Operating BW: 2 MHz
        Primary BW: 1 MHz
        Primary Channel Index: 0

Here , morse1 interface is configured in mesh mode. I tested ecsa_info in MM devkit EKH01 with AP-STA mode but it didnt work there too.

Could please check the issue and help us to make ecsa work?

Thanks

Hi @tirth21

The ecsa_info command is only used to communicate the ECSA parameters from hostapd to our driver. hostapd is responsible for triggering the beacon.

As such, you will want to use hostapd_cli_s1g on an AP configured device to trigger an ECSA.

hostapd_cli_s1g chan_switch <cs_count> <freq> [prim_bandwidth=] [sec_channel_offset=] [center_freq1=] [center_freq2=] [bandwidth=]

For example, if I have an AP configured on AU channel 44 (freq: 924 MHz, bw: 8 MHz), I can trigger a switch to channel 42 (freq: 923 MHz, bw: 2 MHz) by running the following command

root@ekh03-68a441:~# morsectrl -i wlan0 channel
Full Channel Information
        Operating Frequency: 924000 kHz
        Operating BW: 8 MHz
        Primary BW: 2 MHz
        Primary Channel Index: 3

root@ekh03-68a441:~# hostapd_cli_s1g chan_switch 10 922500 prim_bandwidth=1 sec_channel_offset=1 center_freq1=923000 bandwidth=2
Selected interface 'wlan0'
OK

root@ekh03-68a441:~# morsectrl -i wlan0 channel
Full Channel Information
        Operating Frequency: 923000 kHz
        Operating BW: 2 MHz
        Primary BW: 1 MHz
        Primary Channel Index: 0

Note that we don’t currently support switching to the same 1 MHz primary channel.

For mesh devices, you would need to use wpa_cli_s1g. However, the ECSA functionality for mesh devices is still under development. We’re planning to look at implementing it soon.

Hi @ajudge ,

Thanks for the reply.
I tested chan_switch in AP mode and it worked as you mentioned. But I could not able to make CSA in mesh mode with wpa_cli_s1g.

Could you please share some time line or info in which Morse wpa_supplicant version CSA could be implemented ?

I’ve bumped the feature request to try increase the priority. Unfortunately it’s unlikely to make it into our next release.

I’ll update this thread when we have a concrete timeline.