From owner-freebsd-wireless@FreeBSD.ORG Sat Mar 9 18:54:56 2013 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D163296B for ; Sat, 9 Mar 2013 18:54:56 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wg0-f43.google.com (mail-wg0-f43.google.com [74.125.82.43]) by mx1.freebsd.org (Postfix) with ESMTP id 4CA8B646 for ; Sat, 9 Mar 2013 18:54:56 +0000 (UTC) Received: by mail-wg0-f43.google.com with SMTP id e12so3747710wge.22 for ; Sat, 09 Mar 2013 10:54:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:date:x-google-sender-auth:message-id :subject:from:to:content-type; bh=Xf9o2SjZ6tr3uzbsV8fMvtGYtW7hVmWqmrtPzxLYUdU=; b=ORFPLLMzes8NAONIXP6tJW02tunJnXOGoJeFM5JHyTaytSHTWjIyasDsruOs719cZ2 qSf2raIQ99VSzDR4Ev5kiKHrrL98isYgqctwtBY1Z50//W5Btl/lGPIoY1RhsxRZWpSN F0Ztbmwmffttk4sX7U6NWsy8g9mfRKKx22TmCgpZPvlAYINluv3S6bdfLMrKlxVGiWh2 KBEG5IVL79HT+BiG8GGgoecEp3vu5v47HqHcyGREVg/C2w1Cb0f+BJXCM+/AKa4O8co2 Uvkm3Uq7+WKj5nfoQLxQDHzfvnCqsUEai2W5z2sUOqFTP7QrqKIMf9edoHZQvGdbn1UP iB1w== MIME-Version: 1.0 X-Received: by 10.180.97.233 with SMTP id ed9mr4589415wib.32.1362855295128; Sat, 09 Mar 2013 10:54:55 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.216.111.201 with HTTP; Sat, 9 Mar 2013 10:54:54 -0800 (PST) Date: Sat, 9 Mar 2013 10:54:54 -0800 X-Google-Sender-Auth: YXK9wkkQUm5jhIRYebCAc9KRNJ0 Message-ID: Subject: Fine, OK, here's my initial AR9380/AR9485 support From: Adrian Chadd To: freebsd-wireless@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.14 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: Sat, 09 Mar 2013 18:54:56 -0000 I finally got the legal all-clear to push this open source version of the QCA mainline HAL into open source. So, without further ado: https://github.com/qca/ The open HAL is there. I then forked it: https://github.com/erikarn/qcamain_open_hal_public .. and then I created a branch, called local/freebsd, which has the FreeBSD specific changes needed to make this thing work. Now, I'm going to prefix this by saying: "This stuff can break your hardware. Only run it if you're willing to debug and diagnose issues. Yes, this means you. I don't take any responsibility for your equipment or whether this breaks the RF around you. Don't be a dick. It's your responsibility." What's tested: * legacy, 1x1 and 2x2 HT20/HT40, STA mode * AR9380 (1x1, 2x2 - 2/5ghz) * AR9485 (1x1, 2ghz only) What's not tested: * Any hostap, mesh, tdma, adhoc modes * _ANY_ 3x3 operation * .. pretty much everything. * ar9390/ar9590/ar9462 - but they _SHOULD_ work! There's a lot missing. There's no MSI support just yet. There's no optimal TX or RX path just yet. There's likely all kinds of weird behaviour in AP mode. Heck, STA mode is likely full of hilarity. ANI is full of hacks just so I don't have to finish writing it up. The statistics counters are likely somewhat whacked, as I've stubbed some of those functions out too. There's no PAPRD calibration, so you won't get full TX power at the higher TX rates. Heck, the TX power may even be totally garbage; I haven't yet sat down and written an EVM test suite to check that everything is fine. So if you want to test it - please note that I'm not going to be able to help you figure out what is or isn't working. I'm still busy fixing up other issues on previous NICs. But the code is here; I'll take debugging, diagnostics and diffs. :-) So, the 30 second version: * Clone this: https://github.com/erikarn/qcamain_open_hal_public * switch to the local/freebsd branch * Do this in your -HEAD checkout: $ cd sys/dev/ath/ath_hal/ar9003/ $ ln -s /path/to/git/qcamain_open_hal_public/hal/ar9300/* . * Edit the ath makefile - sys/modules/ath/Makefile - and remove the comments in front of the AR9300 .PATH and SRCS lines * Rebuild your kernel/modules I'm not going to whack this into -HEAD until I've finished off some other stuff. But it's there, and it's public. Adrian