Search Linux Wireless

Re: ath5k: mesh mode broken by commit "ath5k: Update PCU code"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Nick, that helps me understand the problem.  On my hardware
(AR5211 miniPCI cards), I have one antenna connected and there's a
second connector (AUX) as you mentioned.  A couple of other people
reported mesh problems after this commit and they may have a similar
setup.

  -Andrey

On Wed, Nov 26, 2008 at 7:29 AM, Nick Kossifidis <mickflemm@xxxxxxxxx> wrote:
> 2008/11/26 Andrey Yurovsky <andrey@xxxxxxxxxxx>:
>> Hello.  I noticed that commit dc300b5c5291d779a53d83af960fdf9388bf0544
>> "ath5k: Update PCU code"  by Nick Kossifidis breaks Mesh Point
>> operation, which had been working right up to that patch.  As I am not
>> familiar with the antenna-related code that this is touching, can
>> someone please assist with resolving this problem?  Thanks,
>>
>>  -Andrey
>>
>
> ath5k_beacon_setup can be an issue, right now it assumes you have 2
> antennas and it changes the antenna on tx descriptor every 4 beacons,
> before this patch we instructed hw to use the default antenna for rts
> (instead of the antenna we set on tx descriptor), now we don't. We
> should not handle antenna switching on sw imho since hw already has
> automatic controls for it (we just have to configure them -now we use
> the default settings-), as a first step i'd suggest always using 0 for
> antenna mode on tx descriptor, in other words comment out this...
>
> 1955                 /*
> 1956                  * Switch antenna every 4 beacons if txantenna is not set
> 1957                  * XXX assumes two antennas
> 1958                  */
> 1959                 if (antenna == 0)
> 1960                         antenna = sc->bsent & 4 ? 2 : 1;
>
> Some more infos on antenna switching...
>
> We have 5 controls for antenna selection:
>
> a) The default antenna register AR5K_DEFAULT_ANTENNA (you can write it
> using ath5k_hw_set_def_antenna) which sets the default antenna during
> Rx and if AR5K_STA_ID1_DEFAULT_ANTENNA is set on AR5K_STA_ID1 it also
> controls tx antenna if antenna mode is set to 0 on tx descriptor (see
> below). By default, it's value is 1 (antenna A -main) but some setups
> might have misconnected the antennas (eg. connected the only antenna
> available to aux port -antenna B/C/D/.., so there is no antenna
> connected on main port) so we have to keep some stats based on rxed
> frames and choose the default antenna (maybe after a scan). Also
> default antenna is expected to be an omni-directional antenna.
>
> b) Settings on AR5K_STA_ID1 register:
> AR5K_STA_ID1_DEFAULT_ANTENNA if antenna mode is set to 0 on tx
> descriptor and this bit is set to 1, then hw uses default antenna
> setting from default antenna register to transmit. If it's set to 0 it
> uses the cached tx antenna (based on successful txed frames -we get
> CTS and ACKs). Cached antenna goes on keycache (to support multiple
> stations eg. on AP mode) if AR5K_STA_ID1_DESC_ANTENNA is set to 0 or
> on default antenna register if it's set to 1 (see below).
>
> AR5K_STA_ID1_DESC_ANTENNA if set to 1, hw updates default antenna
> register according to the antenna set on tx descriptor. This is used
> for STA modes when we are sure that we are locked on one AP so we
> cache the tx antenna on default antenna register (making it also the
> default antenna for Rx).
>
> AR5K_STA_ID1_RTS_DEF_ANTENNA if set to 1, hw always uses the default
> antenna to send RTS and not the one set by descriptor.
>
> AR5K_STA_ID1_SELFGEN_DEF_ANT if set to 1, hw sends self-generated
> frames from default antenna (have to verify which MAC
> versions/revisions support this)
>
> Default settings for all modes:
> AR5K_STA_ID1_DEFAULT_ANTENNA: 1 (or maybe 2 for misconnected antennas)
> AR5K_STA_ID1_DEFAULT_ANTENNA: 0
> AR5K_STA_ID1_DESC_ANTENNA: 0
> AR5K_STA_ID1_RTS_DEF_ANTENNA: 0
> Anenna mode on tx descriptor: 0
>
> If we have multiple sector antennas on our aux ports (antennas
> B/C/D...) then we can use antenna mode setting on tx descriptor for
> choosing the antenna to transmit BUT we have to send RTS from our omni
> antenna (default antenna) by setting AR5K_STA_ID1_RTS_DEF_ANTENNA.
>
> If we see that default settings don't work ok for all (which is weird
> because 99% use single or dual omnis), we can introduce a
> ath5k_hw_set_antenna_mode function to do that and provide a
> module/configfs option to switch antenna modes. Right now
> ath5k_hw_set_def_antenna is all we need.
>
> --
> GPG ID: 0xD21DB2DB
> As you read this post global entropy rises. Have Fun ;-)
> Nick
>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux