From owner-freebsd-bugs@FreeBSD.ORG Mon Jun 3 19:10:01 2013 Return-Path: Delivered-To: freebsd-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 0769E155 for ; Mon, 3 Jun 2013 19:10:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id DD36710A0 for ; Mon, 3 Jun 2013 19:10:00 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id r53JA0Js014291 for ; Mon, 3 Jun 2013 19:10:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id r53JA0Vu014290; Mon, 3 Jun 2013 19:10:00 GMT (envelope-from gnats) Resent-Date: Mon, 3 Jun 2013 19:10:00 GMT Resent-Message-Id: <201306031910.r53JA0Vu014290@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, adrian chadd Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 37080115 for ; Mon, 3 Jun 2013 19:07:13 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from oldred.freebsd.org (oldred.freebsd.org [8.8.178.121]) by mx1.freebsd.org (Postfix) with ESMTP id 294D41083 for ; Mon, 3 Jun 2013 19:07:13 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id r53J7Ct1001402 for ; Mon, 3 Jun 2013 19:07:12 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id r53J7CkP001401; Mon, 3 Jun 2013 19:07:12 GMT (envelope-from nobody) Message-Id: <201306031907.r53J7CkP001401@oldred.freebsd.org> Date: Mon, 3 Jun 2013 19:07:12 GMT From: adrian chadd To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: kern/179269: [ath] [AR9285] RX antenna diversity is not functioning correctly; breaks single-antenna designs X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Jun 2013 19:10:01 -0000 >Number: 179269 >Category: kern >Synopsis: [ath] [AR9285] RX antenna diversity is not functioning correctly; breaks single-antenna designs >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jun 03 19:10:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: adrian chadd >Release: FreeBSD-10 >Organization: >Environment: >Description: This is applicable to -9 and -8 as well. The AR9285 is a 1x1 design with a twist on "classic" style antenna diversity. The MAC can choose: * RX on antenna 1 or 2; * RX on both, by using a "mixer configuration" to mix the signals from both antennas a specific way; * RX on both, by selecting either antenna 1 or 2 (ie, classic diversity) based on signal level; * RX on both, by using the above mixer configuration (well two - main and alternate) and selecting one based on signal level Now, by default, we're only doing RX on a single antenna. The AR_DEF_ANTENNA register controls the static antenna selection if fast diversity isn't enabled. However! The AR5416 HAL does this: /* * Preserve the antenna on a channel change */ saveDefAntenna = OS_REG_READ(ah, AR_DEF_ANTENNA); if (saveDefAntenna == 0) /* XXX magic constants */ saveDefAntenna = 1; . which means RX will only occur on antenna #2 if antenna diversity is disabled. So in one antenna solutions (antenna #1 / Main is connected) the unit will TX through the antenna, but RX through the unconnected port. >How-To-Repeat: * AR9285 * Connect an antenna to antenna #1 * do NOT connect an antenna to antenna #2 * Try being a station for a while >Fix: This workaround (for the AR5416, I guess) needs to be made conditional. Fast and slow antenna diversity should be enabled as well. I'll go through the code and figure out why that isn't enabled. >Release-Note: >Audit-Trail: >Unformatted: