How do you write correctly this command

dev set bitrates [legacy-<2.4|5> ] [ht-mcs-<2.4|5> ] [vht-mcs-<2.4|5> <NSS:MCSx,MCSy... | NSS:MCSx-MCSy>*] [sgi-2.4|lgi-2.4] [sgi-5|lgi-5]

i need to connect to a network called 4A . freq 2.4
mcs 15.

iw dev wlan0 set bitrates mcs-2.4 15

Here are some more examples...
https://wireless.wiki.kernel.org/en/users/documentation/iw#modifying_transmit_bitrates

i don't believe it worked, what should i write in the place of wlan0 or 4A ?


  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 18.06.5, r7897-9d401013fc
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~# iw dev 4A set bitrates mcs-2.4 15
Usage:  iw [options] dev <devname> set bitrates [legacy-<2.4|5> <legacy rate in Mbps>*] [ht-mcs-<2.4|5> <MCS index>*] [vht-mcs-<2.4|5> <NSS:MCSx,MCSy... | NSS:MCSx-MCSy>*] [sgi-2.4|lgi-2.4] [sgi-5|lgi-5]

Sets up the specified rate masks.
Not passing any arguments would clear the existing mask (if any).

Options:
        --debug         enable netlink debugging
root@OpenWrt:~# iw --debug dev 4A set bitrates mcs-2.4 15
Usage:  iw [options] dev <devname> set bitrates [legacy-<2.4|5> <legacy rate in Mbps>*] [ht-mcs-<2.4|5> <MCS index>*] [vht-mcs-<2.4|5> <NSS:MCSx,MCSy... | NSS:MCSx-MCSy>*] [sgi-2.4|lgi-2.4] [sgi-5|lgi-5]

Sets up the specified rate masks.
Not passing any arguments would clear the existing mask (if any).

Options:
        --debug         enable netlink debugging
root@OpenWrt:~# iw dev
phy#0
        Interface 4A
                ifindex 17
                wdev 0xc
                addr 10:6f:3f:25:c6:5e
                ssid WIFI - NOW
                type managed
                channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
                txpower 18.00 dBm
root@OpenWrt:~# iw dev 4A set bitrates mcs-2.4 15
Usage:  iw [options] dev <devname> set bitrates [legacy-<2.4|5> <legacy rate in Mbps>*] [ht-mcs-<2.4|5> <MCS index>*] [vht-mcs-<2.4|5> <NSS:MCSx,MCSy... | NSS:MCSx-MCSy>*] [sgi-2.4|lgi-2.4] [sgi-5|lgi-5]

Sets up the specified rate masks.
Not passing any arguments would clear the existing mask (if any).

Options:
        --debug         enable netlink debugging
root@OpenWrt:~#

According to this output, you have to use legacy-2.4, ht-mcs or vht-mcs-2.4.

This should work:
iw dev 4A set bitrates ht-mcs-2.4 15

it worked, although connection stay on but without internet ... (can't even ping)
so i tried from mcs 15-5 simultaneously, but it hangs on 5

i wrote

root@OpenWrt:~# iw dev 4A set bitrates ht-mcs-2.4 15 14 13 12 11 10 9 8 7 6 5
root@OpenWrt:~#

2 questions.

a. is there a way to change mcs of rx instead of tx
b. what is the single command to make it work on mcs 15 14 13 12 11 10 9 8 7 6 5

No, only TX as RX is totally passive!

You are right, but i see only examples in ascending order, like:

iw dev 4A set bitrates ht-mcs-2.4 5 6 7 8 9 10 11 12 13 14 15

What is your real problem and why you want to do this?

1 Like

i wanted to experiment keeping mcs above 5 as when it goes lower i get very low speeds (range of 1-5 mbit/s) and disconnections. thought it might be a sort of a fix for a bug