**Problem Summary
**
I have a mesh network configured using two MM8108 chips which are both configured at a channel width of 2 MHz and a center frequency of 915MHz. My chip is refusing to change its MCS from auto-negotiated to fixed-MCS.
Environment details
Hardware: Gateworks Venice GW7100
Radio: Morse Micro MM8108 (USB 2.0)
OS: OpenWrt 24.10 (Kernel 6.6.109)
Driver/Tools: morse_usb v1.16.4-gateworks (github link - branch=v1.16.4-gateworks)
Supplicant: wpa_supplicant_s1g v2.12-morse_micro-1.16.4
Problem Details
To start, I have had success changing, for example, the country code by altering /etc/modules.d/morse and then rebooting. So, I tried passing the desired MCS values via /etc/modules.d/morse like so:
root@fa3e:~# cat /etc/modules.d/morse
morse country=US enable_ext_xtal_init=1 fixed_mcs=2 enable_fixed_rate=Y
root@fa3e:~#
And when I reboot the board the morse driver does seem to pick up those changes. If I run dmesg | grep “morse” I see.
…
[ 15.102774] morse_usb 1-1:1.0: fixed_mcs : 2
[ 15.109997] morse_usb 1-1:1.0: enable_fixed_rate : Y
…
But if I then run cat /sys/kernel/debug/ieee80211/phy0/morse/mmrc_table
I see that MCS 8 is still active:
2MHz SGI 36 A L MCS8 1 35 1331 10.05 8.53 100 0 0 0 129045 131837 0 0
Furthermore I can confirm that the MCS is not changing to MCS 2 (my requested level) because if I run an iperf test I see that both MCS 8 and the fake “MCS 2” both result in an iperf result of ~5.4Mbps. If I were truly at 2MHz/MCS 2, my iperf3 would be physically capped at around 1.9 Mbps after overhead.
Does anyone know the correct way to modify the MCS for the MorseMicro MM8108?