MCS for Halowlink 1

Hello,

We are currently testing video streaming using the halowlink 1 and have noted glitches when the station or AP is moving despite have good signal strength. We are streaming at 512kb/s, so we are no way stressing the halow. The only explanation I could think of is when the halow switches MCS index as the signal strength varies. We are streaming via UDP as we need to have the lowest latency possible for our application. We would like to test the system using a fixed MCS index. Can you provide a guide how to install the morsectrl on the halowlink 1?

Hi @danielA . It would be helpful to know how you are moving the Station/AP. Are you using attenuators, or physically moving them in a car?

For now you should be able to configure the MCS using the debugfs entries on the HaloLink1

cat /sys/kernel/debug/ieee80211/phy<N>/morse/mmrc_table

echo MCS_IDX >/sys/kernel/debug/ieee80211/phy<N>/morse/fixed_rate

NB. On my Halowlink == 1

If you need to reset this fixed value you will need to reassociate.

wpa_cli_s1g -i wlan0 disconnect
wpa_cli_s1g -i wlan0 reassoc

MCS rates are switched on a per packet basis, so fixing MCS rates likely wouldn’t solve this problem. Occasionally packets can get dropped when there is interference though, this is likely what’s causing the glitching.

Have you already tried changing the bandwidth from 8MHz to 2MHz or 1MHz? That should create some more robustness and simplifies the rate adaptation algorithm from switching both MCS rates and subbands, to just MCS rates.

Thanks for the info. I am physically moving the both the AP and the station. I am in the process of testing the video stream with fixed an automatic MCS rates. I am using 2MHz at the moment. When the device is rebooted, it looses the fixed rate MCS and I have to enter the settings again. Is there a way to make it permanent?

Unfortunately the MCS setting is not persistent across a reboot, or even reassociation. You will need to write a script, and the most appropriate would likely be a wpa_supplicant action script to catch events. See wpa_supplicant - ArchWiki but also search through this forum where we have given examples of action scripts before.

You may need to wrap the wpa_cli script invocation in a service or init script so it persists across reboot.