HaLow Support for EU Region

First off, I really appreciate the work Morse Micro is doing — there’s a growing community of builders excited about creating MANETs powered by HaLow, and your chips are at the center of that momentum.

I’ve been experimenting with the Wio-WM6180, but so far I’ve only been able to configure it for US region options. On a supplier site I noticed that the newer chip/Raspberry Pi hat lists EU frequency support, which is great news.

Chipset Morse Micro® MM6108
Frequency Range US:902-928 MHz
EU:863-865 MHz
JP:916.5-927.5 MHz
NZ/AU:915-928 MHz
(Initial release supports US band only. More regions coming soon.)

My question is: does that support already work today with the Raspberry Pi + HaLow build of OpenWRT, or is EU region support something that will be enabled in a future release?

Thanks again for pushing this tech forward — it’s inspiring a lot of us to build.

Hi @dataslayer: the MM6108 chip supports EU spectrum, but requires a different SAW filter on the module to get certified in various regions.

The Seeed Wio-WM6180 with Quectel’s 27dbm FGH100M-H module (with Morse Micro’s MM6108 inside) only supports North American / Australian spectrum, and won’t work on EU spectrum. Quectel has a different MM6108 module SKU for Europe, see FGH100MAAMD. The AsiaRF MM610X-H06-1 RPi hats are sold in different variants depending on the target region (US, EU, JP or NZ/AU), the module on each will be slightly different.

Note that the new MM8108 chip has an integrated 26dBm PA, so you will no longer require different modules for various regions going forward with that chip. See Wi-Fi HaLow® System-on-Chips - Morse Micro for the full comparison. Note that the MM8108 is not available yet to the general public, but rumour has it that it will be very soon… :wink:

PS: Love your Youtube video!! :clap:

2 Likes

Cant’ wait for the new chip and support for EU

1 Like

So the new AsiaRF EU variant chip is now on my desk and I’m running some of my favorite OpenWRT forks. So far things look promising, I see the morse chip, and it showed up on a scan from another Haven node (running US bands).

But my question is how would one generate a new OpenWRT image with all the back end configs tweaked for the EU bands as well as getting LUCI to show the proper front end options for the EU region?

root@asiarf:~# iw reg get
global
country 00: DFS-UNSET
        (755 - 928 @ 2), (N/A, 20), (N/A), PASSIVE-SCAN
        (2402 - 2472 @ 40), (N/A, 20), (N/A)
        (2457 - 2482 @ 20), (N/A, 20), (N/A), AUTO-BW, PASSIVE-SCAN
        (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, PASSIVE-SCAN
        (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
        (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
        (5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, PASSIVE-SCAN
        (5735 - 5835 @ 80), (N/A, 20), (N/A), PASSIVE-SCAN
        (57240 - 63720 @ 2160), (N/A, 0), (N/A)

phy#3 (self-managed)
country EU: DFS-invalid
        (863 - 865 @ 1), (N/A, 16), (N/A), AUTO-BW
        (865 - 868 @ 1), (N/A, 16), (N/A), AUTO-BW
        (5650 - 5690 @ 20), (N/A, 16), (N/A), AUTO-BW
        (5170 - 5230 @ 20), (N/A, 16), (N/A), AUTO-BW

Anyways for now I’m going to purchase a second so I can prove it works definitively.

Hi @dataslayer

If you are running our latest OpenWrt 2.9.3 version, please share the output of cat /sys/class/ieee80211/phy<N>/device/countries (replace phy<N> with the appropriate phy for the HaLow radio). The country available will be dictated by either the BCF provided by AsiaRF for that module, or any regions burnt into OTP by the module manufacturer (if any). You will be able to set the country code in uci as per what the module/BCF supports.

If you’re not using OpenWrt, the country code is easiest set with the country modparameter on insertion of the morse kernel module.

Hello, i m trying to set up a EU region nodes network. Heres my findings and struggles so far :

I’m trying to set up a mesh network using AsiaRF MM610X-H06 EU kits (with EU antennas 863-868 MHz) on Raspberry Pi 4 running OpenMANET 1.4.1 (OpenWrt 23.05.5, morse packages v1.15.3).

What works:

The BCF file (bcf_fgh100mhaamd.bin) correctly loads the EU regulatory domain. I can see the EU frequencies in iw reg get:

phy#6 (self-managed)
country EU: DFS-invalid
        (863 - 865 @ 1), (N/A, 16), (N/A), AUTO-BW
        (865 - 868 @ 1), (N/A, 16), (N/A), AUTO-BW

I also added EU channel entries to /usr/share/morse-regdb/channels.csv:

EU,1,1,1,68,863.5,1.0,1.0,Europe,14.0,False,100.0,0.0,0.0,1,32
EU,1,3,1,68,864.5,1.0,1.0,Europe,14.0,False,100.0,0.0,0.0,1,36
EU,1,5,1,68,865.5,1.0,1.0,Europe,14.0,False,100.0,0.0,0.0,1,40
EU,1,7,1,68,866.5,1.0,1.0,Europe,14.0,False,100.0,0.0,0.0,1,44
EU,1,9,1,68,867.5,1.0,1.0,Europe,14.0,False,100.0,0.0,0.0,1,48

The shell script _get_regulatory function correctly finds the EU channels and returns center_freq=865.5 for channel 5.

What doesn’t work:

When I configure the radio for EU:

uci set wireless.radio0.country='EU'
uci set wireless.radio0.channel='5'
uci set wireless.radio0.htmode='S1'

wpa_supplicant_s1g fails with:

Invalid S1G configuration of operating class, country code and channel
Unsupported mesh mode frequency: 0 MHz
wlan0: Failed to init mesh
wlan0: Could not join mesh

My analysis:

It appears that wpa_supplicant_s1g v2.12-morse_micro-1.15.3 has internal S1G channel tables that only contain US frequencies (902-928 MHz). Running strings on the binary shows no EU frequencies (863-868 MHz).

The channels.csv file is only read by the netifd shell scripts, but wpa_supplicant_s1g uses its own hardcoded tables for S1G channel validation.

My questions:

  1. Is there a version of wpa_supplicant_s1g compiled with EU S1G channel support?

  2. If not, is there a way to add EU channels to the wpa_supplicant source and recompile?

  3. Are there any patches or configuration options I’m missing?

I saw in another thread that someone got the AsiaRF EU variant working - I’d love to know how they configured the software side.

Thanks for any help!


Hardware: AsiaRF MM610X-H06 EU × 2, Raspberry Pi 4B
Software: OpenMANET 1.4.1, OpenWrt 23.05.5, morse packages 1.15.3
BCF: bcf_fgh100mhaamd.bin (contains .regdom_EU section)