From owner-freebsd-wireless@FreeBSD.ORG Fri Jul 20 07:52:42 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id ED6171065675 for ; Fri, 20 Jul 2012 07:52:42 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id BC8188FC18 for ; Fri, 20 Jul 2012 07:52:42 +0000 (UTC) Received: by pbbro2 with SMTP id ro2so6226650pbb.13 for ; Fri, 20 Jul 2012 00:52:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=gc0yGkPqRomVTf7ipP36jreBqQyOReQ7l6sAWn1KNH4=; b=dn9Av8rmCMedU90KP3gWbVrkko0MiixnPjCKfkDwmW/JYbwC74nnJFD8I6ub1YU61a aYLS6ml9RntgGeV1Yv/0RkHI8GwUKoKZkgA7zfK6PFmRXrvrHyuGPSJ6oFaMZuoRYUfe g5Zh9XHLF1Kb6MljTMLru1/w6z7KyDp92/FT8Vl5dh8ZdSlpX97Xtoo8svOzGNwY1dle RFkTq9ewA4kJezI//3+hnQKII4dwaIwEtPUksVHR1DGzR5ywBF7wRyY3CkhGDMtjmtin bSs5g4382J+J49r9URMRsxhiFhUgf9oJiPy9+n+y36D135xW5Cmbt9bWSKiY6CgA5TJD YBxg== MIME-Version: 1.0 Received: by 10.68.238.166 with SMTP id vl6mr11653646pbc.96.1342770762480; Fri, 20 Jul 2012 00:52:42 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.68.191.138 with HTTP; Fri, 20 Jul 2012 00:52:42 -0700 (PDT) In-Reply-To: References: Date: Fri, 20 Jul 2012 00:52:42 -0700 X-Google-Sender-Auth: M86NjAC4SbcGLb_jJWHmVgo2R9c Message-ID: From: Adrian Chadd To: Kim Culhan Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org Subject: Re: Please test ath(4) on HEAD (was Fwd: svn commit: r238609 - head/sys/dev/ath) X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 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: Fri, 20 Jul 2012 07:52:43 -0000 The thirty second version: * You can create them as normal child interfaces (wlan0, wlan1 ...); * You can configure a single hostapd interface for multiple wlan interfaces - you don't _have_ to run one hostapd for each interface. I haven't tried it yet, but I'm sure someone has reported our hostapd works. Just run hostapd with multiple configuration files on the command line, one per interface; * Don't exceed 4, the driver doesn't handle it. Please just try manually running a single hostapd with multiple configuration files listed. I just tried on two VAPs and it worked fine. Now, the reasons why multi-SSID is slightly odd: * there's hardware support for a "BSS mask", which the hardware does use to determine whether frames are actually destined to it or not. I think you can mask out many more bits than that, but four is the default; * You then have to look at how the hardware does "TSF adjustment" - to keep accurate time-keeping, each VAP beacon must go out with a corrected TSF. The driver code sets a bit to ask the hardware to fudge the TSF, then it writes a TSF offset into the beacon frame. The hardware will then add that to the current TSF. This requires the driver to correctly order the beacon frames in the beacon queue and make sure the timers are setup correctly. This has been a source of annoyance in open source Atheros drivers for quite some time. I'd love someone to audit this and then get it working for up to say 10 VAPs; * there's "burst" and "staggered" beacons. Burst is "all beacons go out at once" - you get one burst every beacon interval. "staggered" is "each beacon goes out at 1/n the beacon interval", so although your run your beacon timer at n * beacon interval, you send them out evenly spaced and they come out at the correct interval. However - this has implications for handling sleep queue (content after beacon) traffic for each VAP as well as TIM/ATIM handling. Short answer is: I've not sat down and audited or stress tested this code at all. If people are interested in jumping into the driver code and getting their hands dirty then please say so and I'll brain-dump as much stuff as I can get my hands on. Adrian