# Mm6108 Linux 6.12 support

**URL:** https://community.morsemicro.com/t/mm6108-linux-6-12-support/274
**Category:** Linux
**Created:** [January 31, 2025, 7:22pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274 "2025-01-31T19:22:18Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![tharvey](https://avatars.discourse-cdn.com/v4/letter/t/e79b87/32.png) [@tharvey](https://community.morsemicro.com/u/tharvey)
#### Post date: [January 31, 2025, 7:22pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/1 "2025-01-31T19:22:18Z")

</div>

Greetings,

The latest LTS kernel is now 6.12. Do we have patches yet for the 6.12 kernel appropriate for [morse\_driver](https://github.com/MorseMicro/morse_driver)?

I would really like to see MorseMicro publically post their kernel patches required for the mm610x and work on getting them in the mainline kernel.

The latest kernel patches related to mac80211 are for 6.6 and not being a mac80211 developer I’m wondering how these patches may adversley affect other mac80211 radios in the system (envision a system with both a wifi6/7 card and a 802.11ah) card:

- 0018-mac80211\_ndp\_block\_ack.patch
- 0012-mac80211-mlme-ps-recalc-for-dynamic-ps-v5.15.patch
- 0009-mac80211-Mesh-support.patch
- 0008-mac80211-IBSS-bridge-support.patch
- 0007-mac80211\_tx\_s1g\_AP\_ecsa\_support.patch
- 0006-mac80211\_mlme\_s1g\_ecsa\_support.patch

---

<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: [February 13, 2025, 7:46am UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/2 "2025-02-13T07:46:46Z")

</div>

Hi @tharvey

We don’t have 6.12 support yet, I’ll let you know as soon as it is made available - likely our 1.15 release. (1.14 has just been made and is in the backlog to go out onto GitHub).  
Our internal software team is aware of the gap!

> I would really like to see Morse Micro publicly post their kernel patches required for the mm610x

Sorry for the delay in getting this out, there are a few more moving pieces to this than I would like. But it’s high on the list of things to get done.

> and work on getting them in the mainline kernel.  
> This is actively happening too!

A basic AP/station HaLow network without powersave requirements or extended channel switch will function without these patches. At the very least I would recommend taking the NDP block ack patch, as its use is gated on a flag being set.

For what it’s worth, we have hardware utilising both 802.11ah and 802.11n radios with all of these patches applied (see the [HaLowLink 1](https://au.mouser.com/ProductDetail/Morse-Micro/MM-HL1-EXT?qs=%252BHhoWzUJg4Iv3HqaYbEclw%3D%3D) for example), and customers have products with 802.11ac/802.11ax alongside HaLow. No obvious issues with other radios have been noticed to be caused by these patches.

---

<div class="post-metadata">

### Author: ![tharvey](https://avatars.discourse-cdn.com/v4/letter/t/e79b87/32.png) [@tharvey](https://community.morsemicro.com/u/tharvey)
#### Post date: [February 13, 2025, 6:47pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/3 "2025-02-13T18:47:28Z")

</div>

> [@ajudge](#):
>
> We don’t have 6.12 support yet, I’ll let you know as soon as it is made available - likely our 1.15 release. (1.14 has just been made and is in the backlog to go out onto GitHub).  
> Our internal software team is aware of the gap!

Do you have any ETA for the 1.14 github release and the following 1.15 github release? I’m trying to gauge if the Linux 6.12 support expected in 1.15 is weeks, or months away.

---

<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: [February 14, 2025, 9:26am UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/4 "2025-02-14T09:26:36Z")

</div>

Hi @tharvey

1.14 will be made available on GitHub in the second half of next week.

At this stage 1.15 should be on the order of “weeks” away.

---

<div class="post-metadata">

### Author: ![glg9369](https://avatars.discourse-cdn.com/v4/letter/g/ce7236/32.png) [@glg9369](https://community.morsemicro.com/u/glg9369)
#### Post date: [February 17, 2025, 5:48pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/5 "2025-02-17T17:48:21Z")

</div>

@tharvey you replied on my post about openwrt halow support on the bpi openwrt one. Are you doing something similar, if so how much progress have you made?

---

<div class="post-metadata">

### Author: ![tharvey](https://avatars.discourse-cdn.com/v4/letter/t/e79b87/32.png) [@tharvey](https://community.morsemicro.com/u/tharvey)
#### Post date: [February 18, 2025, 5:23pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/6 "2025-02-18T17:23:45Z")

</div>

I’ve been working with OpenWrt 24.10 but I have not been needing mm6108 support there. At some point soon I will need 6.12 support for mm6108 but it sounds like that will come by the time I need it.

---

<div class="post-metadata">

### Author: ![ianholland](https://avatars.discourse-cdn.com/v4/letter/i/838e76/32.png) [@ianholland](https://community.morsemicro.com/u/ianholland)
#### Post date: [April 10, 2025, 10:07pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/7 "2025-04-10T22:07:13Z")

</div>

I’m on 6.13-rc5 and have it (seemingly) running well, although I haven’t exhaustively tested it?

I forget everything I did, but if you’d just like to get it running in the meantime, the main thing is to edit the ieee80211\_ops struct and add op pointers for the add / remove / change\_chanctx functions. Point them to the mac80211 emulate add / change / remove chanctx functions:

```auto
struct ieee80211_ops mors_ops = {
   ... some mac ops
   #ifdef CONFIG_MORSE_RC
   .sta_statistics = morse_sta_tx_rate_stats,
   .get_expected_throughput = morse_get_expected_throughput,
   #endif
   .add_chanctx = ieee80211_emulate_add_chanctx,
   .remove_chanctx = ieee80211_emulate_remove_chanctx,
   .change_chanctx = ieee80211_emulate_change_chanctx,
};

```

Without these, the driver will blow up when you probe it.

On previous versions, I think I had to do some pointer footsie with changing ieee80211 structure references that changed (i.e. bss\_conf becomes vif-\>bss\_conf ) type stuff; but I think that may have already been fixed up in 1.12.4.

I forget when they added MLO support to mac80211, that was something I had to patch in an earlier version of the driver to support 6.6, but I think 1.14.1 includes those “link\_id” changes to the function signatures.

Make sure your MAC80211\_VERSION\_CODE and LINUX\_VERSION\_CODE are coming through correctly for the

```auto
#if KERNEL_VERSION(5, 9, 0) > MAC80211_VERSION_CODE
do_stuff()
#endif

```

type macro blocks.

lastly, i’m not sure when the change came in that broke it, because i jumped from 6.6 to 6.13-rc5 on bringup of the latest driver, but module BTF info verification might be bronken on really new kernels. Pass

```auto
 CONFIG_MODULE_ALLOW_BTF_MISMATCH=y 

```

in your kernel defconfig to allow the out-of-tree module build to be loaded in and verified. I still haven’t figured out why that one is breaking yet, but that’s a workaround.

I think those should at least get you going. I haven’t exhaustively tested everything yet, but the thing associates, does SAE, etc, and hasn’t panicked once so far.

---

<div class="post-metadata">

### Author: ![swadsworth](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@swadsworth](https://community.morsemicro.com/u/swadsworth)
#### Post date: [April 10, 2025, 10:48pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/8 "2025-04-10T22:48:29Z")

</div>

Just wanted to add a +1 for the changes mentioned here by @ianholland, and confirm they are essentially the changes we are making for the driver to compile under 6.12.

We also have

```auto
.switch_vif_chanctx = ieee80211_emulate_switch_vif_chanctx,

```

---

<div class="post-metadata">

### Author: ![tharvey](https://avatars.discourse-cdn.com/v4/letter/t/e79b87/32.png) [@tharvey](https://community.morsemicro.com/u/tharvey)
#### Post date: [April 10, 2025, 11:26pm UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/9 "2025-04-10T23:26:34Z")

</div>

Its good to see some progress here. When can we expect to see an official update to the morse\_driver and linux (your kernel patches) repos? I would like to know when something ‘official’ is landing.

---

<div class="post-metadata">

### Author: ![tharvey](https://avatars.discourse-cdn.com/v4/letter/t/e79b87/32.png) [@tharvey](https://community.morsemicro.com/u/tharvey)
#### Post date: [April 15, 2025, 12:30am UTC](https://community.morsemicro.com/t/mm6108-linux-6-12-support/274/10 "2025-04-15T00:30:14Z")

</div>

In case it’s useful to others to see a full commit of what it takes to get the morse\_driver running on Linux 6.12 here is what I came up with which appears to be working well:

> <https://github.com/Gateworks/morse_driver/commit/5467796c49914a8d33fd71d5c5a912838a7f53e1>
>
> Fixed various compiler issues:
> -Werror=missing-prototypes
> -Werror=unused-funct…ion
> remove function pointers to undeclared functions
> 
> Updates for 6.12:
> - ieee80211\_tx\_status -\> ieee80211\_tx\_status\_skb
> (see commit 2703bc851399 ("wifi: mac80211: rename ieee80211\_tx\_status() to ieee80211\_tx\_status\_skb()")
> - \_\_assign\_str() remove second argument
> (see commit 2c92ca849fcc ("tracing/treewide: Remove second parameter of \_\_assign\_str()")
> - add link ID to csa\_finish
> (see commit 04ada8599c35 ("wifi: mac80211: add support to call csa\_finish on a link")
> - add link ID to ieee80211\_beacon\_cntdwn\_is\_complete
> (see commit 6030b3a469f8 ("wifi: mac80211: check beacon countdown is complete on per link basis")
> - fix ieee80211\_bss\_conf channel conext
> (see commit 6092077ad09c ("wifi: mac80211: introduce 'channel request'")
> - fix morse\_mac\_ops\_stop
> (see commit 1decf05d0f4d ("wifi: mac80211: inform the low level if drv\_stop() is a suspend")
> - emulate chanctx ops
> (see commit 0a44dfc07074 ("wifi: mac80211: simplify non-chanctx drivers")
> 
> Signed-off-by: Tim Harvey \<tharvey@gateworks.com\>
