ASK [ hw-protection]

what is the value of hw-protection-threshold?
There is no specification on MikroTik wiki.
is that byte or some other value?

/interface wireless set hw-protection-threshold=30?

Indeed there is no direct specification of the data type in the manual, but it states that hw-protection-threshold specifies the (minimum?) frame size; a single frame may consist of more than 11000 bytes in 802.11ac so the hw-protection-threshold must be at least a 14-bit value.

What is the value to be set for HW-protection for Mikrotik RTS/CTS? Is that the question?
I don’t have the answer for a specific situation, and it seems to be more complex with 802.11n and 802.11ac.
There is MTU , MSDU and MPDU , where MTU is embedded in MSDU, MSDU’s are aggregated or segmented in MPDU (or A-MSDU), and MPDU aggregated in A-MPDU, the transmit frame size.

In older (and non-mikrotik) equipment , it was simple: https://networkengineering.stackexchange.com/questions/32970/what-is-the-802-11-mtu

MTU for wifi is/was 2304 bytes

“On my WiFi AP, I can set the RTS threshold with a value of 0-2346 bytes (I guess it’s MTU + the MAC/PHY header ?)”

Indeed on my Engenius AP’s (b/g/n) also the entry was 2347 for the protection threshold , and 2346 was the max framesize.
This 2347 size was actually the alternative for turning off RTS/CTS , as this size was never reached.
To turn it on, a lower value had to be entered. No guidance except the comment that sending a 60 byte RTS/CTS frame to reserve time for sending a 60 byte data packet was not productive.
Idea is to avoid unproductive RTS/CTS packages, and to directly take the interference risk in the “hidden node” situation for small packets.
A value of 0 would always invoke RTS/CTS.

Survival guide : https://www.oreilly.com/library/view/80211ac-a-survival/9781449357702/ch03.html learns a lot! Important document.

802.11n added aggregation up to 7981 A-MSDU or MPDU frame size.
802.11ac extended the MPDU size list: 3,895 bytes, 7,991 bytes, or 11,454 bytes
The total A-MPDU size evolved from 4,095 bytes(a/g) over 65,535 bytes(n) to 4,692,480 bytes(ac) , if the devices allowed for it.

Interesting to see is that all RouterOS devices I tested only mark 3839 MPDU sizes in their beacons for 802.11n and for 802.11ac . http://forum.mikrotik.com/t/ac2-vs-ac3-wifi-not-over-200mb/148289/1
Where other devices take the standards maximum byte size values 7935(n) and 11454(ac).
Leading to potential large overhead in MT when high interface rates where used, and lower throughput than the other implementations.

And then in the surval guide … there is … the reuse of the RTS/CTS mechanism for the “Dynamic bandwidth Operation” checks for wider channels with 802.11ac.
Is this used by MT ?? Does this overrule the RTS/CTS protection mechanisms ??? No idea !!! Don’t know how to check that. (because of multiple channels!).

So what i want to achieve here.
i wand to combain hw-protection-mode (rts-cts ) and hw-protection-threshold.

E.g.
use RTS/CTS if the value reahch to ?(30) (what it’s the value)
Any client wanting to send anything bigger than 30 must use RTS first and wait for a CTS from the AP.


i have asked Mikrotik support , still i’m waiting the answer.

Yes setting HW-protection-mode on RTS/CTS , and seting HW-protection-threshold =30, the AP and client will use RTS/CTS handshake for all frames bigger than 30 bytes.

To have any benefit from this tuning I start around 256 bytes (Don’t use RS/CTS if frame is smaller than 256 bytes) (Your Mileage may vary: https://community.cambiumnetworks.com/t/when-should-i-adjust-rts-threshold-standard-wifi-mode/52569)

RTS itself is 20 bytes, CTS is 14 bytes.

802.11n will use RTS/CTS for co-existence mode, probably not limited by the threshold.
With 802.11ac , I don’t know if this setting does anything because 802.11ac defines an enhanced Request to Send/Clear to Send (RTS/CTS) mechanism to determine when channels are available.

Yes setting HW-protection-mode on RTS/CTS , and seting HW-protection-threshold =30, the AP and client will use RTS/CTS handshake for all frames bigger than 30 bytes.

so the value is byte, that is what i want to know. Thanks

To have any benefit from this tuning I start around 256 bytes (Don’t use RS/CTS if frame is smaller than 256 bytes) (Your Mileage may vary: > https://community.cambiumnetworks.com/t/when-should-i-adjust-rts-threshold-standard-wifi-mode/52569> )

i’ll keep that in mind

802.11n will use RTS/CTS for co-existence mode, probably not limited by the threshold.

What do you mean by co-existence mode. Is hw-protection-threshold supported by N Standard?


With 802.11ac , I don’t know if this setting does anything because 802.11ac defines an enhanced Request to Send/Clear to Send (RTS/CTS) mechanism to determine when channels are available

.
AC im using only for shortest distances so if it doesn’t support that is fine

So yes the unit is bytes.

You might also read this very very old post about the early days of RTS/CTS http://forum.mikrotik.com/t/confused-about-rts-cts/26044/65
What to set on the station, and what on the AP? Nothing is simple in the wifi settings.

802.11n will invoke RTS/CTS and CTS-to-self if it detects older standards that do not understand “n” type encodings.
If setting b/g/n or g/n as protocol invokes that as well is not clear to me.

What to set on the station, and what on the AP? Nothing is simple in the wifi settings.

so i don’t want to set up anything on the Station (mikrotik/any other device)
that is what to put on AP:
/interface wireless> set 0 hw-protection-mode=rts-cts hw-protection-threshold=256

I’m right?

You’re right. This is technically correct, the value (256) is in a reasonable range also.
Question that I cannot answer: what will this help your network performance?
We know how it works, and if enabled on the AP the AP will ask via RTS for a CTS of the station.
The threshold will avoid using the RTS/CTS for smaller packets.
If enabling RTS/CTS is good or not depends on the collisions on your network.
When testing then “CTS-to-self” should also be considered as a setting.

Some more reading about all this: https://resources.infosecinstitute.com/topic/rts-threshold-configuration-improved-wireless-network-performance/

Question that I cannot answer: what will this help your network performance?

i getting +10 device connected to one single AP(most of device are not mikrotik). i’m trying to avoid hidden node problem by using RTS/CTS.
And hw-protection-threshold is kind of options to play with
Also how about CTS-to-self? can i combain with hw-protection-threshold=x

Also how about CTS-to-self? can i combain with hw-protection-threshold=x

I expect it to work the same way as RTS/CTS. But this is just guessing from my part.