From owner-freebsd-wireless@FreeBSD.ORG Thu Sep 11 17:32:37 2014 Return-Path: Delivered-To: freebsd-wireless@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E36481ED for ; Thu, 11 Sep 2014 17:32:37 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B02A4BAB for ; Thu, 11 Sep 2014 17:32:37 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id s8BHWbxh003906 for ; Thu, 11 Sep 2014 17:32:37 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-wireless@FreeBSD.org Subject: [Bug 193569] New: [iwn] [wpi] 5GHz association fails on passive channels Date: Thu, 11 Sep 2014 17:32:37 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: wireless X-Bugzilla-Version: 11.0-CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: adrian@freebsd.org X-Bugzilla-Status: Needs Triage X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-wireless@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Sep 2014 17:32:38 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193569 Bug ID: 193569 Summary: [iwn] [wpi] 5GHz association fails on passive channels Product: Base System Version: 11.0-CURRENT Hardware: Any OS: Any Status: Needs Triage Severity: Affects Only Me Priority: --- Component: wireless Assignee: freebsd-wireless@FreeBSD.org Reporter: adrian@freebsd.org The TL;DR is this: * 5GHz passive channels require the station to hear a beacon from an AP doing DFS before it transmits anything; * so net80211 does this; * then it tries to associate; * .. and iwn/wpi will just issue a new RXON to associate, clearing the firmware state * which includes that it's seen beacons; * so then it transmits a frame (association request); * and the firmware immediately fails it with some status code (IWN_TX_*) that says "nope, need to see a beacon first." I forget the status code but it's pretty easy to see with 'sysctl dev.iwn.0.debug=0x1' when associating on a 5GHz channel. What the linux iwlwifi driver does - and what I think we should do - is this: * have a per-vap buffer of temporarily failed frames; * (not per-node; it's not required for this NIC); * if we see a TX fail for this reason, don't free the mbuf - just append it to the vap retry queue - and set some flag + channel number; * upon receiving a beacon notification - if it's for a beacon on the currently associated channel then schedule a taskqueue to flush that queue; * .. then flush this queue as appropriate in iwn_newstate(). * .. and make sure the taskqueue is cancelled during state changes, suspend/resume, etc. the flush may get complicated - we should flush it if we transition away from RUN. Just make sure it works. :) -- You are receiving this mail because: You are the assignee for the bug.