Message ID | 200909161220.11538.hs4233@mail.mn-solutions.de (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
2009/9/16 Holger Schurig <hs4233@mail.mn-solutions.de>: > Hi ! > > I have a device (fork-lift-terminal) where there is a PCCARD with > an Atheros chip inside it. The PCCARD has an built-in antenna and > a socket, where a cable goes to the external antenna. > > Using madwifi, I always did: > >     echo 2 >/proc/sys/dev/wifi0/rxantenna >     echo 2 >/proc/sys/dev/wifi0/txantenna >     echo 0 >/proc/sys/dev/wifi0/diversity > > Now, with ath5k I'm planning to do this: > > --- linux-wl.orig/drivers/net/wireless/ath/ath5k/base.c 2009-09-16 10:43:45.000000000 +0200 > +++ linux-wl/drivers/net/wireless/ath/ath5k/base.c    2009-09-16 10:44:10.000000000 +0200 > @@ -2850,5 +2850,5 @@ ath5k_config(struct ieee80211_hw *hw, u3 >     * then we must allow the user to set how many tx antennas we >     * have available >     */ > -    ath5k_hw_set_antenna_mode(ah, AR5K_ANTMODE_DEFAULT); > +    ath5k_hw_set_antenna_mode(ah, AR5K_ANTMODE_FIXED_B); > > > ... as long as there is no offical interface for setting antenna > mode. A bit crude, but ... :-) > An official interface is on the way, until then that's indeed the way to switch to a fixed antenna ;-) > > However, when looking for the antenna-related code-paths, I found > this: > > ath5k_hw_set_fast_div(struct ath5k_hw *ah, u8 ee_mode, bool enable) > { >     switch (ee_mode) { >     case AR5K_EEPROM_MODE_11G: >         /* XXX: This is set to >         * disabled on initvals !!! */ >     case AR5K_EEPROM_MODE_11A: >     ... > > > In my case, ee_mode happens to be AR5K_EEPROM_MODE_11G, but I don't > understand the implication of this comment. Is the XXX something > to worry?  My card is a B/G only card, so I wonder if the > fall-through into the MODE_11A case is ok ?!? > As you see there is no break there so we treat G and A modes (OFDM) the same, comment is there to let developers know that AR5K_PHY_AGCCTL_OFDM_DIV_DIS is already disabled on initvals for G mode (however AR5K_PHY_FAST_ANT_DIV_EN is enabled so diversity is enabled) but it doesn't seem to make a difference anyway.
--- linux-wl.orig/drivers/net/wireless/ath/ath5k/base.c 2009-09-16 10:43:45.000000000 +0200 +++ linux-wl/drivers/net/wireless/ath/ath5k/base.c 2009-09-16 10:44:10.000000000 +0200 @@ -2850,5 +2850,5 @@ ath5k_config(struct ieee80211_hw *hw, u3 * then we must allow the user to set how many tx antennas we * have available */ - ath5k_hw_set_antenna_mode(ah, AR5K_ANTMODE_DEFAULT); + ath5k_hw_set_antenna_mode(ah, AR5K_ANTMODE_FIXED_B);