From owner-freebsd-wireless@freebsd.org Fri Dec 23 01:32:51 2016 Return-Path: Delivered-To: freebsd-wireless@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9D6E0C8C94C for ; Fri, 23 Dec 2016 01:32:51 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-wj0-x22e.google.com (mail-wj0-x22e.google.com [IPv6:2a00:1450:400c:c01::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 36AE61AF1 for ; Fri, 23 Dec 2016 01:32:51 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-wj0-x22e.google.com with SMTP id tq7so4488213wjb.0 for ; Thu, 22 Dec 2016 17:32:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:from:date:message-id:subject:to; bh=GXYCS7rPsklnsjsEda6v4lFOjNf8IOwB37yh7LrcF8I=; b=p5wBTq+W/AjAvtRKVEuaWGDj05RGlZP+pNsIXKQh5FpHTIbh4gBeaDasTb2mY9ePvd 16iHWbbzvJrvc+xm4w0FIiaptHSA14db1f3opYjw1ZU7vCv70/OoDibp/Z0gzb0FEkwp w2D5bh4nVYCb0E4rUL7d3pIlfJTFuTxZn8mxlvl1OdSfWForrNLrUSi4PRWb+GUeTDvF BtQRlzXdE6jOa6nFlyq+ILnOqe2VHeFDpRWCeosuOoYC+gAjsOaQnfabPx0BrlbWKJE0 tJA+wZpuNM0AqJApF1VxFMw1PV8GDgUsA3SiN1/ElXzHdGTBgXUINaQoqvw7iJOe3xYg GQMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=GXYCS7rPsklnsjsEda6v4lFOjNf8IOwB37yh7LrcF8I=; b=Q52oGMeEGxLVENQnaDbmATYH0BN0N8OHLQeIvS0Nd7jtsp+PmsOXzWH16/G5rTphrM VaI4rCoOSr7Xkrw0eTDxxb1LlqqyPIkrgjJL4RjsthaSU8HBEX/iGMk3mL3nJdQWg+pi L2NEBiOOnrBy9svk/0LmnqYFHpbqkLd9/V1Y8adYT6sse/tfdwGTzXf8XhTtrPzoOgor kYKH31eFhtZDNMwpFdzPXL/4kDf2+qwsWF/Jo0Hnb2va8mm46fVrj/5klPkq4DTj18RD hx5ONlTriMAi2IGN1GhvYKu5365dQLAmhz1Zs0LIMyeQpuZn/jbXpxOEvyHoJ7EPsU/c 9LxQ== X-Gm-Message-State: AIkVDXKsoekXaTEEoxiHCr+k7i5S4MdwCi7BvlhzXJ58x09FXgRVa9P2xWS2D778EUSgJRLmy37qR/e7wyr11Q== X-Received: by 10.194.205.34 with SMTP id ld2mr11038768wjc.211.1482456769278; Thu, 22 Dec 2016 17:32:49 -0800 (PST) MIME-Version: 1.0 Sender: adrian.chadd@gmail.com Received: by 10.194.44.1 with HTTP; Thu, 22 Dec 2016 17:32:48 -0800 (PST) From: Adrian Chadd Date: Thu, 22 Dec 2016 17:32:48 -0800 X-Google-Sender-Auth: fHJUZCpduFUHa9qdth1hNROhHPk Message-ID: Subject: alpha testing - ath10k driver To: "freebsd-wireless@freebsd.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.23 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, 23 Dec 2016 01:32:51 -0000 hiya, I'm finally at the point where I'm happy to share my driver progress with people. I've been working on an ath10k port since october last year. there's .. a lot of stuff to port, and quite a bit of the ath10k functionality required net80211 changes. It's been a long trip but I'm happy to say that it's actually mostly working for me. There are a lot of sharp edges - there's no firmware restart support yet, there are lots of busdma things that need fixing, and the TX performance isn't completely up to scratch - but if you have the hardware and you're interested in trying it out, you're more than welcome to. The driver is at https://github.com/erikarn/athp/ . There are no instructions yet on including it in a tree and building it - I suggest reading the build_module script to point it at the right subdirectories so you can run build_modules. It's up to you to then install the modules in /boot/modules/. What does work: * QCA9880 (peregrine) v2 support * STA and hostap mode * open, CCMP, TKIP, WPA, WPA2 * monitor mode (RX) * 11abgn mode What half works: * WEP half works in STA mode. You have to re-plumb the keys once the VAP is up as I haven't yet added the net80211 support to do what's required to make things fully work * TX path isn't optimal - lots of stupid locking abound and limits throughput * There are lock ordering and busdma locking issues that will log complains in -HEAD. I'll eventually fix those. * hostap mode frames need buffering before the node creation completes - so the first association attempt from a station always fails. What doesn't work (yet): * the driver notionally supports QCA99x0 (beeliner) and QCA6174 (rome), but I haven't yet fixed things up to support these * (I have hardware, so I will likely fix things up for these two NICs. Importantly beeliner is the first 4x4 NIC freebsd will support) * IBSS * 11s mesh * monitor mode injection * firmware restart / suspend/resume - important for when the firmware crashes * more than one VAP - no multi-BSS support just yet * regulatory support defaults to "obey net80211"; I haven't yet populated a map of EEPROM codes to net80211 country codes. What requires net80211 support (and is the reason I'm porting this driver): * No 11ac support yet - that's coming * No p2p support - that's coming * No TDLS support - that's coming Known firmware issues: * If you run an 11abg STA (no 11n) then the firmware may/will panic. It's a bug in the peregrine v2 firmware. The 10.1 firmware from Ben Greear works fine (that's installed as firmware-2.bin.) * 11n (2g / 5g) STA works fine for the above If you're interested in playing with it then please give it a go and report back on the list. I'll post some more updates as I get further through the TODO list. Also note - the driver was forked from October 2015. New NICs have shown up since then. There are some later chipsets that I'd like to support, however at some point this year they changed the way the TX side works and that will require quite a bit of net80211 surgery. I'll likely apply patches up until this branch point just to minimise (as far as I can) upstream delta, and then I'll stop until net80211 gets updated. -adrian