Wireless Operating Modes

http://linuxwireless.org/en/users/Documentation/modes

 

A wireless interface always operates in one of the following operating modes. The mode sets the main functionality of the wireless link.

 

 

AccessPoint (AP) infrastructure mode

An Access Point acts as the Master device in a managed wireless network. It holds the network together by managing and maintaining lists of associated Stations. It also manages security policies. The network is named after the MAC-Address (BSSID) of the AP. The human readable name for the network, the SSID, is also set by the AP.

/!/ To use AP mode in Linux you need to use hostapd, at least a current 0.6 release, preferably from git. /!/Cf. http://wireless.erley.org

 

 

Station infrastructure mode

The Station device connects to an access point by sending certain management packets to it. This process is called the authentication and association. After the AP sent the successful association reply, the station is part of the network.

This mode is also called managed in the wireless extension tools (iwconfig et. al.)

 

Monitor mode

Monitor mode is a passive-only mode, no packets are transmitted. All incoming packets are handed over to the host computer completely unfiltered. This mode is useful to see what's going on on the network.

With mac80211, it is possible to have a network device in monitor mode in addition to a regular device, this is useful to observe the network whilst using it. However, not all hardware fully supports this as not all hardware can be configured to show all packets while in one of the other operating modes, monitor mode interfaces always work on a "best effort" basis.

With mac80211, it's also possible to transmit packets in monitor mode, which is known as packet injection. This is useful for applications that wish to implement MLME work in userspace, for example to support nonstandard MAC extensions of IEEE 802.11.

 

 

Ad-Hoc (IBSS) mode

The Ad-Hoc mode is used to create a wireless network without the need of having a Master Access Point in the network. Each station in an IBSS network is managing the network itself. Ad-Hoc is useful for connecting two or more computers to each other when no (useful) AP is around for this purpose.

 

 

Wireless Distribution System (WDS)

The Distribution System is the wired uplink connection to an AP. The Wireless Distribution System is the wireless equivalent to it. WDS serves as a wireless communication path between cooperating APs (usually in a single ESS), it can be used instead of cabling. Read iw WDS documentation for details on how to enable this, but also review and consider using 4-address mode.

 

 

Mesh

Mesh interfaces are used to allow multiple devices to communication with each other by establishing intelligent routes between each other dynamically.

Please see Wikipedia's entry on 802.11s. and Wireless mesh network(WMN).

In order to achieve mesh portal functionality, you can bridge a mesh interface with a regular ethernet interface.

include $(TOPDIR)/rules.mk PKG_NAME:=wifix PKG_RELEASE:=1 PKG_VERSION:=0.1 include $(INCLUDE_DIR)/package.mk define Package/wifix SECTION:=TP-LINK CATEGORY:=TP-LINK iplatform apps DEPENDS:=+common +lua +libjson +libjson-c +ubus +uci +libpthread +librt \ +IPF_PLATFORM_QCA:liblog +IPF_PLATFORM_BCM:libnvram +PACKAGE_libwpa_ctrl:libwpa_ctrl TITLE:=WifiX Application for wifi be config MAINTAINER:=TP-LINK endef define Package/wifix/description This Package supports wireless config deamon for wifi be endef TARGET_CPPFLAGS += \ -I$(STAGING_DIR)/usr/include \ -I$(STAGING_DIR)/usr/include/json \ -I$(STAGING_DIR)/usr/include/ibus \ -I$(STAGING_DIR)/usr/include/op_info TARGET_LDFLAGS += \ -L$(STAGING_DIR)/usr/lib WIFIX_MAKEOPT+= $(TARGET_CONFIGURE_OPTS) ifeq ($(CONFIG_IPF_PLATFORM_BCM),y) SDK_TARGET_DIR=$(TOPDIR)/$(CONFIG_LINUX_KERNEL_PATH)/../../targets/ SDK_WL_DIR = $(SDK_ROOT_DIR)/bcmdrivers/broadcom/net/wl/impl$(CONFIG_BCM_WLIMPL)/main INC1 = src/include INC2 = src/shared/bcmwifi/include INC3 = components/router/shared INC4 = components/wlioctl/include/ INC5 = components/proto/include/ WIFIX_MAKEOPT+=IPF_PLATFORM_BCM=1 TARGET_LDFLAGS += -L/$(SDK_TARGET_DIR)/../userspace/private/apps/wlan/unfnvram TARGET_CPPFLAGS += -I$(SDK_TARGET_DIR)/../userspace/private/apps/wlan/unfnvram TARGET_CPPFLAGS += -I$(SDK_WL_DIR)/$(INC1) -I$(SDK_WL_DIR)/$(INC2) -I$(SDK_WL_DIR)/$(INC3) -I$(SDK_WL_DIR)/$(INC4) -I$(SDK_WL_DIR)/$(INC5) TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libwpa_ctrl endif ifeq ($(CONFIG_IPF_PLATFORM_QCA),y) WIFIX_MAKEOPT+=IPF_PLATFORM_QCA=1 ifeq ($(CONFIG_AP135), y) WIFIX_MAKEOPT+=SDK_VERSION=ap135 endif ifeq ($(CONFIG_AP143), y) WIFIX_MAKEOPT+=SDK_VERSION=ap143 endif ifeq ($(CONFIG_AP152), y) WIFIX_MAKEOPT+=SDK_VERSION=ap152 endif ifeq ($(CONFIG_QSDK), y) WIFIX_MAKEOPT+=SDK_VERSION=qsdk endif ifeq ($(CONFIG_QCA_9_5_5_36), y) WIFIX_MAKEOPT+=DRIVER_VERSION_9_5_5_36=1 endif ifeq ($(CONFIG_QCA_10_2), y) WIFIX_MAKEOPT+=DRIVER_VERSION_10_2=1 endif ifeq ($(CONFIG_QCA_10_4), y) WIFIX_MAKEOPT+=DRIVER_VERSION_10_4=1 endif endif ifeq ($(CONFIG_CONF_METHOD), y) WIFIX_MAKEOPT+=CONFIG_CONF_METHOD=1 endif ifeq ($(CONFIG_WIFIAPI_SUPPORT), y) WIFIX_MAKEOPT+=CONFIG_WIFIAPI_SUPPORT=y endif TPAPPS_CFLAGS= ifeq ($(CONFIG_PACKAGE_wpsd), y) TPAPPS_CFLAGS+=-DTPAPPS_WPSD endif ifeq ($(CONFIG_MERCUSYS_TYPE_SUPPORT), y) TPAPPS_CFLAGS+=-DMERCUSYS_TYPE_SUPPORT endif #added by ZQQ ifeq ($(CONFIG_MESH_SUPPORT),y) TPAPPS_CFLAGS+=-DMESH_SUPPORT endif ifeq ($(CONFIG_PORTABLE_SUPPORT),y) TPAPPS_CFLAGS+=-DPORTABLE_SUPPORT endif ifeq ($(CERTIFY), 1) TPAPPS_CFLAGS+=-DCERTIFY_MODE endif ifeq ($(CONFIG_NETWORK_TIME_OPTIMIZATION),y) TPAPPS_CFLAGS+=-DNETWORK_TIME_OPTIMIZATION TARGET_LDFLAGS += -lpthread endif ifneq ($(CONFIG_IFNAME_ETH),) TPAPPS_CFLAGS+=-DIFNAME_ETH="\\\"$(CONFIG_IFNAME_ETH)\\\"" endif ifeq ($(strip $(CONFIG_TARGET_PRODUCT)),"Deco") INIT_SCRIPT=wifix_deco WIFIX_MAKEOPT+=CONFIG_LIBJSONC_VER=11 TP_TYPE=Deco else ifeq ($(strip $(CONFIG_TARGET_PRODUCT)),"Router") INIT_SCRIPT=wifix_router WIFIX_MAKEOPT+=CONFIG_LIBJSONC_VER=9 TP_TYPE=Router else ifeq ($(strip $(CONFIG_TARGET_PRODUCT)),"Portable") INIT_SCRIPT=wifix_router WIFIX_MAKEOPT+=CONFIG_LIBJSONC_VER=9 TP_TYPE=Router else ifeq ($(strip $(CONFIG_TARGET_PRODUCT)),"RE") INIT_SCRIPT=wifix_router WIFIX_MAKEOPT+=CONFIG_LIBJSONC_VER=11 TP_TYPE=RE endif define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) -u ./src/* $(PKG_BUILD_DIR)/ endef define Build/Compile CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS) $(TPAPPS_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ $(MAKE) -C $(PKG_BUILD_DIR) $(WIFIX_MAKEOPT) all endef ########################################### For QCA ########################################### ifeq ($(CONFIG_IPF_PLATFORM_QCA),y) ifdef CONFIG_PACKAGE_wireless-script_ARCH ARCH=$(call qstrip,$(CONFIG_PACKAGE_wireless-script_ARCH)) else ARCH="IPQ9574" endif ifdef CONFIG_PACKAGE_wireless-script_SDK_VERSION SDK_VERSION=$(call qstrip,$(CONFIG_PACKAGE_wireless-script_SDK_VERSION)) else SDK_VERSION="12.1_ed1" endif ifdef CONFIG_PACKAGE_wireless-script_MODEL_TYPE MODEL_TYPE=$(call qstrip,$(CONFIG_PACKAGE_wireless-script_MODEL_TYPE)) else MODEL_TYPE="al02-c4" endif ifdef CONFIG_PACKAGE_wireless-script_MEM_SIZE MEM_SIZE=$(call qstrip,$(CONFIG_PACKAGE_wireless-script_MEM_SIZE)) else MEM_SIZE="1G" endif ifdef CONFIG_PACKAGE_wireless-script_CHIP_VERSION CHIP_VERSION=$(call qstrip,$(CONFIG_PACKAGE_wireless-script_CHIP_VERSION)) else CHIP_VERSION="v1" endif ifdef CONFIG_PACKAGE_wireless-script_FW_TYPE FW_TYPE=$(call qstrip,$(CONFIG_PACKAGE_wireless-script_FW_TYPE)) endif QCA_DIR:=wireless-script/qca endif ifeq ($(CONFIG_IPF_PLATFORM_BCM),y) BCM_DIR:=wireless-script/bcm endif define Package/wifix/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/wifix $(1)/usr/bin $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./filesystem/etc/init.d/$(INIT_SCRIPT) $(1)/etc/init.d/wifix $(INSTALL_DIR) $(1)/sbin $(INSTALL_BIN) ./filesystem/sbin/* $(1)/sbin $(INSTALL_DIR) $(1)/lib/wifi $(INSTALL_BIN) ./filesystem/lib/wifi/* $(1)/lib/wifi ifeq ($(CONFIG_WIFIAPI_SUPPORT), y) $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_BUILD_DIR)/libwifiapi.so $(1)/usr/lib $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/wifiapi_cli $(1)/usr/bin endif ifeq ($(CONFIG_IPF_PLATFORM_BCM),y) $(CP) ./$(BCM_DIR)/$(TP_TYPE)/* $(1)/ endif ifeq ($(CONFIG_IPF_PLATFORM_QCA),y) ifeq ($(TP_TYPE), Router) ifeq ($(FW_TYPE), ) # WIFI FW (sdk_version + model_type) if [ -e ./$(QCA_DIR)/OEM/$(SDK_VERSION)/fw/$(MODEL_TYPE) ]; then \ $(INSTALL_DIR) $(1)/lib/firmware/$(ARCH)/WIFI_FW; \ $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/fw/$(MODEL_TYPE)/$(CHIP_VERSION)/* $(1)/lib/firmware/$(ARCH)/WIFI_FW/; \ fi # WIFI INI (sdk_version) if [ -e ./$(QCA_DIR)/OEM/$(SDK_VERSION)/ini/$(ARCH)_$(MEM_SIZE)_$(CHIP_VERSION) ]; then \ $(INSTALL_DIR) $(1)/ini; \ $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/ini/$(ARCH)_$(MEM_SIZE)_$(CHIP_VERSION)/* $(1)/ini/; \ fi else # WIFI FW (sdk_version + model_type + fw_type + chip_version) if [ -e ./$(QCA_DIR)/OEM/$(SDK_VERSION)/fw/$(MODEL_TYPE) ]; then \ $(INSTALL_DIR) $(1)/lib/firmware/$(ARCH)/WIFI_FW; \ $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/fw/$(MODEL_TYPE)/$(FW_TYPE)_$(CHIP_VERSION)/* $(1)/lib/firmware/$(ARCH)/WIFI_FW/; \ fi # WIFI INI (sdk_version + archer + fw_type + mem_size + chip_version) if [ -e ./$(QCA_DIR)/OEM/$(SDK_VERSION)/ini/$(ARCH)_$(MEM_SIZE)_$(CHIP_VERSION) ]; then \ $(INSTALL_DIR) $(1)/ini; \ $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/ini/$(ARCH)_$(FW_TYPE)_$(MEM_SIZE)_$(CHIP_VERSION)/* $(1)/ini/; \ fi endif # WIFI scripts under /lib $(INSTALL_DIR) $(1)/lib $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/lib/* $(1)/lib/ # WIFI scripts under /etc/init.d $(INSTALL_DIR) $(1)/etc/init.d $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/etc/init.d/* $(1)/etc/init.d/ $(INSTALL_DIR) $(1)/sbin $(INSTALL_BIN) ./$(QCA_DIR)/TP/$(TP_TYPE)/sbin/* $(1)/sbin $(INSTALL_DIR) $(1)/etc/hotplug.d/button $(INSTALL_BIN) ./$(QCA_DIR)/TP/$(TP_TYPE)/etc/hotplug.d/button/* $(1)/etc/hotplug.d/button $(INSTALL_DIR) $(1)/lib/wifi $(INSTALL_BIN) ./$(QCA_DIR)/TP/$(TP_TYPE)/lib/wifi/* $(1)/lib/wifi/ $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./$(QCA_DIR)/TP/$(TP_TYPE)/etc/init.d/* $(1)/etc/init.d endif ifeq ($(TP_TYPE), Deco) $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./$(QCA_DIR)/TP/$(TP_TYPE)/etc/init.d/* $(1)/etc/init.d endif ifeq ($(TP_TYPE), RE) # WIFI FW (sdk_version + model_type) if [ -e ./$(QCA_DIR)/OEM/$(SDK_VERSION)/fw/$(MODEL_TYPE) ]; then \ $(INSTALL_DIR) $(1)/lib/firmware/$(ARCH)/WIFI_FW; \ $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/fw/$(MODEL_TYPE)/$(CHIP_VERSION)/* $(1)/lib/firmware/$(ARCH)/WIFI_FW/; \ fi # WIFI INI (sdk_version) if [ -e ./$(QCA_DIR)/OEM/$(SDK_VERSION)/ini/$(ARCH)_$(MEM_SIZE)_$(CHIP_VERSION) ]; then \ $(INSTALL_DIR) $(1)/ini; \ $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/ini/$(ARCH)_$(MEM_SIZE)_$(CHIP_VERSION)/* $(1)/ini/; \ fi # WIFI scripts under /lib $(INSTALL_DIR) $(1)/lib $(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/lib/* $(1)/lib/ # WIFI scripts under /etc/init.d #$(INSTALL_DIR) $(1)/etc/init.d #$(CP) ./$(QCA_DIR)/OEM/$(SDK_VERSION)/etc/init.d/* $(1)/etc/init.d/ $(INSTALL_DIR) $(1)/sbin $(INSTALL_BIN) ./$(QCA_DIR)/TP/Router/sbin/tddp_hook_enable_testmode $(1)/sbin $(INSTALL_BIN) ./$(QCA_DIR)/TP/Router/sbin/tddp_hook_erase_radio $(1)/sbin $(INSTALL_BIN) ./$(QCA_DIR)/TP/Router/sbin/wifi $(1)/sbin $(INSTALL_BIN) ./$(QCA_DIR)/TP/$(TP_TYPE)/sbin/* $(1)/sbin $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./$(QCA_DIR)/TP/Router/etc/init.d/wifi_fw_* $(1)/etc/init.d $(INSTALL_BIN) ./$(QCA_DIR)/TP/Router/etc/init.d/ftm $(1)/etc/init.d $(INSTALL_BIN) ./$(QCA_DIR)/TP/Router/etc/init.d/diag_socket_app $(1)/etc/init.d $(INSTALL_DIR) $(1)/etc/hotplug.d/button $(INSTALL_BIN) ./$(QCA_DIR)/TP/$(TP_TYPE)/etc/hotplug.d/button/* $(1)/etc/hotplug.d/button ifeq ($(CONFIG_WIFIAPI_SUPPORT), y) $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_BUILD_DIR)/libwifiapi.so $(1)/usr/lib $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/wifiapi_cli $(1)/usr/bin endif endif endif endef ifeq ($(CONFIG_WIFIAPI_SUPPORT), y) define Build/InstallDev $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_BUILD_DIR)/libwifiapi.so $(1)/usr/lib $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_BUILD_DIR)/include/wifiapi.h $(1)/usr/include $(CP) $(PKG_BUILD_DIR)/include/wifiapi_twap.h $(1)/usr/include $(CP) $(PKG_BUILD_DIR)/include/wifi_unistruct.h $(1)/usr/include $(CP) $(PKG_BUILD_DIR)/include/wifi_define.h $(1)/usr/include $(CP) $(PKG_BUILD_DIR)/include/wifi_utility.h $(1)/usr/include endef endif $(eval $(call BuildPackage,wifix))
11-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值