Change MCS index on Morse Micro MM6108-EKH01 Kit

Hi @ajudge ,

We are not getting the expected range on the MM6108-EKH01 kit, which is only around 500 meter line-of-sight with datarate only in kbps.

I tried different experiments, but the range remains the same.

To continue with the experiments, we need to fix the MCS index on the kit.
As per our understanding, it is set to Auto by default.

Can you please share a patch or some interim release to fix the MCS index manually?

Thanks,
Arti

Hi Arti,

Thank you for your patience.

You can manually fix the MCS index on the MM6108-EKH01 kit using the morsectrl utility. On your device, run the following command:

mcs {auto|0-10}
Set MCS mode
{auto|0-10} MCS rate (0-10) or ‘auto’ for automatic rate control

Sets the MCS rate to use from 0-10. If ‘auto’ is selected, the MCS will be determined by the rate control algorithm. The ‘mcs’ command will only fix the MCS index at which the packets are sent.

Here is our MCS Table for your reference:

Hi @arti.rajput

Regarding the range, please share the noise and signal strength as measured by both the station and the AP. As with any wireless link, your range is heavily determined by noise and power (link budget).

Hi @ajudge ,

Please review the Signal and noise we measured at the AP:
-24/-84 dBm-> 1 meter near by
-40/-84 dBm-> 5 meters approx
-58/-84 dBm → 10 meters approx
-65/-84 dBm → 17 meters approx

Please note, the readings are indoor

Your noise is high, and your signal is lower than I would expect at those distances - but the signal strength could be due to the nature of the indoor environment - what material the walls are and how many, and so on.

Before I can make strong claims to a cause, can you share the output of the following commands - run on the EKH01 device terminal:
ubus call system board
ls -la /etc/firmware/morse
cat /etc/config/wireless

For the noise, you can gain a slight improvement by switching the EKH01 cpu clock governor out of performance mode. But this doesn’t always suit all applications.

for i in $(seq 0 3); do echo ondemand > /sys/devices/system/cpu$i/cpufreq/policy0/scaling_governor; done

Hi @ajudge ,

Please find the output

Sorry, that was meant to be ls -la /lib/firmware/morse. Everything else regarding the device configuration looks as I would expect, which is good.

The high noise floor is likely your limitation here, and the reason for only achieving 500m.

Are you based in the US? If not, please be cautious of the regulatory requirements for your region. India, for example, allocates 880-960MHz for cellular, as well as NB-IoT. Not only could this be a contributing factor for the noise - it’s also highly unlikely to be legal without license.

Please also share the output of morse_cli -i wlan0 stats which will contain some information about interferers in your environment.

Hi @ajudge ,

We have tested the same module in US and the range was only 600 meters with 5MBPS throughput.

Please find the output of morse_cli:

root@MorseMicro:~# morse_cli -i wlan0 stats
System uptime (usec)                            : 14919606015
Retry table
    Retry    Count    Avg Time
    =====    =====    ========
    0        146053   12342
    1        23       5347
    2        11       9996
    3        3        11230
    4        10       25244
    5        3        31398
    6        2        44540
    7        1        16560
    8        0        0
    9        0        0
    10       0        0
    11       0        0
    12       13       32852
Commands received                               : 1603
Command responses                               : 1602
Commands repeated                               : 0
Commands failed                                 : 0
Command responses failed                        : 0
Commands pending                                : 0
Commands late                                   : 0
Last host ID                                    : 25648
Total From Host page IRQs                       : 147722
Total From Host pages                           : 147722
Total To Host page IRQs                         : 148160
Total To Host pages                             : 148336
Aon clock long calibration                      : 0
Aon clock frequency                             : 28864
Aon sleep duration adjusted for clock tolerance : 0
PS sleeps                                       : 0
Woke from PS (timer)                            : 0
Woke from PS (pin)                              : 0
Pager From Host reaped                          : 198653
Pager To Host reaped                            : 0
To Host pages dropped (host in Standby)         : 0
Invalid pages received                          : 0
Events to host sent                             : 18
Events to host failed                           : 0
No page for offload response                    : 0
ARP requests detected                           : 0
ARP requests answered                           : 0
ARP requests dropped                            : 0
ARP requests let through                        : 0
ARP table updated                               : 0
ARP gratuitous generated                        : 0
Periodic ARP frames sent                        : 0
TX Status none to send                          : 163
TX Status no page                               : 0
TX Status dropped                               : 0
TX Status buffer flushed                        : 145661
TX Status transmission corrupted                : 0
TX Status pages reaped                          : 0
Wake action frames handled                      : 0
Host main task unused stack (words)             : 189
Host timer task unused stack (words)            : 60
RTOS heap free bytes                            : 5112
IPv4 packets received                           : 332
TCP packets received                            : 20
UDP packets received                            : 300
Whitelist packets ignored                       : 0
Whitelist packets dropped                       : 0
Whitelist packets allowed                       : 0
ICMP packets received                           : 6
ICMP requests detected                          : 0
ICMP requests answered                          : 0
ICMP requests dropped                           : 0
DHCP packets received                           : 0
DHCP discoveries sent                           : 0
DHCP requests sent                              : 0
DHCP lease updates sent                         : 0
DHCP leases fully expired                       : 0
DHCP leases obtained                            : 0
DHCP leases renewed/rebound                     : 0
TCP keepalives answered                         : 0
TCP keepalives to host                          : 0
TCP keepalives generated                        : 0
TCP keepalive connection lost                   : 0
Standby wakeup frame RX                         : 0
Standby status frame (standby) TX               : 0
Standby status frame (awake) TX                 : 0
To MCU wake pin toggle                          : 0
Standby SA Query request TX                     : 0
RX corrupt action frames                        : 0
BSS keepalive TX                                : 0
TWT failed to flush TX status before UMAC pause : 0
HW scan started                                 : 0
HW scan completed                               : 0
HW scan aborted                                 : 0
HW scan no page for probe                       : 0
HW scan no page to store config                 : 0
HW scan no channels to scan                     : 0
Apps CPU utilisation (tenths of a percent)      : 6
Apps CPU instructions per 1000 cycles           : 582
Max time to enter suspend and wake (usec)       : 0
Suspend aborted                                 : 0
Pageset stats
    Pageset 0
        Allocated                               : 30
        Total                                   : 30
    Pageset 1
        Allocated                               : 26
        Total                                   : 26
No A-MPDU candidate                             : 627
Commands expired in MAC req                     : 0
Commands expired in MAC resp                    : 0
DCF STF fired                                   : 5258
DCF LTF fired                                   : 0
DCF energy detect fired                         : 2061
DCF aborted                                     : 8695
DCF granted                                     : 146532
DCF medium busy before TX                       : 1
DCF phy blocked before TX                       : 0
Beacon loss                                     : 0
Beacon changed                                  : 0
Beacon RSSI changed                             : 0
AID in TIM                                      : 0
TIM contains AID but STA awake                  : 0
TIM group address                               : 0
TIM nothing                                     : 0
TIM populated                                   : 0
TSF resync requests                             : 0
DTIM beacons RX                                 : 0
CTS sleep RX                                    : 0
CTS PS frame arrived late                       : 0
AGG A-MPDUs                                     : 145877 203 3 3 3 1 1 0 0 0 0 0 0 0 0 0 0
AGG TX rate is NULL                             : 0
AGG TX param mismatch                           : 61
AGG TX max TXOP exceeded                        : 0
AGG TX length exceeded                          : 0
AGG crosses TBTT                                : 1059
AGG crosses TWT SP end                          : 0
AGG crosses RAW slot                            : 0
AGG crosses scheduled TX ts                     : 0
RX total                                        : 1257
RX pass FCS                                     : 1055
RX signal field error                           : 5941
RX buffer unavailable                           : 0
RX MAC was too slow                             : 0
TX Total                                        : 146284
TX Revoked                                      : 9392
TX non-contending NDP revoked                   : 0
TX lifetime expired                             : 0
TX returned to UMAC due to power save           : 2
TX flushed                                      : 0
TX malformed frame                              : 0
TX QoS NULL                                     : 0
TX ACK valid                                    : 300
TX ACK timeout                                  : 204
TX CTS timeout                                  : 0
Longest delayed TX ACK (usec)                   : 5
TX ACK already finished                         : 1
TX ACK invalid (FCS)                            : 1
TX ACK invalid (scrambler)                      : 2
TX ACK lost                                     : 6
TX CTS lost                                     : 0
TX fragment                                     : 0
TX BlockAck                                     : 41
RX BlockAck                                     : 2387
TX NDP ACK                                      : 956
TX round-trip success (%)                       : 59
TX requests                                     : 154978
TX non contend request failed                   : 0
TX average backoff slots                        : 1
TX encryptable pkts                             : 478
TX reencryptable pkts                           : 1722
TX Unencryptable pkts                           : 0
RX transaction(s) dropped                       : 723
RX packet(s) dropped                            : 0
RX Decryptable pkts                             : 549
RX Undecryptable pkts                           : 0
RX MPDU delimiters invalid                      : 15234
RX MPDU delimiters                              : 101
Beacons RX                                      : 0
Beacons TX                                      : 145605
Beacons TX delayed                              : 0
Beacons missing from host                       : 0
Beacons late from host delay (average usec)     : 2045
Beacons TX lifetime expired                     : 0
Beacons late from host max delay (usec)         : 2624
Beacons late from host count (packets)          : 5
Beacons TX failed count                         : 0
TX NDP probe request                            : 0
RX NDP probe request                            : 35
TX RTS/CTS max attempts reached                 : 0
TX RTS                                          : 0
TX CTS                                          : 248
RX RTS                                          : 0
RX CTS                                          : 10
RX CTS for RTS                                  : 0
RX CTS invalid (orphaned)                       : 0
TX RTS/CTS success                              : 0
RX no key found in key inspection               : 0
MPE IRQ count                                   : 149634
RX transaction(s) total                         : 1919
RX NDP total                                    : 4750
RX NDP not for us                               : 4450
RX A-MPDU/S-MPDU                                : 595
RX Non-A-MPDU/Non-S-MPDU                        : 1324
Total RX MPDUs found by MPE                     : 0
Total RX empty delimiters                       : 127
RX no valid first frame                         : 0
RX MPDUs with FCS fail                          : 202
RX MPDUs with MIC fail                          : 0
RX MPDUs with unknown MAC header                : 0
RX PV1 MPDUs                                    : 0
RX transactions without any response            : 922
RX MPDUs not for us                             : 0
RX AMPDU bitmap                                 : 41 34 7 3 0 0 0 0 0 0 0 0 0 0 0 0
RX multicast packets received                   : 0
RX multicast packets filtered                   : 0
RAW
    RAW Assignments
        Valid                                   : 0 0 0 0 0 0 0 0
        Truncated by TBTT                       : 0
        Invalid                                 : 0
        Already past                            : 0
    Delayed due to RAW
        From ACI queue                          : 0
        From BC/MC queue                        : 0
        From absolute time queue                : 0
        Frame crosses slot                      : 0
Calibration
    Quiet calibration granted                   : 248
    Quiet calibration rejected                  : 8
    Quiet calibration cancelled                 : 1
    Non-quiet calibration granted               : 0
    Calibration complete                        : 248
Duty Cycle
    Duty Cycle Target (%)                       : 100.00
    Duty Cycle TX on (usec)                     : 0
    Duty Cycle TX off (blocked) (usec)          : 0
    Duty Cycle max time off (usec)              : 0
    Duty Cycle early frames                     : 0
Duty Cycle illegal transmission                 : 0
Duty Cycle traffic dropped (NDP)                : 0
Duty Cycle traffic dropped                      : 0
WUP QosNull not acked                           : 0
QosNull resent                                  : 0
QosNull queued behind another                   : 0
QosNull TX backing off                          : 0
MAC state
    RX state                                    : 0
    TX state                                    : 0
    Channel config                              : 0
    Managed calibration state                   : 0
    Powersave enabled                           : 0
    Dynamic powersave offload enabled           : 0
    STA PS state                                : 0
    Waiting on dynamic powersave timeout        : 0
    TX blocked by host cmd                      : 0
    Waiting for medium sync                     : 0
    Packets in QoS queues                       : 0
Stale AID removed                               : 0
MAC main task unused stack (words)              : 272
MAC timer task unused stack (words)             : 65
TWT SP entered                                  : 0
TWT enter SP too early                          : 0
TWT missed SP (already over)                    : 0
TWT missed start of SP (already started)        : 0
TWT SP already active on PS wake                : 0
TWT announcement delay from SP start (avg usec) : 0
TWT operation halted                            : 0
TWT operation resumed                           : 0
TSF for station has been (re)set                : 0
Standby exit from wakeup frame                  : 0
Standby exit for association                    : 0
Standby exit from userspace                     : 0
Standby exit for HW scan not enabled            : 0
Standby exit for HW scan failed to start        : 0
Standby SA Query response RX                    : 0
Standby SA Query response timeouts              : 0
Standby deep sleep enter                        : 0
Standby deep sleep exit (assoc)                 : 0
Standby deep sleep exit (BSS moved)             : 0
Standby deep sleep exit (no assoc)              : 0
Vendor IEs matching OUI filter                  : 0
PS scheduled after beacon miss                  : 0
PS scheduled after pin wake                     : 0
PS scheduled after TIM set with no traffic      : 0
PS max delivery delay after TIM set (usec)      : 0
MAC CPU utilisation (tenths of a percent)       : 5
MAC CPU instructions per 1000 cycles            : 549
Standby exit from external input                : 0
Standby exit from whitelisted packet            : 0
Standby exit TCP connection lost                : 0
Standby beacon loss with qos ack failure        : 0
Temperature (C)                                 : 51
Vbat (mV)                                       : 3321
PMU Switched to Vbat setting (mV)               : 3300
RC Calibration frequency (Hz)                   : 0
Vbuck Trim                                      : 5
Current RF frequency (Hz)                       : 918000000
Current Operating BW (MHz)                      : 4
Current Primary Channel BW (MHz)                : 2
DCF medium went busy after go                   : 1
DCF medium went busy during start               : 41
DCF time in past                                : 0
MPE RX overflow                                 : 8
MPE RX underflow                                : 0
RX detected less than guard IFS                 : 0
TX Scrambler initial value                      : 16
RX Scrambler decoded byte                       : 17
Signal field error                              : 19701
Packet Detect fired STF                         : 26453
Packet Detect fired LTF                         : 12571
Packet Detect timestamp (usec)                  : 14918058158
Non-NDP PSDU RX                                 : 1919
Coarse frequency offset                         : -23
Final frequency offset                          : 28
Frequency offset (Hz)                           : 0
Detected sub-band                               : 0
AGC gain code                                   : 6
AGC FEM state                                   : 1
Inband power (dB)                               : 0
Received power (dBm)                            : -70
Detected channel BW (Hz)                        : 0
STF status                                      : 0
Detected RX mode                                : 0
Oper BW indicator                               : 0
Corr2S energy                                   : 0
Corr4S energy                                   : 0
Noise metric 2                                  : 0
Signal metric 2                                 : 0
Range select                                    : 0
TX Aborts                                       : 0
TX Stale                                        : 1530
TX Underflows                                   : 0
RX filtered                                     : 0
TX traveling pilots                             : 655
Max stack used                                  : 880
Min noise estimation                            : 62
DC locked state I phase path                    : 0
DC locked state Q phase path                    : 0
LTF correction power                            : 0
STF number of peaks                             : 0
Average ring oscillator frequency (mHz)         : 0
Ring oscillator 0 count                         : 0
Ring oscillator 1 count                         : 0
Ring oscillator 2 count                         : 0
Ring oscillator 3 count                         : 0
Ring oscillator 4 count                         : 0
TX subband centre frequency (Hz)                : 0
TX subband operating BW (MHz)                   : 0
TX subband primary channel BW (MHz)             : 0
TX subband primary index                        : 0
TX subband channel changed count                : 0
Total data packets sent in subband              : 0
Signal field fail bad STF                       : 82
Signal field fail bad LTF                       : 13805
Signal field fail CRC error                     : 5896
Servo gain                                      : 0
I phase path trim                               : 0
Q phase path trim                               : 0
Energy meter reading                            : 0
Energy meter threshold                          : 500
RSSI counter 3                                  : 0
DC auto lock fired                              : 0
Packet boundary index                           : 0
PHY CPU utilisation (tenths of a percent)       : 993
PHY CPU instructions per 1000 cycles            : 322
STF early detetction                            : 46
PHY noise state reset                           : 0
Energy threshold mode                           : 0
Energy threshold (dBm)                          : -80
Energy threshold correction factor freq. (dB)   : 0
RX Diversity: Default Antenna (1 or 2)          : 1
RX Diversity: Antenna 1 Selection Count         : 0
RX Diversity: Antenna 2 Selection Count         : 0
RX Diversity: AGC Adjustment Triggered          : 0
RX Diversity: Energy Difference (Linear) between Antenna 1 and Antenna 2: 0
AGC LNA status                                  : 0
AGC LNA bypass                                  : 0
AGC interference detected                       : 0
Non-WLAN energy detected                        : 0
Non-WLAN energy reading                         : 0
Narrowband interference detected                : 0
Narrowband interference index                   : 0
Narrowband interference count                   : 88
Narrowband interference power (dBm)             : -98
Narrowband interference SIR (dB)                : 100
Noise (dBm)                                     : -100
Interference overall presence ratio (%)         : 0
Interference index                              :
Interference ratio (%)                          :
Interference power (dBm)                        :
Jammer detected and handled                     : 0

In your 600m test in the US, what was the RSSI at that distance?
5Mb/s on a 4MHz channel (which I gathered from your earlier posts) requires at least MCS 4.
MCS 4 in 4MHz has an expected sensitivity of -90 dBm, and more importantly a SNR requirement of ~14dB. So you’d need, at a minimum, an RSSI of -86 dBm, given the indicated noise floor of -100.

That said, 5Mb/s at 600 meters seems like a reasonable result in real world conditions.