Hi Ivo, > However I would like to know if this is something should remain inside > the driver, or if it should be moved into mac80211. Possibly integrated > into the rate selection module, or otherwise as a seperate module which > could allow the user to select a prefered antenna selection method similar > as to how he can select the prefered rate algorithm. I guess it would be useful for other drivers inside mac80211. Not sure whether it should be in the rate control algorithm or not. If it is in the rate control algorithm it could keep track of antenna per-station to optimise the link to the station (obviously the station still has to be in range for both antennae when it sends a frame, but one could in theory achieve better data rates to the station with the better antenna). On the other hand, I guess nobody would want to implement such a thing anyway. I think a basic implementation within mac80211 would be sufficient if any other drivers need it. > In mac80211 this would mean that the antenna_sel should probably become > an enum looking like this: > > enum antenna_sel { > ANTENNA_SEL_DEFAULT, > ANTENNA_SEL_A, > ANTENNA_SEL_B, > ANTENNA_SEL_DIVERSITY, > }; > > I am not really a fan of the ANTENNA_SEL_DEFAULT, but this is already present > in the current mac80211 implementation. So to remove that, we could use some > method for the driver to let the default antenna known to mac80211, probably > through an extra field in ieee80211_hw perhaps. Sounds like a good plan, that way we could maybe even report what antenna is used to userland. > The ANTENNA_SEL_DIVERSITY would in this case be hardware diversity unless > the driver has indicated that software diversity is in action, through a flag in > ieee80211_hw. Of course, with 11n all that is moot. Or does 11n hw use diversity for legacy frames? johannes
Attachment:
signature.asc
Description: This is a digitally signed message part