Multicast rate has to be the lowest common denominator so that all devices can receive it successfully. Multicast frames cannot be acknowledged[1], so if a peer fails to receive it, the sender will not know, and will not retransmit the frame. Having loss rates of more than 1% per receiver is common. Much higher loss rates can be expected if there is heavy unicast traffic going on on the same channel.
If you increase the basic multicast rate, you will also increase the loss rate. But since you are to combine native packets and introduce redundancy to compensate for the sheer loss rate, your network should be able to survive that. Keep in mind that multicast 802.11 management frames (including beacons) are not designed to support high loss rates.
On Linux, most mac802.11 drivers should support setting the multicast rate. Not so recent kernels requires this to be done at join time for both IBSS and mesh. iw
has a mcast-rate
option for the ibss join
and mesh join
command.
But if you happen to be running a fairly recent kernel and iw
that both support NL80211_CMD_SET_MCAST_RATE
, then you can change it at any time, and it is as simple as
iw dev wlanX set mcast_rate 6
to set a 6Mbps multicast rate.
[1] Maybe they can, now. There was a proposed modification to the 802.11 standard to acknowledge multicast frames: All stations, after receiving a multicast frame successfully, would pick a random backoff and send an ack to the transmitter. Acks could collide of course, so the transmitter would retransmit it and allow larger backoffs until all receivers have acknowledged the frame successfully.