Basic Linux wireless knowledge

Source: Internet
Author: User
1. Basic Concepts

• 80211: used to manage the configuration of wireless devices. Works with fullmac, mac80211, and nl80211. (Kernel state)

• Mac80211: A driver developer can use to write a driver to a softmac wireless device ).

• Nl80211: used for configuration management of wireless devices. It is a basic Netlink user-state protocol (User-state)

• Wnic: wireless network interface controller, which always expects hardware to execute the features described in protocols (such.

• Mlme: Media Access Control Layer Management Entity, which manages the MAC state machine of the physical layer.

• Softmac: Its mlme is implemented by software, and mac80211 provides a driver API for softmac implementation. That is, the softmac device allows better control of the hardware and allows 802.11 frame management by software, including parsing and generating 802.11 wireless frames. Currently, most 802.11 devices use softmac, but fewer fullmac devices.

• Fullmac: Its mlme is managed by hardware. When writing a fullmac wireless driver, mac80211 is not required.

• Wpa_supplicant: it is an application in the user space. It mainly initiates mlme commands and then processes related results.

2. 201780211

802.11 is the configuration API of Linux. 201780211 is used in the wext (Wireless-extensions) code. nl80211 is used to configure a 201780211 device and to communicate between kernel and userspace. Wext is currently in maintenance status. No new features are added, but only bugs are modified. To use wext, you must define config_201780211_wext.

Listen 80211 and nl80211: uses the Netlink Interface Based on the message mechanism

Wext: IOCTL-based mechanism

• Struct ieee80211_hw: hardware information and status

• Ieee80211_alloc_hw: Each driver calls ieee80211_alloc_hw to allocate ieee80211_hw, and uses ieee80211_ops as the parameter.

• Ieee80211_register_hw: Each driver calls ieee80211_register_hw to create wlan0 and wmaster0 and perform various initialization.

• Struct ieee80211_ops: Each driver implements its member functions, and its member functions use struct ieee80211_hw as the first parameter. 24 methods are defined in struct ieee80211_ops. The following seven methods must be implemented:
TX, start, stop, add_interface, remove_interface, config, and configure_filter.

3. mac80211

It is a driver framework that developers can use to write drivers for softmac wireless devices. mac80211 implements the listen 80211 callback function for softmac devices, and mac80211 registers and configures the network subsystem through the listen 80211. The configuration is implemented by ipv80211 through nl80211 and wext.

The location of mac80211 in the architecture is shown in:




4. Socket


Http://wireless.kernel.org/en/developers/Documentation/

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.