From owner-freebsd-wireless@FreeBSD.ORG Sat Nov 5 03:09:03 2011 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1037106564A for ; Sat, 5 Nov 2011 03:09:03 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-vx0-f182.google.com (mail-vx0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id 935D98FC0C for ; Sat, 5 Nov 2011 03:09:03 +0000 (UTC) Received: by vcbfo14 with SMTP id fo14so2618653vcb.13 for ; Fri, 04 Nov 2011 20:09:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=9tJioXxDG54ZB2V8ivWUsDK/iC+nOhEdAOrLq9sXyEo=; b=BBSXjlJw0Pm49zAkrHuKG9wd2uY7aLeRynMe/FR+ZhEkzLcYKAWYodNjmHtZAxoHBv gt+BR9zkatzsJH0rR0wGa+/u4WeCo9bl6IsQf8sV8Hk5ZiexG5l7GTUA1YmVOW3i8+Mb ev2kwquA0Jdp3Xp0SFxofE/foCE2IBxA1T4dI= MIME-Version: 1.0 Received: by 10.52.76.69 with SMTP id i5mr17629791vdw.4.1320462542836; Fri, 04 Nov 2011 20:09:02 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.52.29.198 with HTTP; Fri, 4 Nov 2011 20:09:02 -0700 (PDT) Date: Fri, 4 Nov 2011 20:09:02 -0700 X-Google-Sender-Auth: zPZqhzoL_qIGZnd-4hsQ3q6fL8k Message-ID: From: Adrian Chadd To: freebsd-wireless@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: update - new hal flag to force a full chip reset 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: Sat, 05 Nov 2011 03:09:03 -0000 Hi, I'm getting closer to teaching the HAL to handle interference better for AR9220/AR9280 and later chips. I'll commit some more code soon once I've finalised what's going on. The dual-band AR9280's (PCIe) seem behave better (ie, no OFDM/CCK errors, very few stuck conditions) with the HAL which shipped with FreeBSD-8. I'm going to trace down why that is, hopefully it's something that can easily be fixed. In the meantime, I've added a new flag - force_full_reset - which forces a full chip reset upon channel change or reset, rather than a warm reset. Merlin seems to benefit from this - it stops the NIC from staying in a stuck state once it gets there. Unfortunately i haven't fixed the throughput or stuck beacon issue. For whatever reason, the NIC still reports what look like very high noise floor levels, and when it _does_ get enough NF samples that look right (and are lower, around -100 to -110) then it suddenly thinks the air is constantly busy. That's why you see stuck beacons and crappy performance. I'm still trying to figure out whether it's the problem or the symptom. In any case, I'll try to get this stuff stable rather than high-performing, then merge the rest of the 11n stuff back into -HEAD. I don't have much else to suggest at this point (until I figure out what's wrong) but I won't be dwelling too much longer on this. I really need to concentrate on merging the 11n TX stuff into FreeBSD-HEAD before I continue hacking on this. Good luck, and thanks to everyone who has been testing my code out! Adrian