Joined: 17 Jun 2013
|Posted: Mon Jun 17, 2013 7:50 pm Post subject: Wired problem switching between 20MHz and 40MHz rates
|Hello there! Thanks for your attention!!
I have 1 STA and 1 AP (hostapd + wireless-compat ath9k driver). What I am trying to do is:
1.AP starts with HT20 (I did this through commenting out any ht_capab lines in hostapd.conf)
2.STA connects to AP (so STA is also HT20)
3.STA issues an action frame to AP, AP sends back another action frame as ACK and changes its tx bitrates to HT40
what I do for changing tx bitrates now is setting ht_cap flag and update rate table, i.e. in function ieee80211_rx_h_action() in file net/mac80211/rx.c, on receiving my action frame for rate update, do:
| rx->sta->sta.ht_cap.cap |= IEEE80211_HT_CAP_SUP_WIDTH_20_40;
4.STA receives ACK and do something (what I do now is update its rate table as I do on AP side).
The problem is: when AP starts with HT40+ and STA connects, transmission first uses HT40 rates and then switches to HT20 rates on issuing my action frame. But when AP starts with HT20 and STA connects, transmission can only use HT20 rates: once switched to HT40 rates, transmission will pause, until switching back to HT20.
Could anybody give me some hints on possible reasons, please? Is this a hostapd configuration problem? or I am doing wrong updating rates? or it is theoretically impossible to using HT40 rates if started with HT20?