Download presentation
Presentation is loading. Please wait.
Published byMorgan Cox Modified over 9 years ago
1
Wifi 802.11n Support in Linux Vladimir Botka, PhD Software Developer SUSE LINUX GmbH vbotka@suse.cz
2
IEEE Std 802.11n ® - 2009 October 2009 IEEE approved and published the 802.11n High throughput extension to the 802.11 standard Wireless adapters can achieve throughput up to 300 Mbps Physical layer data rates of 600 Mbps
3
Overview Features Implementation Deployment Troubleshooting
4
Features
5
Overview of Features Physical layer diversity techniques Channel bonding Frame aggregation
6
Overview of Features user space applications ------------------------------------------------------------------- nl80211 | ----------------------------------- cfg80211 | wext ------------------------------------------------------------------- mac80211 ------------------------------------------------------------------- wifi driver ------------------------------------------------------------------- physical layer
7
Features Physical Layer Diversity Techniques Radio is sending and receiving with multiple antennas Multiple-input and multiple-output (MIMO) Spatial multiplexing Maximum Ratio Combining (MRC) Improved Signal to Noise Ratio (SNR)
8
Features Physical Layer Diversity Techniques
9
Features Channel Bonding Single channel is 20MHz in width Two bonded channels are 40MHz wide Both in 2.4GHz and 5GHz spectrum Limited number of non-overlapping channels in the 2.4GHz band (1,6,11)
10
Features Channel Bonding Channels in 2.4 GHz band with 22MHz bandwidth 802.11 b/g/n Only channels 1,6,11 without overlap ChannelFrequency (MHz) 1 2412 2 2417... 14 2484
11
Features Channel Bonding
12
Channels in 5 GHz band with 20/40MHz bandwidth 802.11 a/n 40 channels in the frequency range 4915 – 5825 (Mhz) Many different restrictions Countries apply their own rules
13
Features Frame Aggregation Media Access Control (MAC) Transmit more data frames with “Block ACK” Burst Reduced overhead
14
Features Frame Aggregation
15
Features Summary 600Mbit/s physical transfer rate More antennas Max. 4 spatial streams using a 40MHz-wide channel Preferably in 5GHz band
16
Implementation
17
Overview of Implementation kernel.org linuxwireless.org New core mac80211 and cfg80211 components In-kernel nl80211 configuration interface nl80211 user-space applications
18
Implementation Hardware Physical layer (PHY) is implemented in the adapter Firmware delivered by the producer http://linuxwireless.org/en/users/Devices/ http://intellinuxwireless.org/
19
Implementation kernel.org Source code development trees linux/kernel/git/pub/scm wireless-testing - On-going wireless integration tree iwlwifi - Intel Wireless WiFi Link driver net/wireless driver/net/wireless
20
Implementation wireless-testing linuxwireless.org mac80211subsystem for SoftMAC wireless devices cfg80211 new Linux wireless configuration API nl80211 new 802.11 netlink interface public header
21
Implementation cfg80211 Driver for wifi adapter can use cfg80211 operation callbacks and fill in the wiphy struct to store the device capabilities Bridges userspace and drivers
22
Implementation nl80211 user-space applications Intended to replace Wireless-Extensions used by iw – manipulate configuration of wireless devices crda – central regulatory domain agent hostapd – AP implentation with authentication wpa_supplicant (with -Dnl80211)
23
Deployment
24
Overview of Deployment iw utility to manipulate and configure wireless devices crda central regulatory domain agent wireless regulatory database changes to the configuration of openSUSE
25
Deployment iw utility Can show and manipulate objects phy – physical layer of the device dev – network interface reg – regulatory database settings
26
Deployment iw utility can show/manipulate physical layer # iw phy Frequencies: * 2412 MHz [1] (15.0 dBm) * 2417 MHz [2] (15.0 dBm) * 2422 MHz [3] (15.0 dBm) * 2427 MHz [4] (15.0 dBm) * 2432 MHz [5] (15.0 dBm) * 2437 MHz [6] (15.0 dBm) * 2442 MHz [7] (15.0 dBm) * 2447 MHz [8] (15.0 dBm) * 2452 MHz [9] (15.0 dBm) * 2457 MHz [10] (15.0 dBm) * 2462 MHz [11] (15.0 dBm) * 2467 MHz [12] (15.0 dBm) (passive scanning, no IBSS) * 2472 MHz [13] (15.0 dBm) (passive scanning, no IBSS)
27
Deployment iw utility can manipulate devices # iw dev phy#0 Interface wlan0 ifindex 3 type managed
28
Deployment iw utility can manipulate regulatory settings # iw reg set DE # iw reg get country DE: (2400 - 2483 @ 40), (N/A, 20) (5150 - 5350 @ 40), (N/A, 20), NO-OUTDOOR, DFS (5470 - 5725 @ 40), (N/A, 26), NO-OUTDOOR, DFS
29
Deployment crda central regulatory domain agent intended to be used by udev scripts triggered by the wireless kernel subsystem regulatory domain is read by crda from the regulatory.bin file > cat /lib/udev/rules.d/85-regulatory.rules KERNEL=="regulatory*", ACTION=="change", SUBSYSTEM=="platform", RUN+="/sbin/crda"
30
Deployment wireless regulatory database wireless-regdb.rpm Provides regulatory.bin file wireless.kernel.org/download/wireless-regdb/ Integrity of regulatory file is ensured by signing
31
Deployment changes to the configuration of openSUSE /etc/sysconfig/network/config WIRELESS_WPA_DRIVER='wext' by default will be replaced with WIRELESS_WPA_DRIVER='nl80211' for wlan drivers that are nl80211 ready WIRELESS_REGULATORY_DOMAIN='' Yast2 network changes
32
Deployment summary of changes in the user-space g-standard n-standard --------------- iwconfig iw wpa_supplicant -D wext wpa_supplicant -D nl80211 crda wireless-regdb
33
Troubleshooting
34
Overview of Troubleshooting NetworkManager, wpa_supplicant, ifup/ifdown Interface setup to sniff the packets wireshark bugzilla.novell.com
35
Troubleshooting NetworkManager, wpa_supplicant, ifup/ifdown en.opensuse.org/SDB:Tracking_down_wireless_problems Try to reduce the complexity and localize the problem /var/log/NetworkManager /var/log/wpa_supplicant /var/log/messages
36
Troubleshooting Set debug options Wlan driver options > modinfo iwlagn | grep parm Set debug option > cat /etc/modprobe.d/50-iwlagn.conf options iwlagn debug=0xffffffff
37
Troubleshooting Interface setup to sniff the packets > iw dev wlan0 del > iw phy phy0 interface add mon0 type monitor > iw dev mon0 info > ifconfig mon0 up > tcpdump -i mon0 -w dump
38
Troubleshooting wireshark wireshark.rpm > wireshark dump
39
Troubleshooting bugzilla.novell.com openSUSE bug reports can be posted to bugzilla.novell.com
40
Have Fun !
42
Unpublished Work of Novell, Inc. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary, and trade secret information of Novell, Inc. Access to this work is restricted to Novell employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of Novell, Inc. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability. General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. Novell, Inc. makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for Novell products remains at the sole discretion of Novell. Further, Novell, Inc. reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All Novell marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.