mac80211: add rtl8xxxu

OpenWrt is often used to develop or test new devices
Some users might want to test and help to improve
this new driver

upstream commit notice 26f1fad29ad973b0fb26a9ca3dcb2a73dde781aa

New driver: rtl8xxxu (mac80211)
This is an alternate driver for a number of Realtek WiFi USB devices,
including RTL8723AU, RTL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU.
It was written from scratch utilizing the Linux mac80211 stack.

After spending months cleaning up the vendor provided rtl8723au
driver, which comes with it's own 802.11 stack included, I decided to
rewrite this driver from the bottom up.

Many thanks to Johannes Berg for 802.11 insights and help and Larry
Finger for help with the vendor driver.

The full git log for the development of this driver can be found here:
git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git
    branch rtl8723au-mac80211

This driver is still under development, but has proven to be very
stable for me. It currently supports station mode only. It has support
for OFDM and CCK rates. It does lack certain features found in the
staging driver, such as power management, AMPDU, and 40MHz channel
support. In addition it does not support AD-HOC, AP, and monitor mode
support at this point.

The driver is known to work with the following devices:
Lenovo Yoga (rtl8723au)
TP-Link TL-WN823N (rtl8192cu)
Etekcity 6R (rtl8188cu)
Daffodil LAN03 (rtl8188cu)
Alfa AWUS036NHR (rtl8188ru)

Compile tested only

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 48104
This commit is contained in:
Felix Fietkau 2016-01-03 20:57:38 +00:00
parent 0f84880a9d
commit 1f5f096faa

View file

@ -43,6 +43,7 @@ PKG_DRIVERS = \
rtl8180 rtl8187 \ rtl8180 rtl8187 \
rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \ rtlwifi rtlwifi-pci rtlwifi-usb rtl8192c-common rtl8192ce rtl8192se \
rtl8192de rtl8192cu \ rtl8192de rtl8192cu \
rtl8xxxu \
wlcore wl12xx wl18xx \ wlcore wl12xx wl18xx \
zd1211rw zd1211rw
@ -1526,6 +1527,39 @@ define KernelPackage/rtl8192cu/install
endef endef
define KernelPackage/rtl8xxxu
$(call KernelPackage/mac80211/Default)
TITLE:=alternative Realtek RTL8XXXU support
DEPENDS+= @USB_SUPPORT +kmod-usb-core +kmod-mac80211
FILES:= $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.ko
AUTOLOAD:=$(call AutoProbe,rtl8xxxu)
endef
define KernelPackage/rtl8xxxu/description
This is an alternative driver for various Realtek RTL8XXX
parts written to utilize the Linux mac80211 stack.
The driver is known to work with a number of RTL8723AU,
RL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU devices
This driver is under development and has a limited feature
set. In particular it does not yet support 40MHz channels
and power management. However it should have a smaller
memory footprint than the vendor drivers and benetifs
from the in kernel mac80211 stack.
It can coexist with drivers from drivers/staging/rtl8723au,
drivers/staging/rtl8192u, and drivers/net/wireless/rtlwifi,
but you will need to control which module you wish to load.
RTL8XXXU_UNTESTED is enabled
This option enables detection of Realtek 8723/8188/8191/8192 WiFi
USB devices which have not been tested directly by the driver
author or reported to be working by third parties.
Please report your results!
endef
define KernelPackage/wlcore define KernelPackage/wlcore
$(call KernelPackage/mac80211/Default) $(call KernelPackage/mac80211/Default)
TITLE:=TI common driver part TITLE:=TI common driver part
@ -1756,6 +1790,9 @@ config-$(call config_package,rtl8192de) += RTL8192DE
config-$(call config_package,rtl8192cu) += RTL8192CU config-$(call config_package,rtl8192cu) += RTL8192CU
config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG
config-$(call config_package,rtl8xxxu) += RTL8XXXU
config-y += RTL8XXXU_UNTESTED
config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS config-$(CONFIG_LEDS_TRIGGERS) += MAC80211_LEDS B43_LEDS B43LEGACY_LEDS
MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \ MAKE_OPTS:= -C "$(PKG_BUILD_DIR)" \
@ -2169,6 +2206,7 @@ $(eval $(call KernelPackage,rtl8192ce))
$(eval $(call KernelPackage,rtl8192se)) $(eval $(call KernelPackage,rtl8192se))
$(eval $(call KernelPackage,rtl8192de)) $(eval $(call KernelPackage,rtl8192de))
$(eval $(call KernelPackage,rtl8192cu)) $(eval $(call KernelPackage,rtl8192cu))
$(eval $(call KernelPackage,rtl8xxxu))
$(eval $(call KernelPackage,wlcore)) $(eval $(call KernelPackage,wlcore))
$(eval $(call KernelPackage,wl12xx)) $(eval $(call KernelPackage,wl12xx))
$(eval $(call KernelPackage,wl18xx)) $(eval $(call KernelPackage,wl18xx))