# VT-USB-AH-8108 (MM8108) asymmetric TX/RX rates — TX stuck at MCS0 despite 8MHz primary BW

**URL:** <https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751>\
**Category:** Linux\
**Created:** [June 16, 2026, 2:46am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751 "2026-06-16T02:46:05Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 16, 2026, 2:46am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/1 "2026-06-16T02:46:05Z")

</div>

**Subject: VT-USB-AH-8108 (MM8108) asymmetric TX/RX rates — TX stuck at MCS0 despite 8MHz primary BW**

**Hardware/Software Setup**

- Dongle: Vantron VT-USB-AH-8108 (Morse Micro MM8108B2 chipset, MF15457 module)
- Host: Ubuntu 24.04 LTS, kernel 6.8.0-124-generic, x86\_64 (ESXi 8 VM with USB passthrough)
- Driver: morse\_driver v1.17.9 (rel\_1\_17\_9\_2026\_Apr\_20)
- Firmware: mm8108b2-rl.bin (crc32 0x99d66138)
- BCF: bcf\_mf15457.bin (crc32 0x80459e55) — note: this BCF defaults to AU country, loaded with country=US module parameter
- wpa\_supplicant\_s1g from MorseMicro/hostap (DPP disabled to work around OpenSSL 3.0 build errors)
- morse\_cli v1.17.8, built with CONFIG\_MORSE\_TRANS\_NL80211=1

**AP Setup**

- Country: US
- Frequency: 916 MHz, Channel 27, 8 MHz bandwidth
- WPA2-PSK

**Problem**  
Asymmetric negotiated rates:

- Downlink (AP → dongle): High rate, confirmed by server-side signal\_poll (LINKSPEED=866, WIDTH=160MHz)
- Uplink (dongle → AP): TX dominated by MCS0 per server-side stats; AP GUI reports this as MCS0/2MHz (~0.7 Mbps)

RSSI is excellent at -35 dBm so signal is not the issue.

**Diagnostics**

module parameters tried:

```auto
country=US fixed_bw=8 fixed_mcs=9 enable_rts_8mhz=1

```

signal\_poll output:

```auto
RSSI=-35
LINKSPEED=866
NOISE=9999
FREQUENCY=5560
WIDTH=160 MHz
CENTER_FRQ1=5570
AVG_RSSI=-40

```

morse\_cli stats (TX MCS distribution confirms uplink stuck at MCS0):

```auto
TX MCS : 82 0 0 0 0 0 0 1 11 0 0 0 0
Current Operating BW (MHz) : 8
Current Primary Channel BW : 8 MHz (after setting -p 8 via morse_cli channel)
Detected channel BW (Hz) : 8000000
MCS max estimated : 9
MCS min estimated : 9
PHY rate max (kbps) : 39000

```

After manually setting primary BW to 8MHz via morse\_cli:

```auto
sudo morse_cli -i wlx189ba5195793 channel -c 916000 -o 8 -p 8 -n 5

```

The AP still reports uplink at MCS0/2MHz with no improvement in throughput.

Note: rc\_stats command fails with error code -32757.

**Questions**

1. Is the bcf\_mf15457.bin BCF (defaulting to AU) causing TX rate control issues when overridden with country=US via module parameter? Should we request a US-specific BCF from Vantron?
2. Why does the rate control fall back to MCS0 despite excellent signal (-35 dBm) and MCS max estimated = 9?
3. Is there a known fix for TX rate asymmetry with the MM8108 USB dongle on Linux?
4. Why does rc\_stats fail with error -32757?

Any guidance appreciated. Happy to provide additional diagnostics.

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 16, 2026, 1:32pm UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/2 "2026-06-16T13:32:57Z")

</div>

**Update with additional diagnostics**

I’ve done some further testing that points more strongly to the BCF as the root cause.

**Board type is not set**

Running `morse_cli boardtype` returns:

```auto
Board type is not set

```

This suggests the BCF (bcf\_mf15457.bin) is not being applied correctly, possibly because it is configured for AU and we are overriding country via the module parameter rather than having a native US BCF.

**Fixed rate test**

To rule out rate control as the cause, I forced fixed rate with the following module parameters:

```auto
country=US fixed_bw=8 fixed_mcs=9 enable_fixed_rate=1

```

Even with these settings, the stats show:

```auto
TX MCS : 46 0 0 0 0 0 0 0 0 6 0 0 0
Current Operating BW (MHz) : 8
Current Primary Channel BW : 2 MHz (reverts to 2MHz despite fixed_bw=8)
Detected channel BW (Hz) : 8000000
MCS max estimated : 9
MCS min estimated : 9
PHY rate max (kbps) : 39000

```

Key observations:

- TX is still dominated by MCS0 (46 packets) with only 6 at MCS9, even with fixed rate forced
- Primary Channel BW reverts to 2 MHz on reconnect despite fixed\_bw=8 module parameter
- The AP continues to report uplink as MCS0/2MHz

**Conclusion**

The `fixed_bw` module parameter appears to be ignored for primary channel BW, and the rate control falls back to MCS0 even when fixed rate is forced. Combined with “Board type is not set”, this strongly suggests the BCF is not configuring the hardware correctly for US operation.

We are using bcf\_mf15457.bin which defaults to AU country code. We are overriding via `country=US` module parameter rather than a native US BCF. Is there a US-specific BCF available for the MF15457 module? Or is there another way to correctly configure the BCF for US operation?

Also noting that `rc_stats` continues to fail with error code -32757 which may be related.

Happy to provide any additional diagnostics.

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 16, 2026, 2:41pm UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/3 "2026-06-16T14:41:15Z")

</div>

**Further update - rate control ignoring fixed rate parameters, OTP confirmed as AU**

After extensive additional diagnostics I believe I have identified the root cause. Summarizing findings below.

**OTP contains AU country code**

The MM8108B2 chip has `AU` burned into its OTP. When `enable_otp_check=1` (default), the driver reads AU from OTP and sets `MORSE_STATE_FLAG_REGDOM_SET_BY_OTP`, overriding our `country=US` module parameter. This was confirmed by examining `firmware.c` and `mm8108.c` in the driver source.

**Loading .regdom\_US via enable\_otp\_check=0**

Disabling OTP check via `enable_otp_check=0` correctly causes the driver to load `.regdom_US` from the BCF:

```auto
morse_usb 1-1:1.0: Write BCF .regdom_US to chip - addr 11cb40 size 124

```

This briefly improved uplink to ~33 Mbps at reconnect, confirming the hardware is physically capable of high rates with the correct regdom.

**Rate control falls back immediately**

Despite loading .regdom\_US, the uplink rate falls back to MCS0/2MHz within seconds. Stats show:

```auto
TX MCS : 53 0 0 0 0 0 0 0 0 7 0 0 0
Current Primary Channel BW: 2 MHz (stuck, despite operating BW=8MHz)
MCS max estimated : 9
MCS min estimated : 9

```

Note: no TX retries or drops — rate control is choosing MCS0 proactively, not as a response to packet loss.

**Fixed rate parameters ignored by firmware**

Even with explicit fixed rate forced via module parameters:

```auto
enable_fixed_rate=1 fixed_mcs=9 fixed_bw=8

```

The firmware continues to transmit mostly at MCS0 with primary BW stuck at 2MHz. These parameters appear to be ignored at the firmware level.

**Board type never set**

`morse_cli boardtype` consistently returns `Board type is not set` regardless of OTP check setting, suggesting the board type OTP bank is also not programmed for this device.

**rc\_stats unavailable**

`morse_cli rc_stats` fails with error -32757, preventing deeper rate control diagnostics.

**Conclusion**

The hardware briefly achieves 33 Mbps uplink when .regdom\_US is loaded, confirming physical capability. However the firmware’s TX rate control immediately falls back to MCS0/2MHz and ignores fixed rate override parameters. Combined with the unprogrammed board type OTP and AU country OTP, this suggests the firmware requires either:

1. A US-specific firmware build, or
2. The OTP to be programmed with US country code and correct board type

Neither appears achievable from Linux userspace. Is this a known issue with the MM8108 USB dongle on US firmware? Is there a US-specific firmware or BCF available that would address this?

Happy to provide any additional diagnostics including full stats output or dmesg logs.

---

<div class="post-metadata">

**Author:** ![james.haggerty](https://avatars.discourse-cdn.com/v4/letter/j/c68b51/32.png) [@james.haggerty](https://community.morsemicro.com/u/james.haggerty)\
**Post date:** [June 16, 2026, 11:34pm UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/4 "2026-06-16T23:34:51Z")

</div>

I think AI is leading you astray here.

Go back to your standard setup without any strange overrides or hackery, and don’t determine the TX/RX by looking at the current MCS. This is because if you’re not doing traffic this will be low (since a higher MCS isn’t used for management frames).

Try actually sending UDP data using iperf3 or similar and see what your performance is. While doing this, you can check your MCS, and my bet is that it will be much higher 🙂

If it’s still not working, please show the dmesg output from the driver load, as this will show what BCF is being used (and why it’s being used).

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 17, 2026, 12:26am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/5 "2026-06-17T00:26:11Z")

</div>

> [@james.haggerty](#):
>
> I think AI is leading you astray here.
> 
> Go back to your standard setup without any strange overrides or hackery, and don’t determine the TX/RX by looking at the current MCS. This is because if you’re not doing traffic this will be low (since a higher MCS isn’t used for management frames).
> 
> Try actually sending UDP data using iperf3 or similar and see what your performance is. While doing this, you can check your MCS, and my bet is that it will be much higher 🙂

Yes, AI is so seductive 🙂  
So tried putting everything back.  
Using: iperf3 -c -u -b 50M -P 1 -t 60 -p 5201  
Downlink AP-\>MM8108, I’m getting 49Mb/s, that’s great.  
Uplink MM8108-\>AP, I’m getting 12MB/s, I was hoping for more.

My AI buddy pointed this out…

==Uplink MM8108-\>AP==  
=== signal\_poll ===  
RSSI=-48  
LINKSPEED=866  
NOISE=9999  
FREQUENCY=5560  
WIDTH=160 MHz  
CENTER\_FRQ1=5570  
AVG\_RSSI=-46  
=== morse stats ===  
ARP gratuitous generated : 0  
TCP keepalives generated : 0  
AGG TX rate is NULL : 0  
TX MCS : 122 0 0 0 0 1 0 9 16 42 0 0 0  
Current Operating BW (MHz) : 8  
Current Primary Channel BW (MHz) : 2  
Detected channel BW (Hz) : 4000000  
Oper BW indicator : 3  
TX subband operating BW (MHz) : 0  
TX subband primary channel BW (MHz) : 0  
TX subband primary index : 0  
PHY rate max (kbps) : 43333  
PHY rate min (kbps) : 43333

**Update - you were right, rate control is working correctly under load**

Thank you for the correction. Running UDP iperf while monitoring stats confirmed the rate control is working as expected under traffic load:

```auto
TX MCS: 241 0 0 0 1 0 1 127 336 36940 0 0 0

```

MCS9 dominates with 36,940 packets during the test, giving ~12 Mbps throughput. The idle MCS0 stats we were seeing earlier were simply management frames, not a rate control problem. Apologies for the noise in the previous posts.

**Remaining issue - Primary Channel BW stuck at 2MHz**

However there is still a real performance limitation. During the UDP iperf test, stats show:

```auto
TX MCS : MCS9 (correct)
Current Operating BW (MHz) : 8
Current Primary Channel BW : 2 MHz (expected 8 MHz)
Detected channel BW (Hz) : 2000000
PHY rate max (kbps) : 39000 (~39 Mbps)

```

The operating BW is correctly set to 8MHz, but the primary channel BW is stuck at 2MHz. At MCS9/8MHz we would expect ~43 Mbps, but we are getting ~12 Mbps because the primary BW is limited to 2MHz.

**Setup**

- Device: Vantron VT-USB-AH-8108 (MM8108B2, MF15457 module)
- Driver: morse\_driver v1.17.9
- BCF: bcf\_mf15457.bin (OTP has AU country code, using enable\_otp\_check=0 with country=US)
- AP: US, 916 MHz, Channel 27, 8MHz bandwidth, WPA2
- RSSI: -47 dBm

==========

So what’s constraining the uplink rate? Do I have the correct BCF, the country code is concerning as I’m in the USA?

Thx much

---

<div class="post-metadata">

**Author:** ![james.haggerty](https://avatars.discourse-cdn.com/v4/letter/j/c68b51/32.png) [@james.haggerty](https://community.morsemicro.com/u/james.haggerty)\
**Post date:** [June 17, 2026, 12:29am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/6 "2026-06-17T00:29:49Z")

</div>

Please show the output of dmesg when the driver loads.

I still strongly doubt that your Vantron dongle is locked to AU.

Primary channel BW is expected to be 2MHz (this is the maximum). Maybe get a better AI 😆

Something is going wrong with your testing because you’re getting performance above the phy rate on the downlink. Make sure to measure on the receiver side rather than the sender. In our testing, we see max ~30Mbps UDP on MM8108.

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 17, 2026, 12:43am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/7 "2026-06-17T00:43:54Z")

</div>

> [@james.haggerty](#):
>
> Please show the output of dmesg when the driver loads.

Thx, here is the dmesg output part #1:

[89251.320867] usbcore: deregistering interface driver morse\_usb  
[89251.333003] wlx189ba5195793: deauthenticating from 50:2e:91:d2:cf:e4 by local choice (Reason: 3=DEAUTH\_LEAVING)  
[89251.711017] morse\_usb 1-1:1.0: USB Morse #-1 now disconnected  
[89253.919311] Morse Micro Dot11ah driver registration. Version 0-rel\_1\_17\_9\_2026\_Apr\_20  
[89253.919327] channelization\_scheme = 3 (IEEE802.11-REVmf)  
[89254.801905] morse micro driver registration. Version 0-rel\_1\_17\_9\_2026\_Apr\_20  
[89254.801944] morse\_usb 1-1:1.0: USB Morse device now attached to Morse driver (minor=-1)  
[89254.805859] morse\_usb 1-1:1.0: Loaded firmware from morse/mm8108b2-rl.bin, size 479624, crc32 0x99d66138  
[89254.805930] morse\_usb 1-1:1.0: Loaded BCF from morse/bcf\_default.bin, size 2124, crc32 0x80459e55  
[89255.990036] morse\_usb 1-1:1.0: Driver loaded with kernel module parameters  
[89255.990056] morse\_usb 1-1:1.0: enable\_pre\_assoc\_ps : N  
[89255.990071] morse\_usb 1-1:1.0: slow\_clock\_mode : 0  
[89255.990085] morse\_usb 1-1:1.0: enable\_1mhz\_probes : Y  
[89255.990099] morse\_usb 1-1:1.0: enable\_sched\_scan : Y  
[89255.990113] morse\_usb 1-1:1.0: enable\_hw\_scan : Y  
[89255.990126] morse\_usb 1-1:1.0: enable\_pv1 : N  
[89255.990139] morse\_usb 1-1:1.0: enable\_page\_slicing : N  
[89255.990152] morse\_usb 1-1:1.0: log\_modparams\_on\_boot : Y  
[89255.990165] morse\_usb 1-1:1.0: enable\_mcast\_rate\_control : N  
[89255.990179] morse\_usb 1-1:1.0: enable\_mcast\_whitelist : Y  
[89255.990194] morse\_usb 1-1:1.0: ocs\_type : 1  
[89255.990207] morse\_usb 1-1:1.0: enable\_wiphy : N  
[89255.990220] morse\_usb 1-1:1.0: enable\_auto\_mpsw : Y  
[89255.990235] morse\_usb 1-1:1.0: duty\_cycle\_probe\_retry\_threshold : 2500  
[89255.990249] morse\_usb 1-1:1.0: duty\_cycle\_mode : 0  
[89255.990262] morse\_usb 1-1:1.0: enable\_auto\_duty\_cycle : Y  
[89255.990276] morse\_usb 1-1:1.0: dhcpc\_lease\_update\_script : /morse/scripts/dhcpc\_update.sh  
[89255.990291] morse\_usb 1-1:1.0: enable\_ibss\_probe\_filtering : Y  
[89255.990305] morse\_usb 1-1:1.0: enable\_dhcpc\_offload : N  
[89255.990318] morse\_usb 1-1:1.0: enable\_arp\_offload : N  
[89255.990331] morse\_usb 1-1:1.0: enable\_bcn\_change\_seq\_monitor : N  
[89255.990344] morse\_usb 1-1:1.0: enable\_cac : N  
[89255.990357] morse\_usb 1-1:1.0: max\_mc\_frames : 10  
[89255.990371] morse\_usb 1-1:1.0: tx\_max\_power\_mbm : 2200  
[89255.990385] morse\_usb 1-1:1.0: enable\_twt : Y  
[89255.990397] morse\_usb 1-1:1.0: enable\_mac80211\_connection\_monitor : N  
[89255.990411] morse\_usb 1-1:1.0: enable\_airtime\_fairness : N  
[89255.990424] morse\_usb 1-1:1.0: max\_aggregation\_count : 0  
[89255.990438] morse\_usb 1-1:1.0: max\_rate\_tries : 1  
[89255.990451] morse\_usb 1-1:1.0: max\_rates : 4  
[89255.990464] morse\_usb 1-1:1.0: enable\_watchdog\_reset : N  
[89255.990478] morse\_usb 1-1:1.0: watchdog\_interval\_secs : 30  
[89255.990491] morse\_usb 1-1:1.0: enable\_watchdog : Y  
[89255.990504] morse\_usb 1-1:1.0: country : US  
[89255.990517] morse\_usb 1-1:1.0: enable\_cts\_to\_self : N  
[89255.990530] morse\_usb 1-1:1.0: enable\_rts\_8mhz : N  
[89255.990543] morse\_usb 1-1:1.0: enable\_trav\_pilot : Y  
[89255.990556] morse\_usb 1-1:1.0: enable\_sgi\_rc : Y  
[89255.990569] morse\_usb 1-1:1.0: enable\_mbssid\_ie : N  
[89255.990583] morse\_usb 1-1:1.0: virtual\_sta\_max : 0  
[89255.990596] morse\_usb 1-1:1.0: thin\_lmac : N  
[89255.990609] morse\_usb 1-1:1.0: enable\_dynamic\_ps\_offload : Y  
[89255.990622] morse\_usb 1-1:1.0: enable\_ps : 2  
[89255.990635] morse\_usb 1-1:1.0: enable\_subbands : 2  
[89255.990649] morse\_usb 1-1:1.0: enable\_survey : Y  
[89255.990662] morse\_usb 1-1:1.0: mcs10\_mode : 0  
[89255.990727] morse\_usb 1-1:1.0: mcs\_mask : 1023  
[89255.990741] morse\_usb 1-1:1.0: no\_hwcrypt : N  
[89255.990754] morse\_usb 1-1:1.0: enable\_ext\_xtal\_init : N  
[89255.990767] morse\_usb 1-1:1.0: enable\_otp\_check : N  
[89255.990780] morse\_usb 1-1:1.0: bcf :  
[89255.990794] morse\_usb 1-1:1.0: serial : default  
[89255.990807] morse\_usb 1-1:1.0: debug\_mask : 8  
[89255.990821] morse\_usb 1-1:1.0: tx\_status\_lifetime\_ms : 15000  
[89255.990835] morse\_usb 1-1:1.0: tx\_queued\_lifetime\_ms : 1000  
[89255.990849] morse\_usb 1-1:1.0: max\_txq\_len : 32  
[89255.990863] morse\_usb 1-1:1.0: default\_cmd\_timeout\_ms : 600  
[89255.990876] morse\_usb 1-1:1.0: reattach\_hw : N  
[89255.990890] morse\_usb 1-1:1.0: hw\_reload\_after\_stop : 5  
[89255.990904] morse\_usb 1-1:1.0: enable\_short\_bcn\_as\_dtim\_override : -1  
[89255.990918] morse\_usb 1-1:1.0: rsn\_beacon\_mode : 0  
[89255.990932] morse\_usb 1-1:1.0: fw\_bin\_file :  
[89255.990945] morse\_usb 1-1:1.0: sdio\_reset\_time : 400  
[89255.990959] morse\_usb 1-1:1.0: macaddr\_suffix : 00:00:00  
[89255.990973] morse\_usb 1-1:1.0: macaddr\_octet : 255  
[89255.990987] morse\_usb 1-1:1.0: max\_total\_vendor\_ie\_bytes : 514  
[89255.991000] morse\_usb 1-1:1.0: hw\_scan\_prim\_deconstruct : 0  
[89255.991025] morse\_usb 1-1:1.0: coredump\_include : 1  
[89255.991040] morse\_usb 1-1:1.0: coredump\_method : 1  
[89255.991053] morse\_usb 1-1:1.0: enable\_coredump : Y  
[89255.991067] morse\_usb 1-1:1.0: enable\_hw\_leds : Y  
[89255.991080] morse\_usb 1-1:1.0: enable\_mm\_vendor\_ie : Y  
[89255.991093] morse\_usb 1-1:1.0: fixed\_guard : 0  
[89255.991107] morse\_usb 1-1:1.0: fixed\_ss : 1  
[89255.991120] morse\_usb 1-1:1.0: fixed\_bw : 2  
[89255.991133] morse\_usb 1-1:1.0: fixed\_mcs : 4  
[89255.991146] morse\_usb 1-1:1.0: enable\_fixed\_rate : N  
[89255.991755] uaccess char driver major number is 240  
[89255.994940] morse\_io: Device node ‘/dev/morse\_io’ created successfully  
[89255.995074] usbcore: registered new interface driver morse\_usb  
[89256.003996] morse\_usb 1-1:1.0 wlx189ba5195793: renamed from wlan0  
[89259.113852] wlx189ba5195793: authenticate with 50:2e:91:d2:cf:e4 (local address=18:9b:a5:19:57:93)  
[89259.113875] wlx189ba5195793: send auth to 50:2e:91:d2:cf:e4 (try 1/3)  
[89259.135418] wlx189ba5195793: authenticated  
[89259.158651] wlx189ba5195793: associate with 50:2e:91:d2:cf:e4 (try 1/3)  
[89259.181263] wlx189ba5195793: RX AssocResp from 50:2e:91:d2:cf:e4 (capab=0x11 status=0 aid=1)  
[89259.311666] ------------[cut here]------------  
[89259.311677] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1327:12  
[89259.314097] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.316449] CPU: 2 PID: 24059 Comm: kworker/u19:3 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.316468] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.316483] Workqueue: events\_unbound cfg80211\_wiphy\_work [cfg80211]  
[89259.317346] Call Trace:  
[89259.317357]  
[89259.317370] dump\_stack\_lvl+0x76/0xa0  
[89259.317395] dump\_stack+0x10/0x20  
[89259.317411] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.317444] mmrc\_sta\_init+0x252/0x370 [morse]  
[89259.317799] morse\_rc\_sta\_add+0x4f6/0x5e0 [morse]  
[89259.318147] morse\_rc\_sta\_state\_check+0x73/0x170 [morse]  
[89259.318476] morse\_mac\_ops\_sta\_state+0x816/0x10b0 [morse]  
[89259.318830] drv\_sta\_state+0x105/0x260 [mac80211]  
[89259.319849] \_sta\_info\_move\_state+0x308/0x460 [mac80211]  
[89259.320772] sta\_info\_move\_state+0x13/0x20 [mac80211]  
[89259.321721] ieee80211\_assoc\_success+0x3ce/0x920 [mac80211]  
[89259.322694] ieee80211\_rx\_mgmt\_assoc\_resp+0x425/0xa10 [mac80211]  
[89259.323636] ieee80211\_sta\_rx\_queued\_mgmt+0xd3/0x4b0 [mac80211]  
[89259.324568] ieee80211\_iface\_process\_skb+0x19e/0x250 [mac80211]  
[89259.325548] ? skb\_dequeue+0x5f/0x80  
[89259.325580] ieee80211\_iface\_work+0xb2/0x1a0 [mac80211]  
[89259.326549] cfg80211\_wiphy\_work+0xbc/0xe0 [cfg80211]  
[89259.327426] process\_one\_work+0x181/0x3a0  
[89259.327454] worker\_thread+0x306/0x440  
[89259.327476] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.327502] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.327522] kthread+0xf2/0x120  
[89259.327551] ? \_\_pfx\_kthread+0x10/0x10  
[89259.327580] ret\_from\_fork+0x44/0x70  
[89259.327601] ? \_\_pfx\_kthread+0x10/0x10  
[89259.327629] ret\_from\_fork\_asm+0x1b/0x30  
[89259.327668]  
[89259.327733] —[end trace]—  
[89259.327745] ------------[cut here]------------  
[89259.327751] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1328:12  
[89259.330125] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.332476] CPU: 2 PID: 24059 Comm: kworker/u19:3 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.332495] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.332508] Workqueue: events\_unbound cfg80211\_wiphy\_work [cfg80211]  
[89259.333395] Call Trace:  
[89259.333403]  
[89259.333411] dump\_stack\_lvl+0x76/0xa0  
[89259.333432] dump\_stack+0x10/0x20  
[89259.333446] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.333476] mmrc\_sta\_init+0x265/0x370 [morse]  
[89259.333775] morse\_rc\_sta\_add+0x4f6/0x5e0 [morse]  
[89259.334077] morse\_rc\_sta\_state\_check+0x73/0x170 [morse]  
[89259.334355] morse\_mac\_ops\_sta\_state+0x816/0x10b0 [morse]  
[89259.334660] drv\_sta\_state+0x105/0x260 [mac80211]  
[89259.335647] \_sta\_info\_move\_state+0x308/0x460 [mac80211]  
[89259.336637] sta\_info\_move\_state+0x13/0x20 [mac80211]  
[89259.337619] ieee80211\_assoc\_success+0x3ce/0x920 [mac80211]  
[89259.338674] ieee80211\_rx\_mgmt\_assoc\_resp+0x425/0xa10 [mac80211]  
[89259.339798] ieee80211\_sta\_rx\_queued\_mgmt+0xd3/0x4b0 [mac80211]  
[89259.340902] ieee80211\_iface\_process\_skb+0x19e/0x250 [mac80211]  
[89259.341866] ? skb\_dequeue+0x5f/0x80  
[89259.341896] ieee80211\_iface\_work+0xb2/0x1a0 [mac80211]  
[89259.342838] cfg80211\_wiphy\_work+0xbc/0xe0 [cfg80211]  
[89259.343742] process\_one\_work+0x181/0x3a0  
[89259.343769] worker\_thread+0x306/0x440  
[89259.343791] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.343814] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.343834] kthread+0xf2/0x120  
[89259.343862] ? \_\_pfx\_kthread+0x10/0x10  
[89259.343911] ret\_from\_fork+0x44/0x70  
[89259.343932] ? \_\_pfx\_kthread+0x10/0x10  
[89259.343960] ret\_from\_fork\_asm+0x1b/0x30  
[89259.343997]  
[89259.344050] —[end trace]—  
[89259.344058] ------------[cut here]------------  
[89259.344064] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1329:12  
[89259.346472] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.348906] CPU: 2 PID: 24059 Comm: kworker/u19:3 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.348925] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.348938] Workqueue: events\_unbound cfg80211\_wiphy\_work [cfg80211]  
[89259.349831] Call Trace:  
[89259.349839]  
[89259.349847] dump\_stack\_lvl+0x76/0xa0  
[89259.349868] dump\_stack+0x10/0x20  
[89259.349883] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.349912] mmrc\_sta\_init+0x278/0x370 [morse]  
[89259.350215] morse\_rc\_sta\_add+0x4f6/0x5e0 [morse]  
[89259.350517] morse\_rc\_sta\_state\_check+0x73/0x170 [morse]  
[89259.350797] morse\_mac\_ops\_sta\_state+0x816/0x10b0 [morse]  
[89259.351101] drv\_sta\_state+0x105/0x260 [mac80211]  
[89259.352066] \_sta\_info\_move\_state+0x308/0x460 [mac80211]  
[89259.353022] sta\_info\_move\_state+0x13/0x20 [mac80211]  
[89259.353971] ieee80211\_assoc\_success+0x3ce/0x920 [mac80211]  
[89259.355060] ieee80211\_rx\_mgmt\_assoc\_resp+0x425/0xa10 [mac80211]  
[89259.356069] ieee80211\_sta\_rx\_queued\_mgmt+0xd3/0x4b0 [mac80211]  
[89259.357146] ieee80211\_iface\_process\_skb+0x19e/0x250 [mac80211]  
[89259.358179] ? skb\_dequeue+0x5f/0x80  
[89259.358210] ieee80211\_iface\_work+0xb2/0x1a0 [mac80211]  
[89259.359194] cfg80211\_wiphy\_work+0xbc/0xe0 [cfg80211]  
[89259.360090] process\_one\_work+0x181/0x3a0  
[89259.360116] worker\_thread+0x306/0x440  
[89259.360138] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.360161] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.360181] kthread+0xf2/0x120  
[89259.360208] ? \_\_pfx\_kthread+0x10/0x10  
[89259.360237] ret\_from\_fork+0x44/0x70  
[89259.360258] ? \_\_pfx\_kthread+0x10/0x10  
[89259.360285] ret\_from\_fork\_asm+0x1b/0x30  
[89259.360322]  
[89259.360384] —[end trace]—  
[89259.360392] ------------[cut here]------------  
[89259.360399] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1330:12  
[89259.362861] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.365334] CPU: 2 PID: 24059 Comm: kworker/u19:3 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.365352] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.365366] Workqueue: events\_unbound cfg80211\_wiphy\_work [cfg80211]  
[89259.366365] Call Trace:  
[89259.366373]  
[89259.366382] dump\_stack\_lvl+0x76/0xa0  
[89259.366402] dump\_stack+0x10/0x20  
[89259.366417] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.366447] mmrc\_sta\_init+0x28b/0x370 [morse]  
[89259.366741] morse\_rc\_sta\_add+0x4f6/0x5e0 [morse]  
[89259.367036] morse\_rc\_sta\_state\_check+0x73/0x170 [morse]  
[89259.367326] morse\_mac\_ops\_sta\_state+0x816/0x10b0 [morse]  
[89259.367642] drv\_sta\_state+0x105/0x260 [mac80211]  
[89259.368615] \_sta\_info\_move\_state+0x308/0x460 [mac80211]  
[89259.369603] sta\_info\_move\_state+0x13/0x20 [mac80211]  
[89259.370569] ieee80211\_assoc\_success+0x3ce/0x920 [mac80211]  
[89259.371566] ieee80211\_rx\_mgmt\_assoc\_resp+0x425/0xa10 [mac80211]  
[89259.372509] ieee80211\_sta\_rx\_queued\_mgmt+0xd3/0x4b0 [mac80211]  
[89259.373441] ieee80211\_iface\_process\_skb+0x19e/0x250 [mac80211]  
[89259.374440] ? skb\_dequeue+0x5f/0x80  
[89259.374470] ieee80211\_iface\_work+0xb2/0x1a0 [mac80211]  
[89259.375428] cfg80211\_wiphy\_work+0xbc/0xe0 [cfg80211]  
[89259.376305] process\_one\_work+0x181/0x3a0  
[89259.376331] worker\_thread+0x306/0x440  
[89259.376353] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.376376] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.376396] kthread+0xf2/0x120  
[89259.376423] ? \_\_pfx\_kthread+0x10/0x10  
[89259.376452] ret\_from\_fork+0x44/0x70  
[89259.376473] ? \_\_pfx\_kthread+0x10/0x10  
[89259.376500] ret\_from\_fork\_asm+0x1b/0x30  
[89259.376537]  
[89259.376683] —[end trace]—  
[89259.376692] ------------[cut here]------------  
[89259.376699] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1331:12  
[89259.379193] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.381690] CPU: 2 PID: 24059 Comm: kworker/u19:3 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.381709] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.381721] Workqueue: events\_unbound cfg80211\_wiphy\_work [cfg80211]  
[89259.382615] Call Trace:  
[89259.382624]  
[89259.382633] dump\_stack\_lvl+0x76/0xa0  
[89259.382653] dump\_stack+0x10/0x20  
[89259.382669] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.382698] mmrc\_sta\_init+0x29e/0x370 [morse]  
[89259.383000] morse\_rc\_sta\_add+0x4f6/0x5e0 [morse]  
[89259.383302] morse\_rc\_sta\_state\_check+0x73/0x170 [morse]  
[89259.383599] morse\_mac\_ops\_sta\_state+0x816/0x10b0 [morse]  
[89259.383940] drv\_sta\_state+0x105/0x260 [mac80211]  
[89259.384920] \_sta\_info\_move\_state+0x308/0x460 [mac80211]  
[89259.385910] sta\_info\_move\_state+0x13/0x20 [mac80211]  
[89259.386909] ieee80211\_assoc\_success+0x3ce/0x920 [mac80211]  
[89259.387847] ieee80211\_rx\_mgmt\_assoc\_resp+0x425/0xa10 [mac80211]  
[89259.388842] ieee80211\_sta\_rx\_queued\_mgmt+0xd3/0x4b0 [mac80211]  
[89259.389775] ieee80211\_iface\_process\_skb+0x19e/0x250 [mac80211]  
[89259.390756] ? skb\_dequeue+0x5f/0x80  
[89259.390786] ieee80211\_iface\_work+0xb2/0x1a0 [mac80211]  
[89259.391738] cfg80211\_wiphy\_work+0xbc/0xe0 [cfg80211]  
[89259.392635] process\_one\_work+0x181/0x3a0  
[89259.392661] worker\_thread+0x306/0x440  
[89259.392683] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.392706] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.392725] kthread+0xf2/0x120  
[89259.392753] ? \_\_pfx\_kthread+0x10/0x10  
[89259.392781] ret\_from\_fork+0x44/0x70  
[89259.392802] ? \_\_pfx\_kthread+0x10/0x10  
[89259.392829] ret\_from\_fork\_asm+0x1b/0x30  
[89259.392866]  
[89259.392991] —[end trace]—  
[89259.433682] ------------[cut here]------------  
[89259.433695] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1149:16  
[89259.436280] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.438815] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.438835] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.438848] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.439140] Call Trace:  
[89259.439148]  
[89259.439158] dump\_stack\_lvl+0x76/0xa0  
[89259.439180] dump\_stack+0x10/0x20  
[89259.439195] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.439227] mmrc\_update+0x5e/0x1140 [morse]  
[89259.439534] morse\_rc\_work+0x40/0x80 [morse]  
[89259.439833] process\_one\_work+0x181/0x3a0  
[89259.439860] worker\_thread+0x306/0x440  
[89259.439881] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.439905] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.439925] kthread+0xf2/0x120  
[89259.439952] ? \_\_pfx\_kthread+0x10/0x10  
[89259.439982] ret\_from\_fork+0x44/0x70  
[89259.440003] ? \_\_pfx\_kthread+0x10/0x10  
[89259.440031] ret\_from\_fork\_asm+0x1b/0x30  
[89259.440067]  
[89259.440109] —[end trace]—  
[89259.440119] ------------[cut here]------------  
[89259.440126] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1162:33  
[89259.442732] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.445322] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.445341] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.445354] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.445672] Call Trace:  
[89259.445680]  
[89259.445689] dump\_stack\_lvl+0x76/0xa0  
[89259.445709] dump\_stack+0x10/0x20  
[89259.445724] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.445753] mmrc\_update+0xaa/0x1140 [morse]  
[89259.446052] morse\_rc\_work+0x40/0x80 [morse]  
[89259.446341] process\_one\_work+0x181/0x3a0  
[89259.446367] worker\_thread+0x306/0x440  
[89259.446388] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.446411] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.446431] kthread+0xf2/0x120  
[89259.446458] ? \_\_pfx\_kthread+0x10/0x10  
[89259.446487] ret\_from\_fork+0x44/0x70  
[89259.446507] ? \_\_pfx\_kthread+0x10/0x10  
[89259.446535] ret\_from\_fork\_asm+0x1b/0x30  
[89259.446570]  
[89259.446612] —[end trace]—  
[89259.446621] ------------[cut here]------------  
[89259.446627] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1163:14  
[89259.449257] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.451875] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 17, 2026, 12:44am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/8 "2026-06-17T00:44:37Z")

</div>

dmesg output part #2:

#124-Ubuntu  
[89259.451893] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.451906] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.452193] Call Trace:  
[89259.452201]  
[89259.452209] dump\_stack\_lvl+0x76/0xa0  
[89259.452227] dump\_stack+0x10/0x20  
[89259.452242] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.452271] mmrc\_update+0xbd/0x1140 [morse]  
[89259.452582] morse\_rc\_work+0x40/0x80 [morse]  
[89259.452872] process\_one\_work+0x181/0x3a0  
[89259.452897] worker\_thread+0x306/0x440  
[89259.452918] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.452941] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.452960] kthread+0xf2/0x120  
[89259.452987] ? \_\_pfx\_kthread+0x10/0x10  
[89259.453016] ret\_from\_fork+0x44/0x70  
[89259.453037] ? \_\_pfx\_kthread+0x10/0x10  
[89259.453064] ret\_from\_fork\_asm+0x1b/0x30  
[89259.453100]  
[89259.453149] —[end trace]—  
[89259.453157] ------------[cut here]------------  
[89259.453164] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1164:32  
[89259.455845] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.458496] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.458514] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.458527] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.458824] Call Trace:  
[89259.458831]  
[89259.458839] dump\_stack\_lvl+0x76/0xa0  
[89259.458858] dump\_stack+0x10/0x20  
[89259.458873] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.458904] mmrc\_update+0xd0/0x1140 [morse]  
[89259.459203] morse\_rc\_work+0x40/0x80 [morse]  
[89259.459491] process\_one\_work+0x181/0x3a0  
[89259.459517] worker\_thread+0x306/0x440  
[89259.459538] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.459561] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.459582] kthread+0xf2/0x120  
[89259.459609] ? \_\_pfx\_kthread+0x10/0x10  
[89259.459637] ret\_from\_fork+0x44/0x70  
[89259.459658] ? \_\_pfx\_kthread+0x10/0x10  
[89259.459685] ret\_from\_fork\_asm+0x1b/0x30  
[89259.459721]  
[89259.459774] —[end trace]—  
[89259.459783] ------------[cut here]------------  
[89259.459789] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1170:17  
[89259.462527] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.465230] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.465249] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.465262] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.465549] Call Trace:  
[89259.465556]  
[89259.465565] dump\_stack\_lvl+0x76/0xa0  
[89259.465589] dump\_stack+0x10/0x20  
[89259.465604] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.465633] mmrc\_update+0xe3/0x1140 [morse]  
[89259.465932] morse\_rc\_work+0x40/0x80 [morse]  
[89259.466220] process\_one\_work+0x181/0x3a0  
[89259.466246] worker\_thread+0x306/0x440  
[89259.466267] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.466290] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.466310] kthread+0xf2/0x120  
[89259.466337] ? \_\_pfx\_kthread+0x10/0x10  
[89259.466366] ret\_from\_fork+0x44/0x70  
[89259.466386] ? \_\_pfx\_kthread+0x10/0x10  
[89259.466413] ret\_from\_fork\_asm+0x1b/0x30  
[89259.466449]  
[89259.466491] —[end trace]—  
[89259.466499] ------------[cut here]------------  
[89259.466506] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1174:34  
[89259.469242] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.472070] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.472089] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.472101] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.472423] Call Trace:  
[89259.472431]  
[89259.472439] dump\_stack\_lvl+0x76/0xa0  
[89259.472457] dump\_stack+0x10/0x20  
[89259.472472] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.472501] mmrc\_update+0x5e4/0x1140 [morse]  
[89259.472808] morse\_rc\_work+0x40/0x80 [morse]  
[89259.473097] process\_one\_work+0x181/0x3a0  
[89259.473122] worker\_thread+0x306/0x440  
[89259.473145] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.473168] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.473188] kthread+0xf2/0x120  
[89259.473215] ? \_\_pfx\_kthread+0x10/0x10  
[89259.473243] ret\_from\_fork+0x44/0x70  
[89259.473264] ? \_\_pfx\_kthread+0x10/0x10  
[89259.473292] ret\_from\_fork\_asm+0x1b/0x30  
[89259.473328]  
[89259.473369] —[end trace]—  
[89259.473378] ------------[cut here]------------  
[89259.473384] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1175:33  
[89259.476171] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.479003] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.479022] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.479034] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.479355] Call Trace:  
[89259.479363]  
[89259.479371] dump\_stack\_lvl+0x76/0xa0  
[89259.479390] dump\_stack+0x10/0x20  
[89259.479404] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.479433] mmrc\_update+0x5f7/0x1140 [morse]  
[89259.479742] morse\_rc\_work+0x40/0x80 [morse]  
[89259.480031] process\_one\_work+0x181/0x3a0  
[89259.480056] worker\_thread+0x306/0x440  
[89259.480078] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.480101] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.480121] kthread+0xf2/0x120  
[89259.480148] ? \_\_pfx\_kthread+0x10/0x10  
[89259.480177] ret\_from\_fork+0x44/0x70  
[89259.480197] ? \_\_pfx\_kthread+0x10/0x10  
[89259.480225] ret\_from\_fork\_asm+0x1b/0x30  
[89259.480262]  
[89259.480315] —[end trace]—  
[89259.480324] ------------[cut here]------------  
[89259.480330] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1182:54  
[89259.483165] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.485980] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.485998] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.486011] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.486299] Call Trace:  
[89259.486306]  
[89259.486315] dump\_stack\_lvl+0x76/0xa0  
[89259.486333] dump\_stack+0x10/0x20  
[89259.486348] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.486377] mmrc\_update+0x1119/0x1140 [morse]  
[89259.486682] morse\_rc\_work+0x40/0x80 [morse]  
[89259.486971] process\_one\_work+0x181/0x3a0  
[89259.486997] worker\_thread+0x306/0x440  
[89259.487018] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.487041] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.487061] kthread+0xf2/0x120  
[89259.487088] ? \_\_pfx\_kthread+0x10/0x10  
[89259.487116] ret\_from\_fork+0x44/0x70  
[89259.487137] ? \_\_pfx\_kthread+0x10/0x10  
[89259.487164] ret\_from\_fork\_asm+0x1b/0x30  
[89259.487200]  
[89259.487241] —[end trace]—  
[89259.487249] ------------[cut here]------------  
[89259.487256] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1182:12  
[89259.490161] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.493023] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.493041] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.493054] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.493341] Call Trace:  
[89259.493348]  
[89259.493357] dump\_stack\_lvl+0x76/0xa0  
[89259.493375] dump\_stack+0x10/0x20  
[89259.493390] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.493419] mmrc\_update+0x10f9/0x1140 [morse]  
[89259.493725] morse\_rc\_work+0x40/0x80 [morse]  
[89259.494013] process\_one\_work+0x181/0x3a0  
[89259.494039] worker\_thread+0x306/0x440  
[89259.494060] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.494083] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.494103] kthread+0xf2/0x120  
[89259.494130] ? \_\_pfx\_kthread+0x10/0x10  
[89259.494162] ret\_from\_fork+0x44/0x70  
[89259.494182] ? \_\_pfx\_kthread+0x10/0x10  
[89259.494210] ret\_from\_fork\_asm+0x1b/0x30  
[89259.494245]  
[89259.494287] —[end trace]—  
[89259.494296] ------------[cut here]------------  
[89259.494303] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1185:16  
[89259.497243] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.500116] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.500135] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.500149] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.500437] Call Trace:  
[89259.500446]  
[89259.500454] dump\_stack\_lvl+0x76/0xa0  
[89259.500472] dump\_stack+0x10/0x20  
[89259.500487] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.500516] mmrc\_update+0x1109/0x1140 [morse]  
[89259.500821] morse\_rc\_work+0x40/0x80 [morse]  
[89259.501109] process\_one\_work+0x181/0x3a0  
[89259.501135] worker\_thread+0x306/0x440  
[89259.501156] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.501179] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.501198] kthread+0xf2/0x120  
[89259.501225] ? \_\_pfx\_kthread+0x10/0x10  
[89259.501254] ret\_from\_fork+0x44/0x70  
[89259.501274] ? \_\_pfx\_kthread+0x10/0x10  
[89259.501302] ret\_from\_fork\_asm+0x1b/0x30  
[89259.501337]  
[89259.501379] —[end trace]—  
[89259.501390] ------------[cut here]------------  
[89259.501396] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:520:15  
[89259.504330] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.507225] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.507243] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.507256] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.507543] Call Trace:  
[89259.507550]  
[89259.507559] dump\_stack\_lvl+0x76/0xa0  
[89259.507582] dump\_stack+0x10/0x20  
[89259.507598] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.507628] calculate\_throughput+0xb6/0x130 [morse]  
[89259.507917] mmrc\_update+0x388/0x1140 [morse]  
[89259.508216] morse\_rc\_work+0x40/0x80 [morse]  
[89259.508504] process\_one\_work+0x181/0x3a0  
[89259.508530] worker\_thread+0x306/0x440  
[89259.508551] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.508574] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.508593] kthread+0xf2/0x120  
[89259.508620] ? \_\_pfx\_kthread+0x10/0x10  
[89259.508649] ret\_from\_fork+0x44/0x70  
[89259.508669] ? \_\_pfx\_kthread+0x10/0x10  
[89259.508696] ret\_from\_fork\_asm+0x1b/0x30  
[89259.508732]  
[89259.508784] —[end trace]—  
[89259.508793] ------------[cut here]------------  
[89259.508799] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1211:16  
[89259.511698] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.514595] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.514613] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.514625] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.514918] Call Trace:  
[89259.514926]  
[89259.514934] dump\_stack\_lvl+0x76/0xa0  
[89259.514952] dump\_stack+0x10/0x20  
[89259.514968] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.514997] mmrc\_update+0x9f6/0x1140 [morse]  
[89259.515296] morse\_rc\_work+0x40/0x80 [morse]  
[89259.515590] process\_one\_work+0x181/0x3a0  
[89259.515615] worker\_thread+0x306/0x440  
[89259.515637] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.515659] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.515679] kthread+0xf2/0x120  
[89259.515706] ? \_\_pfx\_kthread+0x10/0x10  
[89259.515734] ret\_from\_fork+0x44/0x70  
[89259.515754] ? \_\_pfx\_kthread+0x10/0x10  
[89259.515782] ret\_from\_fork\_asm+0x1b/0x30  
[89259.515817]  
[89259.515859] —[end trace]—  
[89259.515867] ------------[cut here]------------  
[89259.515874] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1215:16  
[89259.518915] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.521915] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.521934] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.521946] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.522233] Call Trace:  
[89259.522240]  
[89259.522249] dump\_stack\_lvl+0x76/0xa0  
[89259.522267] dump\_stack+0x10/0x20  
[89259.522283] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.522312] mmrc\_update+0xa1c/0x1140 [morse]  
[89259.522617] morse\_rc\_work+0x40/0x80 [morse]  
[89259.522906] process\_one\_work+0x181/0x3a0  
[89259.522931] worker\_thread+0x306/0x440  
[89259.522955] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.522977] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.522997] kthread+0xf2/0x120  
[89259.523024] ? \_\_pfx\_kthread+0x10/0x10  
[89259.523052] ret\_from\_fork+0x44/0x70  
[89259.523073] ? \_\_pfx\_kthread+0x10/0x10  
[89259.523100] ret\_from\_fork\_asm+0x1b/0x30  
[89259.523136]  
[89259.523177] —[end trace]—  
[89259.523185] ------------[cut here]------------  
[89259.523192] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1223:12  
[89259.526260] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.529334] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.529353] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.529365] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.529658] Call Trace:  
[89259.529666]  
[89259.529674] dump\_stack\_lvl+0x76/0xa0  
[89259.529693] dump\_stack+0x10/0x20  
[89259.529708] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.529736] mmrc\_update+0xa7b/0x1140 [morse]  
[89259.530035] morse\_rc\_work+0x40/0x80 [morse]  
[89259.530324] process\_one\_work+0x181/0x3a0  
[89259.530350] worker\_thread+0x306/0x440  
[89259.530371] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.530394] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.530414] kthread+0xf2/0x120  
[89259.530440] ? \_\_pfx\_kthread+0x10/0x10  
[89259.530469] ret\_from\_fork+0x44/0x70  
[89259.530489] ? \_\_pfx\_kthread+0x10/0x10  
[89259.530516] ret\_from\_fork\_asm+0x1b/0x30  
[89259.530552]  
[89259.530597] —[end trace]—  
[89259.530605] ------------[cut here]------------  
[89259.530611] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1223:12  
[89259.533705] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.536740] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.536758] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.536770] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.537057] Call Trace:  
[89259.537065]  
[89259.537074] dump\_stack\_lvl+0x76/0xa0  
[89259.537092] dump\_stack+0x10/0x20  
[89259.537107] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.537136] mmrc\_update+0xa8e/0x1140 [morse]  
[89259.537436] morse\_rc\_work+0x40/0x80 [morse]  
[89259.537730] process\_one\_work+0x181/0x3a0  
[89259.537756] worker\_thread+0x306/0x440  
[89259.537777] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.537800] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.537819] kthread+0xf2/0x120  
[89259.537846] ? \_\_pfx\_kthread+0x10/0x10  
[89259.537875] ret\_from\_fork+0x44/0x70  
[89259.537895] ? \_\_pfx\_kthread+0x10/0x10  
[89259.537923] ret\_from\_fork\_asm+0x1b/0x30  
[89259.537959]  
[89259.537998] —[end trace]—  
[89259.538006] ------------[cut here]------------  
[89259.538012] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:1224:12  
[89259.541117] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.544204] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.544222] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.544234] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.544521] Call Trace:  
[89259.544529]  
[89259.544537] dump\_stack\_lvl+0x76/0xa0  
[89259.544555] dump\_stack+0x10/0x20  
[89259.544570] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.544605] mmrc\_update+0xaa1/0x1140 [morse]  
[89259.544915] morse\_rc\_work+0x40/0x80 [morse]  
[89259.545212] process\_one\_work+0x181/0x3a0  
[89259.545238] worker\_thread+0x306/0x440  
[89259.545259] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.545282] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.545302] kthread+0xf2/0x120  
[89259.545329] ? \_\_pfx\_kthread+0x10/0x10  
[89259.545357] ret\_from\_fork+0x44/0x70  
[89259.545378] ? \_\_pfx\_kthread+0x10/0x10  
[89259.545405] ret\_from\_fork\_asm+0x1b/0x30  
[89259.545441]  
[89259.545494] —[end trace]—  
[89259.545611] ------------[cut here]------------  
[89259.545619] UBSAN: array-index-out-of-bounds in /home/chris/morse\_driver/mmrc-submodule/src/core/mmrc.c:677:16  
[89259.548869] index 66 is out of range for type ‘mmrc\_stats\_table [66]’  
[89259.552009] CPU: 1 PID: 26624 Comm: kworker/u16:1 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
[89259.552028] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025  
[89259.552040] Workqueue: MorseNetWorkQ morse\_rc\_work [morse]  
[89259.552328] Call Trace:  
[89259.552335]  
[89259.552343] dump\_stack\_lvl+0x76/0xa0  
[89259.552362] dump\_stack+0x10/0x20  
[89259.552377] \_\_ubsan\_handle\_out\_of\_bounds+0xc6/0x110  
[89259.552406] mmrc\_update+0xb98/0x1140 [morse]  
[89259.552716] morse\_rc\_work+0x40/0x80 [morse]  
[89259.553004] process\_one\_work+0x181/0x3a0  
[89259.553030] worker\_thread+0x306/0x440  
[89259.553051] ? \_raw\_spin\_lock\_irqsave+0xe/0x20  
[89259.553075] ? \_\_pfx\_worker\_thread+0x10/0x10  
[89259.553094] kthread+0xf2/0x120  
[89259.553123] ? \_\_pfx\_kthread+0x10/0x10  
[89259.553151] ret\_from\_fork+0x44/0x70  
[89259.553172] ? \_\_pfx\_kthread+0x10/0x10  
[89259.553199] ret\_from\_fork\_asm+0x1b/0x30  
[89259.553235]  
[89259.553284] —[end trace]—  
[89259.572551] wlx189ba5195793: associated  
chris@ubuntu-base-24:~$

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 17, 2026, 1:02am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/9 "2026-06-17T01:02:10Z")

</div>

Also, confirming you are correct on the speed noted from the received side,  
AP to Server is actually 12Mb/s  
Server to AP is actually 12Mb/s

The AP is a HaloLink2, shows Signal/Noise -38/-93  
So is the 12Mb/s an expected throughput under these conditions?

Maybe I’ve been chasing a non-issue?

---

<div class="post-metadata">

**Author:** ![james.haggerty](https://avatars.discourse-cdn.com/v4/letter/j/c68b51/32.png) [@james.haggerty](https://community.morsemicro.com/u/james.haggerty)\
**Post date:** [June 17, 2026, 1:16am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/10 "2026-06-17T01:16:31Z")

</div>

I would expect better. I would also expect your dmesg not to be spewing stack failures (is this to do with you trying to mess with mmrc and hacking on the driver?).

Also:

```auto
[89254.805930] morse_usb 1-1:1.0: Loaded BCF from morse/bcf_default.bin, size 2124, crc32 0x80459e55

```

This is an indication that Vantron hasn’t set the OTP board type on the module. You should specify the correct BCF when loading the module (bcf=bcf\_mf15457.bin).

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 17, 2026, 2:58am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/11 "2026-06-17T02:58:59Z")

</div>

I built the driver, which is as scary as it sounds, and its possible all the tinkering is causing the stack failures. I did reach out to Vantron but I’ve not yet received a response. I can’t find any clear driver package downloads or driver install guides on their website. I’ll press them on this, as it would be much safer for me to download and install a pre-built driver package, than try to build and install from scratch. I’ll let you know how far I get.

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 17, 2026, 3:01am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/12 "2026-06-17T03:01:53Z")

</div>

PS, thx so much for the help, I’ve been chasing this for a few days and was chasing a red herring without even realizing it.

---

<div class="post-metadata">

**Author:** ![james.haggerty](https://avatars.discourse-cdn.com/v4/letter/j/c68b51/32.png) [@james.haggerty](https://community.morsemicro.com/u/james.haggerty)\
**Post date:** [June 17, 2026, 10:42pm UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/13 "2026-06-17T22:42:30Z")

</div>

If you could load the right BCF and see if that helps it would be good. You may already be loading the right BCF, but it depends on what the bcf\_default.bin is linked to which makes me a little nervous.

---

<div class="post-metadata">

**Author:** ![craig](https://avatars.discourse-cdn.com/v4/letter/c/ed8c4c/32.png) [@craig](https://community.morsemicro.com/u/craig)\
**Post date:** [June 18, 2026, 12:51am UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/14 "2026-06-18T00:51:44Z")

</div>

> [89259.348906] CPU: 2 PID: 24059 Comm: kworker/u19:3 Tainted: G OE 6.8.0-124-generic #124-Ubuntu  
> [89259.348925] Hardware name: VMware, Inc. VMware20,1/440BX Desktop Reference Platform, BIOS VMW201.00V.24504846.B64.2501180339 01/18/2025

Is your Ubuntu environment virtualised on WMWare? I assume the USB port is not native to Ubuntu but virtualised.

The first priority is obviously the BCF. If you get the right BCF file and still have trouble, I would be trying it outside of a VM.

---

<div class="post-metadata">

**Author:** ![cpparkin](https://avatars.discourse-cdn.com/v4/letter/c/82dd89/32.png) [@cpparkin](https://community.morsemicro.com/u/cpparkin)\
**Post date:** [June 20, 2026, 3:05pm UTC](https://community.morsemicro.com/t/vt-usb-ah-8108-mm8108-asymmetric-tx-rx-rates-tx-stuck-at-mcs0-despite-8mhz-primary-bw/1751/15 "2026-06-20T15:05:31Z")

</div>

Vantron actually got back to me pretty quick ref a driver build, I just hadn’t seen the email. They’re working on a driver package for me, should be here in the next couple of weeks.
