mirror of
https://github.com/proski/madwifi
synced 2024-11-22 06:21:47 +03:00
Be smarter about TX antenna selection for multicast frames.
Instead of simply alternating antenna, send multicast frames out each antenna based on the proportion of sucessfully transmitted unicast frames. This helps in situations where one antenna is significantly better than another. Signed-off-by: Perry Lorier <perry@cs.waikato.ac.nz> git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3776 0192ed92-7a03-0410-a25b-9323aeb14dbd
This commit is contained in:
parent
cc67e7f9be
commit
f85e81e0da
3
THANKS
3
THANKS
@ -132,6 +132,7 @@ Russell Harmon
|
|||||||
Alessandro Erta
|
Alessandro Erta
|
||||||
Jason Weber
|
Jason Weber
|
||||||
Przemyslaw Bruski
|
Przemyslaw Bruski
|
||||||
|
Perry Lorier
|
||||||
|
|
||||||
Apologies to anyone whose name was unintentionally left off.
|
Apologies to anyone whose name was unintentionally left off.
|
||||||
Please let us know if you think your name should be mentioned here!
|
Please let us know if you think your name should be mentioned here!
|
||||||
@ -143,7 +144,7 @@ We also would like to thank the following individuals and companies
|
|||||||
* Compex Systems Pte Ltd, Singapore - http://www.compex.com.sg
|
* Compex Systems Pte Ltd, Singapore - http://www.compex.com.sg
|
||||||
two donations with a total of 7 MiniPCI cards
|
two donations with a total of 7 MiniPCI cards
|
||||||
|
|
||||||
* IndraNet Technologies Ltd, New Zealand - http://www.indranet.com.nz
|
* IndraNet Technologies Ltd, New Zealand - http://www.indranet.co.nz
|
||||||
Minstrel rate control module
|
Minstrel rate control module
|
||||||
|
|
||||||
* Linux-Consulting, USA - http://www.linux-consulting.com
|
* Linux-Consulting, USA - http://www.linux-consulting.com
|
||||||
|
14
ath/if_ath.c
14
ath/if_ath.c
@ -7854,8 +7854,18 @@ ath_tx_start(struct net_device *dev, struct ieee80211_node *ni,
|
|||||||
* the first or second antenna port.
|
* the first or second antenna port.
|
||||||
* If the user has set the txantenna, use it for multicast frames too. */
|
* If the user has set the txantenna, use it for multicast frames too. */
|
||||||
if (ismcast && !sc->sc_txantenna) {
|
if (ismcast && !sc->sc_txantenna) {
|
||||||
antenna = sc->sc_mcastantenna + 1;
|
/* Alternating antenna might be the wrong thing to do if we
|
||||||
sc->sc_mcastantenna = (sc->sc_mcastantenna + 1) & 0x1;
|
* have one antenna that's significantly better than the other
|
||||||
|
*
|
||||||
|
* Use antenna in the ratio of the successfully sent unicast packets.
|
||||||
|
*/
|
||||||
|
if (sc->sc_mcastantenna > 0) {
|
||||||
|
sc->sc_mcastantenna -= sc->sc_ant_tx[1] + 1;
|
||||||
|
antenna = 2;
|
||||||
|
} else {
|
||||||
|
sc->sc_mcastantenna += sc->sc_ant_tx[2] + 1;
|
||||||
|
antenna = 1;
|
||||||
|
}
|
||||||
} else
|
} else
|
||||||
antenna = sc->sc_txantenna;
|
antenna = sc->sc_txantenna;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user