CFT: 11n support for iwn(4)
Brandon Gooch
jamesbrandongooch at gmail.com
Mon May 2 07:34:33 UTC 2011
2011/5/2 Bernhard Schmidt <bschmidt at freebsd.org>:
> On Sunday, May 01, 2011 23:36:56 Brandon Gooch wrote:
>> On Sun, May 1, 2011 at 8:24 AM, Bernhard Schmidt <bschmidt at freebsd.org> 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 1 14:38:15 x300 kernel: wlan0: received beacon from
>> 00:1d:0f:d3:fb:cc rssi 47
>> May 1 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: <Intel(R) Wireless WiFi Link 4965> 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<bingo> RATES<B2,B4,B11,B22,12,18,24,36> DSPARMS<11>
RSN<v1 mc:AES-CCMP uc:AES-CCMP km:8021X-PSK> WPA<v1 mc:AES-CCMP
uc:AES-CCMP km:8021X-PSK> ERP<0x0> XRATES<48,72,96,108> WME<qosinfo
0x5 BE[aifsn 3 cwmin 4 cwmax 10 txop 0] BK[aifsn 7 cwmin 4 cwmax 10
txop 0] VO[aifsn 2 cwmin 3 cwmax 4 txop 94] VI[aifsn 2 cwmin 2 cwmax 3
txop 47]> VEN<dd1e00904c334e101bffff000000000000-> HTCAP<cap 0x104e
param 0x1b mcsset[0-15] extcap 0x0 txbf 0x0 antenna 0x0>
VEN<dd1a00904c340b0f0a0000000000000000-> HTINFO<ctl 11, f,a,0,0
basicmcs[]> ATH<0x7fff> VEN<dd0a00037f04010004000000>
-Brandon
More information about the freebsd-net
mailing list