Wifi 802 11 n Support in Linux Vladimir

  • Slides: 42
Download presentation
Wifi 802. 11 n Support in Linux Vladimir Botka, Ph. D Software Developer SUSE

Wifi 802. 11 n Support in Linux Vladimir Botka, Ph. D Software Developer SUSE LINUX Gmb. H vbotka@suse. cz

IEEE Std 802. 11 n - 2009 ® October 2009 IEEE approved and published

IEEE Std 802. 11 n - 2009 ® October 2009 IEEE approved and published the 802. 11 n High throughput extension to the 802. 11 standard Wireless adapters can achieve throughput up to 300 Mbps Physical layer data rates of 600 Mbps

Overview Features Implementation Deployment Troubleshooting

Overview Features Implementation Deployment Troubleshooting

Features

Features

Overview of Features Physical layer diversity techniques Channel bonding Frame aggregation

Overview of Features Physical layer diversity techniques Channel bonding Frame aggregation

Overview of Features user space applications ---------------------------------nl 80211 | -----------------cfg 80211 | wext ---------------------------------mac

Overview of Features user space applications ---------------------------------nl 80211 | -----------------cfg 80211 | wext ---------------------------------mac 80211 ----------------------------------

Features Physical Layer Diversity Techniques Radio is sending and receiving with multiple antennas Multiple-input

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)

Features Physical Layer Diversity Techniques

Features Physical Layer Diversity Techniques

Features Channel Bonding Single channel is 20 MHz in width Two bonded channels are

Features Channel Bonding Single channel is 20 MHz in width Two bonded channels are 40 MHz wide Both in 2. 4 GHz and 5 GHz spectrum Limited number of non-overlapping channels in the 2. 4 GHz band (1, 6, 11)

Features Channel Bonding Channels in 2. 4 GHz band with 22 MHz bandwidth 802.

Features Channel Bonding Channels in 2. 4 GHz band with 22 MHz bandwidth 802. 11 b/g/n Only channels 1, 6, 11 without overlap Channel 1 2. . . 14 Frequency (MHz) 2412 2417 2484

Features Channel Bonding

Features Channel Bonding

Features Channel Bonding Channels in 5 GHz band with 20/40 MHz bandwidth 802. 11

Features Channel Bonding Channels in 5 GHz band with 20/40 MHz bandwidth 802. 11 a/n 40 channels in the frequency range 4915 – 5825 (Mhz) Many different restrictions Countries apply their own rules

Features Frame Aggregation Media Access Control (MAC) Transmit more data frames with “Block ACK”

Features Frame Aggregation Media Access Control (MAC) Transmit more data frames with “Block ACK” Burst Reduced overhead

Features Frame Aggregation

Features Frame Aggregation

Features Summary 600 Mbit/s physical transfer rate More antennas Max. 4 spatial streams using

Features Summary 600 Mbit/s physical transfer rate More antennas Max. 4 spatial streams using a 40 MHz-wide channel Preferably in 5 GHz band

Implementation

Implementation

Overview of Implementation kernel. org linuxwireless. org New core mac 80211 and cfg 80211

Overview of Implementation kernel. org linuxwireless. org New core mac 80211 and cfg 80211 components In-kernel nl 80211 configuration interface nl 80211 user-space applications

Implementation Hardware Physical layer (PHY) is implemented in the adapter Firmware delivered by the

Implementation Hardware Physical layer (PHY) is implemented in the adapter Firmware delivered by the producer http: //linuxwireless. org/en/users/Devices/ http: //intellinuxwireless. org/

Implementation kernel. org Source code development trees linux/kernel/git/pub/scm wireless-testing - On-going wireless integration tree

Implementation kernel. org Source code development trees linux/kernel/git/pub/scm wireless-testing - On-going wireless integration tree iwlwifi - Intel Wireless Wi. Fi Link driver net/wireless driver/net/wireless

Implementation wireless-testing linuxwireless. org mac 80211 subsystem for Soft. MAC wireless devices cfg 80211

Implementation wireless-testing linuxwireless. org mac 80211 subsystem for Soft. MAC wireless devices cfg 80211 new Linux wireless configuration API nl 80211 new 802. 11 netlink interface public header

Implementation cfg 80211 Driver for wifi adapter can use cfg 80211 operation callbacks and

Implementation cfg 80211 Driver for wifi adapter can use cfg 80211 operation callbacks and fill in the wiphy struct to store the device capabilities Bridges userspace and drivers

Implementation nl 80211 user-space applications Intended to replace Wireless-Extensions used by iw – manipulate

Implementation nl 80211 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 -Dnl 80211)

Deployment

Deployment

Overview of Deployment iw utility to manipulate and configure wireless devices crda central regulatory

Overview of Deployment iw utility to manipulate and configure wireless devices crda central regulatory domain agent wireless regulatory database changes to the configuration of open. SUSE

Deployment iw utility Can show and manipulate objects phy – physical layer of the

Deployment iw utility Can show and manipulate objects phy – physical layer of the device dev – network interface reg – regulatory database settings

Deployment iw utility can show/manipulate physical layer # iw phy <snip> Frequencies: * 2412

Deployment iw utility can show/manipulate physical layer # iw phy <snip> Frequencies: * 2412 MHz [1] (15. 0 d. Bm) * 2417 MHz [2] (15. 0 d. Bm) * 2422 MHz [3] (15. 0 d. Bm) * 2427 MHz [4] (15. 0 d. Bm) * 2432 MHz [5] (15. 0 d. Bm) * 2437 MHz [6] (15. 0 d. Bm) * 2442 MHz [7] (15. 0 d. Bm) * 2447 MHz [8] (15. 0 d. Bm) * 2452 MHz [9] (15. 0 d. Bm) * 2457 MHz [10] (15. 0 d. Bm)

Deployment iw utility can manipulate devices # iw dev phy#0 Interface wlan 0 ifindex

Deployment iw utility can manipulate devices # iw dev phy#0 Interface wlan 0 ifindex 3 type managed

Deployment iw utility can manipulate regulatory settings # iw reg set DE # iw

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

Deployment crda central regulatory domain agent intended to be used by udev scripts triggered

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"

Deployment wireless regulatory database wireless-regdb. rpm Provides regulatory. bin file wireless. kernel. org/download/wireless-regdb/ Integrity

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

Deployment changes to the configuration of open. SUSE /etc/sysconfig/network/config WIRELESS_WPA_DRIVER='wext' by default will be

Deployment changes to the configuration of open. SUSE /etc/sysconfig/network/config WIRELESS_WPA_DRIVER='wext' by default will be replaced with WIRELESS_WPA_DRIVER='nl 80211' for wlan drivers that are nl 80211 ready WIRELESS_REGULATORY_DOMAIN=''

Deployment summary of changes in the user-space g-standard -------iwconfig wpa_supplicant -D wext n-standard -------iw

Deployment summary of changes in the user-space g-standard -------iwconfig wpa_supplicant -D wext n-standard -------iw wpa_supplicant -D nl 80211 crda wireless-regdb

Troubleshooting

Troubleshooting

Overview of Troubleshooting Network. Manager, wpa_supplicant, ifup/ifdown Interface setup to sniff the packets wireshark

Overview of Troubleshooting Network. Manager, wpa_supplicant, ifup/ifdown Interface setup to sniff the packets wireshark bugzilla. novell. com

Troubleshooting Network. Manager, wpa_supplicant, ifup/ifdown en. opensuse. org/SDB: Tracking_down_wireless_problems Try to reduce the complexity

Troubleshooting Network. Manager, wpa_supplicant, ifup/ifdown en. opensuse. org/SDB: Tracking_down_wireless_problems Try to reduce the complexity and localize the problem /var/log/Network. Manager /var/log/wpa_supplicant /var/log/messages

Troubleshooting Set debug options Wlan driver options > modinfo iwlagn | grep parm Set

Troubleshooting Set debug options Wlan driver options > modinfo iwlagn | grep parm Set debug option > cat /etc/modprobe. d/50 -iwlagn. conf options iwlagn debug=0 xffff

Troubleshooting Interface setup to sniff the packets > iw dev wlan 0 del >

Troubleshooting Interface setup to sniff the packets > iw dev wlan 0 del > iw phy 0 interface add mon 0 type monitor > iw dev mon 0 info > ifconfig mon 0 up > tcpdump -i mon 0 -w dump

Troubleshooting wireshark. rpm > wireshark dump

Troubleshooting wireshark. rpm > wireshark dump

Troubleshooting bugzilla. novell. com open. SUSE bug reports can be posted to bugzilla. novell.

Troubleshooting bugzilla. novell. com open. SUSE bug reports can be posted to bugzilla. novell. com

Have Fun !

Have Fun !

Unpublished Work of Novell, Inc. All Rights Reserved. This work is an unpublished work

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.