# Is Minstrel rate control no longer supported in newer morse driver versions?

**URL:** <https://community.morsemicro.com/t/is-minstrel-rate-control-no-longer-supported-in-newer-morse-driver-versions/1008>\
**Category:** Software\
**Created:** [November 1, 2025, 9:16pm UTC](https://community.morsemicro.com/t/is-minstrel-rate-control-no-longer-supported-in-newer-morse-driver-versions/1008 "2025-11-01T21:16:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Luisschubert](https://avatars.discourse-cdn.com/v4/letter/l/ee7513/32.png) [@Luisschubert](https://community.morsemicro.com/u/Luisschubert)\
**Post date:** [November 1, 2025, 9:16pm UTC](https://community.morsemicro.com/t/is-minstrel-rate-control-no-longer-supported-in-newer-morse-driver-versions/1008/1 "2025-11-01T21:16:45Z")

</div>

I created an issue on the morse\_driver GitHub here initially, but thought I’d ask here as well.

> <https://github.com/MorseMicro/morse_driver/issues/5>
>
> I was asked to run the latest morse version without mmrc. (I understand mmrc wor…ks better)
> just wondering you guys have a patch for this functionality.
> 
> \`\`\`
> In file included from /build/source/dot11ah/main.c:17:
> /build/source/dot11ah/../morse.h:793:26: error: field 'mcast\_tx\_rate' has incomplete type
> 793 | struct mmrc\_rate mcast\_tx\_rate;
> \`\`\`
> 
> if you build with:
> \`"CONFIG\_DISABLE\_MORSE\_RC=y"\`
> 
> one of the reasons:
> 
> \`\`\`c
> /\*\*
> \* Tx rate to be used for multicast traffic.
> \*/
> struct mmrc\_rate mcast\_tx\_rate;
> \`\`\`
> 
> needs to be wrapped with 
> \`#ifdef CONFIG\_MORSE\_RC\`
> 
> in morse.h
> \`\`\`c 
> \#ifdef CONFIG\_MORSE\_RC
> /\*\* Morse Micro RC info\*/
> struct morse\_rc\_sta rc;
> struct mmrc\_rate last\_sta\_tx\_rate;
> struct mmrc\_rate last\_sta\_rx\_rate;
> \#endif
> \`\`\`
> 
> after that the next failure is:
> 
> \`\`\`c
> mac.o /build/source/mac.c
> \> /build/source/mac.c: In function 'morse\_mcast\_tx\_rate\_eval\_work':
> \> /build/source/mac.c:2859:9: error: implicit declaration of function 'morse\_rc\_vif\_update\_mcast\_rate' \[-Werror=implicit-function-declaration\]
> \> 2859 | morse\_rc\_vif\_update\_mcast\_rate(mors, mors\_vif);
> \> | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> \> /build/source/mac.c:2862:30: error: 'struct morse\_vif' has no member named 'mcast\_tx\_rate'; did you mean 'mcast\_tx\_rate\_work'?
> \> 2862 | mors\_vif-\>mcast\_tx\_rate.rate, mors\_vif-\>mcast\_tx\_rate.bw,
> \> | ^ ~~~~~~~~~~~~
> \> | mcast\_tx\_rate\_work
> \> /build/source/mac.c:2862:60: error: 'struct morse\_vif' has no member named 'mcast\_tx\_rate'; did you mean 'mcast\_tx\_rate\_work'?
> \> 2862 | mors\_vif-\>mcast\_tx\_rate.rate, mors\_vif-\>mcast\_tx\_rate.bw,
> \> | ^ ~~~~~~~~~~~~
> \> | mcast\_tx\_rate\_work
> \> /build/source/mac.c:2863:30: error: 'struct morse\_vif' has no member named 'mcast\_tx\_rate'; did you mean 'mcast\_tx\_rate\_work'?
> \> 2863 | mors\_vif-\>mcast\_tx\_rate.guard);
> \> | ^ ~~~~~~~~~~~~
> \> | mcast\_tx\_rate\_work
> \> cc1: some warnings being treated as errors
> \`\`\`

as part of morse driver 13.3 [this change](https://github.com/MorseMicro/morse_driver/blame/main/morse.h#L808-L821) was added to `morse.h`

```diff
+
+ * Flag to check if multicast rate control is not enabled or not.
+ */
+	bool enable_multicast_rate_control;
+
+	/**
+ * Tx rate to be used for multicast traffic.
+ */
+	struct mmrc_rate mcast_tx_rate;
+
+	/**
+ * Throughput calculated using the above mcast_tx_rate.
+ */
+	u32 mcast_tx_rate_throughput;
+
+	/**
+ * Work to evaluate the tx rate to use for multicast packets transmission.
+ */
+	struct delayed_work mcast_tx_rate_work;

```

`struct mmrc_rate` since this is defined in: `mm_rate_control/src/core/mmrc.h`  
I don’t quite see how this is supposed to build without `CONFIG_MORSE_RC`

```c
/**
 * A single rate chain
 */
struct mmrc_rate {
	/** The MCS for this entry in the rate table */
	u8 rate : 4;

	/** The number of attempts at this rate */
	u8 attempts	: 3;

	/** The guard to be used for this rate */
	u8 guard	: 1;

	/** The spatial streams to be used for this rate */
	u8 ss : 2;

	/** The bandwidth for this rate */
	u8 bw : 3;

	/** The flags for this rate */
	u8 flags	: 3;

	/** The index in the mmrc_table */
	u16 index;
};

```

---

<div class="post-metadata">

**Author:** ![cmistry](https://avatars.discourse-cdn.com/v4/letter/c/ccd318/32.png) [@cmistry](https://community.morsemicro.com/u/cmistry)\
**Post date:** [November 3, 2025, 9:10pm UTC](https://community.morsemicro.com/t/is-minstrel-rate-control-no-longer-supported-in-newer-morse-driver-versions/1008/2 "2025-11-03T21:10:24Z")

</div>

> [@Luisschubert](#):
>
> [Compilation error when building with minstrel\_rc · Issue #5 · MorseMicro/morse\_driver · GitHub](https://github.com/MorseMicro/morse_driver/issues/5)

Hi @Luisschubert  
You are correct and we have deprecated support MinstrelRC. Please defer to MMRC
