# HaLow Support for EU Region

**URL:** <https://community.morsemicro.com/t/halow-support-for-eu-region/829>\
**Category:** Software\
**Created:** [September 8, 2025, 10:32pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829 "2025-09-08T22:32:09Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![dataslayer](https://sea1.discourse-cdn.com/flex001/user_avatar/community.morsemicro.com/dataslayer/32/417_2.png) [@dataslayer](https://community.morsemicro.com/u/dataslayer)\
**Post date:** [September 8, 2025, 10:32pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/1 "2025-09-08T22:32:09Z")

</div>

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.

> **[Wi-Fi HaLow Raspberry Pi HAT Module the Best Automation Robot Kit MM610X-H06](https://asiarf.com/product/wi-fi-halow-raspberry-pi-hat-module-mm610x-h06/?srsltid=AfmBOooovrQwK7p90awm_RPC2B-myrrq_R1Vazrxjoy3kuSdo8HOq2Y3)**
>
> MM610X-H06-1 module is a Wi-Fi HaLow Raspberry Pi HAT Module, the Best Automation Robot Kit, allows building long range, ultra-low power Wi-Fi networks in Sub 1GHz bands, utilizing the Raspberry Pi™ platform. Product detail  Module：MM610X-H06...

---

<div class="post-metadata">

**Author:** ![flex84](https://avatars.discourse-cdn.com/v4/letter/f/ad7895/32.png) [@flex84](https://community.morsemicro.com/u/flex84)\
**Post date:** [September 10, 2025, 3:59am UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/2 "2025-09-10T03:59:23Z")

</div>

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](https://www.mouser.com/ProductDetail/Quectel/FGH100MAAMD?qs=17ckDYBRdenuYh5NDXzk1g%253D%253D&utm_source=OEMSecrets&utm_medium=aggregator&utm_campaign=FGH100MAAMD&utm_term=FGH100MAAMD&utm_content=Quectel). 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](https://www.morsemicro.com/chips/) 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… 😉

PS: Love your [Youtube video](https://www.youtube.com/watch?v=ofR7GFNZzJY)!! 👏

---

<div class="post-metadata">

**Author:** ![topAZ](https://avatars.discourse-cdn.com/v4/letter/t/e19adc/32.png) [@topAZ](https://community.morsemicro.com/u/topAZ)\
**Post date:** [September 10, 2025, 12:02pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/3 "2025-09-10T12:02:53Z")

</div>

Cant’ wait for the new chip and support for EU

---

<div class="post-metadata">

**Author:** ![dataslayer](https://sea1.discourse-cdn.com/flex001/user_avatar/community.morsemicro.com/dataslayer/32/417_2.png) [@dataslayer](https://community.morsemicro.com/u/dataslayer)\
**Post date:** [November 18, 2025, 1:11pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/4 "2025-11-18T13:11:00Z")

</div>

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?

```auto
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.

---

<div class="post-metadata">

**Author:** ![ajudge](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@ajudge](https://community.morsemicro.com/u/ajudge)\
**Post date:** [November 25, 2025, 10:12am UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/5 "2025-11-25T10:12:19Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![HologramBlues](https://avatars.discourse-cdn.com/v4/letter/h/51bf81/32.png) [@HologramBlues](https://community.morsemicro.com/u/HologramBlues)\
**Post date:** [December 3, 2025, 9:17pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/6 "2025-12-03T21:17:59Z")

</div>

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`:

```auto
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`:

```auto
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:

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

```

`wpa_supplicant_s1g` fails with:

```auto
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)

---

<div class="post-metadata">

**Author:** ![dataslayer](https://sea1.discourse-cdn.com/flex001/user_avatar/community.morsemicro.com/dataslayer/32/417_2.png) [@dataslayer](https://community.morsemicro.com/u/dataslayer)\
**Post date:** [December 29, 2025, 1:54pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/7 "2025-12-29T13:54:34Z")

</div>

> [@ajudge](#):
>
> `cat /sys/class/ieee80211/phy<N>/device/countries` (replace `phy<N>`

the output is

```auto
root@eu1:/# ls /sys/class/ieee80211
phy6
root@eu1:/# cat /sys/class/ieee80211/phy6/device/countries
EU

```

I can get the radios to function on the EU bands but just not associate with each other.

I built OpenWRT using the AsiaRF patch repo.

Then swapped the bcf via

```auto
root@AsiaRF-6598:/# vi /etc/config/wireless

        option bcf 'arfhl_d1164_bcf_mf10220_au_v1.bin' <-- replace with 'arfhl_d1164_bcf_mf10220_eu_v1.bin'

```

Then set the region via

```auto
iw reg set EU
uci set wireless.radio0.country='EU'
uci commit wireless
wifi reload

```

LuCi even looks somewhat agreeable, but again I cannot get two nodes to connect over halow.

 ![eu-band](https://us1.discourse-cdn.com/flex001/uploads/morsemicro/original/1X/7a0dab1e3a88766ad3b2b9b11cfaab6137ecb87b.jpeg)

---

<div class="post-metadata">

**Author:** ![ajudge](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@ajudge](https://community.morsemicro.com/u/ajudge)\
**Post date:** [January 2, 2026, 3:48am UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/8 "2026-01-02T03:48:45Z")

</div>

Hey @HologramBlues

(Apologies for the late reply, I didn’t hit send!)

> **AsiaRF MM610X-H06 EU kits** … BCF file (`bcf_fgh100mhaamd.bin`)

This likely won’t work for you. The AsiaRF module and the Quectel FGH100MHAAMD module are very different designs. If you did manage to bring this up, on the AsiaRF module you would likely see very very poor performance. You need to use a BCF suitable for the AsiaRF module (contact AsiaRF).

> 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 channel limitation actually comes from the BCF. Whatever \<1GHz channels in supplicant or hostap aren’t even used because (for compatibility with earlier kernel versions) the Morse Micro driver converts the 802.11ah channels to 802.11ac (5 GHz).

> 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?

wpa\_supplicant\_s1g will work with EU channels.

---

<div class="post-metadata">

**Author:** ![ajudge](https://avatars.discourse-cdn.com/v4/letter/a/c2a13f/32.png) [@ajudge](https://community.morsemicro.com/u/ajudge)\
**Post date:** [January 2, 2026, 3:54am UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/9 "2026-01-02T03:54:26Z")

</div>

That all looks correct so far, including LuCI.

Earlier you mentioned the AP node was showing up on scans. Is it still doing that from the station side?

---

<div class="post-metadata">

**Author:** ![930robert](https://avatars.discourse-cdn.com/v4/letter/9/94ad74/32.png) [@930robert](https://community.morsemicro.com/u/930robert)\
**Post date:** [January 27, 2026, 10:16pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/10 "2026-01-27T22:16:42Z")

</div>

Hi I followed this thread and got two nodes working in as such I get the values shown as dataslayer showed in his post. But i do not get the two nodes seeing each other. Any hint?

Many thanks for any help!

R

---

<div class="post-metadata">

**Author:** ![dataslayer](https://sea1.discourse-cdn.com/flex001/user_avatar/community.morsemicro.com/dataslayer/32/417_2.png) [@dataslayer](https://community.morsemicro.com/u/dataslayer)\
**Post date:** [January 31, 2026, 12:39pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/11 "2026-01-31T12:39:29Z")

</div>

What version of OpenWRT? I am thinking a newer build might solve some of this. Also I think they need old school STA/AP modes not 802.11s mesh.

---

<div class="post-metadata">

**Author:** ![930robert](https://avatars.discourse-cdn.com/v4/letter/9/94ad74/32.png) [@930robert](https://community.morsemicro.com/u/930robert)\
**Post date:** [January 31, 2026, 2:42pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/12 "2026-01-31T14:42:02Z")

</div>

It is openwrt 2.0-dev is what I used to compile the code. Tried to play around with several parameters, No luck!

---

<div class="post-metadata">

**Author:** ![Maxxx](https://avatars.discourse-cdn.com/v4/letter/m/c77e96/32.png) [@Maxxx](https://community.morsemicro.com/u/Maxxx)\
**Post date:** [August 12, 2026, 8:44pm UTC](https://community.morsemicro.com/t/halow-support-for-eu-region/829/13 "2026-08-12T20:44:56Z")

</div>

Anyone got some updates on this?
