From owner-freebsd-wireless@FreeBSD.ORG Mon May 2 07:34:33 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 AD0A2106566B; Mon, 2 May 2011 07:34:33 +0000 (UTC) (envelope-from jamesbrandongooch@gmail.com) Received: from mail-ww0-f42.google.com (mail-ww0-f42.google.com [74.125.82.42]) by mx1.freebsd.org (Postfix) with ESMTP id E011D8FC0A; Mon, 2 May 2011 07:34:32 +0000 (UTC) Received: by wwk4 with SMTP id 4so2082713wwk.1 for ; Mon, 02 May 2011 00:34:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=U7V1XKwxuyRW4EJiHLzpnceFZnNj3MU9m09Ian1SsdQ=; b=JzuIycjlxKZFc6E8qWrqsc4caMNTKKroOeMsNrEmNwqZDhR6PX3q21UPy9btBrkzrB 7uqJh5Piw5tzkAnrY/LgiBHLJvC6Bdo6NZhVcCGhAlW8bG8tHhzMPIakz2vF92wBn5Dw gFaaNvzkSGs15bBli/7qFO9wKxleA/09+CrVU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=BmD13G+bd8FE9ix3u+SNXiI9J/TbBAr/FJ3rsyeOvyqRNdVvgaUCuWWulcxiHV5kIV XLfuFcigtRvqItjT+mE72WCAIobwn3mdLSrC5Yq1H2LcwMkVQlBBLc74Qnbim0XoAx83 nhCoD+vd/A4z7vbSvNZHZxX6DE8+El1u6k8/I= MIME-Version: 1.0 Received: by 10.216.242.134 with SMTP id i6mr2244207wer.81.1304321671656; Mon, 02 May 2011 00:34:31 -0700 (PDT) Received: by 10.216.17.213 with HTTP; Mon, 2 May 2011 00:34:31 -0700 (PDT) In-Reply-To: <201105020908.27740.bschmidt@freebsd.org> References: <201105011319.30649.bschmidt@freebsd.org> <201105011524.09613.bschmidt@freebsd.org> <201105020908.27740.bschmidt@freebsd.org> Date: Mon, 2 May 2011 02:34:31 -0500 Message-ID: From: Brandon Gooch To: bschmidt@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-net@freebsd.org, freebsd-wireless@freebsd.org Subject: Re: CFT: 11n support for iwn(4) 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: Mon, 02 May 2011 07:34:33 -0000 2011/5/2 Bernhard Schmidt : > On Sunday, May 01, 2011 23:36:56 Brandon Gooch wrote: >> On Sun, May 1, 2011 at 8:24 AM, Bernhard Schmidt = wrote: >> > On Sunday 01 May 2011 13:19:30 Bernhard Schmidt wrote: >> >> Hi, >> >> >> >> I finally managed to get the 11n bits for iwn(4) sorted out. Well, >> >> there is still an issue somewhere with HT40 frame protection or >> >> TX chain setup on 5000 adapters, resulting in throughput not being >> >> that stable. But overall it seems to work pretty decently >> >> >> >> This is for HEAD only right now, net80211 in stable/8 does not yet >> >> contain the latest 11n related fixes. So, if you run HEAD and have >> >> some iwn(4) hardware, I'd appreciate feedback. >> >> .. >> > >> > Updated version, I've missed a locking issue. >> > >> > -- >> > Bernhard >> >> Thanks for working on this Bernhard! >> >> Unfortunately, I'm having trouble achieving HT rates. >> >> After 'wlandebug 0xffffffff', lots of: >> ... >> May =A01 14:38:15 x300 kernel: wlan0: received beacon from >> 00:1d:0f:d3:fb:cc rssi 47 >> May =A01 14:38:15 x300 kernel: wlan0: [00:1d:0f:d3:fb:cc] discard beacon >> frame, ie too short, got 26, expected 30 >> ... >> >> I've attached relevant debugging information, but let me know if there >> may be anything else that could help. I need to work on DTracing >> net80211, any tips on relevant function traces? > > Attachment seems to be missing? I'll send the attachment again, directly to you, bypassing the list... > I'd start of with enabling bootverbose to figure out if your adapter > supports 11n at all. iwn0: mem 0xf9f00000-0xf9f01fff irq 17 at device 0.0 on pci3 iwn0: attempting to allocate 1 MSI vectors (1 supported) msi: routing MSI IRQ 259 to local APIC 0 vector 55 iwn0: using IRQ 259 for MSI iwn0: MIMO 2T3R, MoW1, address 00:1f:3b:28:30:c5 iwn0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps iwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps iwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps iwn0: 2T3R iwn0: 11na MCS 20MHz iwn0: MCS 0-7: 6.5Mbps - 65Mbps iwn0: MCS 8-15: 13Mbps - 130Mbps iwn0: 11na MCS 20MHz SGI iwn0: MCS 0-7: 7Mbps - 72Mbps iwn0: MCS 8-15: 14.5Mbps - 144.5Mbps iwn0: 11na MCS 40MHz: iwn0: MCS 0-7: 13.5Mbps - 135Mbps iwn0: MCS 8-15: 27Mbps - 270Mbps iwn0: 11na MCS 40MHz SGI: iwn0: MCS 0-7: 15Mbps - 150Mbps iwn0: MCS 8-15: 30Mbps - 300Mbps iwn0: 11ng MCS 20MHz iwn0: MCS 0-7: 6.5Mbps - 65Mbps iwn0: MCS 8-15: 13Mbps - 130Mbps iwn0: 11ng MCS 20MHz SGI iwn0: MCS 0-7: 7Mbps - 72Mbps iwn0: MCS 8-15: 14.5Mbps - 144.5Mbps iwn0: 11ng MCS 40MHz: iwn0: MCS 0-7: 13.5Mbps - 135Mbps iwn0: MCS 8-15: 27Mbps - 270Mbps iwn0: 11ng MCS 40MHz SGI: iwn0: MCS 0-7: 15Mbps - 150Mbps iwn0: MCS 8-15: 30Mbps - 300Mbps >There are some where the 11n bits have been > disabled. Next thing would be to check with > % ifconfig -v wlan0 list chan I think you may be right about this, despite the dmesg output, as I see no 11n listed in the output: # ifconfig -v wlan0 list chan Channel 1 : 2412 MHz 11b Channel 40 : 5200* MHz 11a Channel 1 : 2412 MHz 11g Channel 40 : 5200* MHz 11a ht/20 Channel 1 : 2412 MHz 11g ht/20 Channel 40 : 5200* MHz 11a ht/40- Channel 2 : 2417 MHz 11b Channel 44 : 5220* MHz 11a Channel 2 : 2417 MHz 11g Channel 44 : 5220* MHz 11a ht/20 Channel 2 : 2417 MHz 11g ht/20 Channel 44 : 5220* MHz 11a ht/40+ Channel 3 : 2422 MHz 11b Channel 48 : 5240* MHz 11a Channel 3 : 2422 MHz 11g Channel 48 : 5240* MHz 11a ht/20 Channel 3 : 2422 MHz 11g ht/20 Channel 48 : 5240* MHz 11a ht/40- Channel 4 : 2427 MHz 11b Channel 52 : 5260* MHz 11a Channel 4 : 2427 MHz 11g Channel 52 : 5260* MHz 11a ht/20 Channel 4 : 2427 MHz 11g ht/20 Channel 52 : 5260* MHz 11a ht/40+ Channel 5 : 2432 MHz 11b Channel 56 : 5280* MHz 11a Channel 5 : 2432 MHz 11g Channel 56 : 5280* MHz 11a ht/20 Channel 5 : 2432 MHz 11g ht/20 Channel 56 : 5280* MHz 11a ht/40- Channel 6 : 2437 MHz 11b Channel 60 : 5300* MHz 11a Channel 6 : 2437 MHz 11g Channel 60 : 5300* MHz 11a ht/20 Channel 6 : 2437 MHz 11g ht/20 Channel 60 : 5300* MHz 11a ht/40+ Channel 7 : 2442 MHz 11b Channel 64 : 5320* MHz 11a Channel 7 : 2442 MHz 11g Channel 64 : 5320* MHz 11a ht/20 Channel 7 : 2442 MHz 11g ht/20 Channel 64 : 5320* MHz 11a ht/40- Channel 8 : 2447 MHz 11b Channel 149 : 5745* MHz 11a Channel 8 : 2447 MHz 11g Channel 149 : 5745* MHz 11a ht/20 Channel 8 : 2447 MHz 11g ht/20 Channel 149 : 5745* MHz 11a ht/40+ Channel 9 : 2452 MHz 11b Channel 153 : 5765* MHz 11a Channel 9 : 2452 MHz 11g Channel 153 : 5765* MHz 11a ht/20 Channel 9 : 2452 MHz 11g ht/20 Channel 153 : 5765* MHz 11a ht/40- Channel 10 : 2457 MHz 11b Channel 157 : 5785* MHz 11a Channel 10 : 2457 MHz 11g Channel 157 : 5785* MHz 11a ht/20 Channel 10 : 2457 MHz 11g ht/20 Channel 157 : 5785* MHz 11a ht/40+ Channel 11 : 2462 MHz 11b Channel 161 : 5805* MHz 11a Channel 11 : 2462 MHz 11g Channel 161 : 5805* MHz 11a ht/20 Channel 11 : 2462 MHz 11g ht/20 Channel 161 : 5805* MHz 11a ht/40- Channel 36 : 5180* MHz 11a Channel 165 : 5825* MHz 11a Channel 36 : 5180* MHz 11a ht/20 Channel 165 : 5825* MHz 11a ht/20 Channel 36 : 5180* MHz 11a ht/40+ > if the HT channel setup works, if so it should list several HT20/HT40 > channels. With > % wlanconfig +11n # wlandebug +11n May 2 02:22:24 x300 kernel: wlan0: [00:1d:0f:d3:fb:cc] discard MPDU frame, BA win <268:331> (0 frames) rxseq 267 tid 0 (retransmit) May 2 02:22:28 x300 kernel: wlan0: [00:1d:0f:d3:fb:cc] discard MPDU frame, BA win <336:399> (0 frames) rxseq 335 tid 0 (retransmit) May 2 02:22:28 x300 kernel: wlan0: [00:1d:0f:d3:fb:cc] discard MPDU frame, BA win <393:456> (0 frames) rxseq 392 tid 0 (retransmit) May 2 02:22:28 x300 kernel: wlan0: [00:1d:0f:d3:fb:cc] discard MPDU frame, BA win <406:469> (0 frames) rxseq 405 tid 0 (retransmit) > you should at least see something like "Switching channel to HT20" > right before moving into RUN state. Also, does > % ifconfig wlan0 list scan > show HTCAP for the AP you're associating too? # ifconfig -v wlan0 list scan bingo 00:1d:0f:d3:fb:cc 11 54M -71:-95 100 EPS SSID RATES DSPARMS<11> RSN WPA ERP<0x0> XRATES<48,72,96,108> WME VEN HTCAP VEN HTINFO ATH<0x7fff> VEN -Brandon