+++ /dev/null
-#
-# Copyright (C) 2007-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=acx-mac80211
-PKG_REV:=11edba2
-PKG_VERSION:=20080805
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=git://gitorious.org/acx-mac80211/mainline.git
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_REV)
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/acx-mac80211
- SUBMENU:=Wireless Drivers
- TITLE:=ACX111 Mac80211 driver
- DEPENDS:=@LINUX_2_6 @PCI_SUPPORT||TARGET_ar7 +kmod-mac80211 @BROKEN
- FILES:=$(PKG_BUILD_DIR)/acx-mac80211.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,50,acx-mac80211)
-endef
-
-define KernelPackage/acx-mac80211/description
- Driver for acx111 cards (Mac80211 version)
-endef
-
-
-C16_FW:=tiacx111c16
-C19_FW:=tiacx111c19
-
-define Download/tiacx111c16
- FILE:=$(C16_FW)
- URL:=http://teknoraver.net/software/acx-mac80211/
- MD5SUM:=7026826460376f6b174f9225bd7781b9
-endef
-$(eval $(call Download,tiacx111c16))
-
-define Download/tiacx111c19
- FILE:=$(C19_FW)
- URL:=http://ipkg.k1k2.de/files/
- MD5SUM:=a1fa9681e297b4e36e257090fc12265a
-endef
-$(eval $(call Download,tiacx111c19))
-
-
-PKG_EXTRA_KCONFIG:= \
- CONFIG_ACX_MAC80211=m \
- CONFIG_ACX_MAC80211_PCI=m \
-
-PKG_EXTRA_CFLAGS:= \
- $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(PKG_EXTRA_KCONFIG)))) \
- $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(PKG_EXTRA_KCONFIG)))) \
-
-define Build/Compile
- $(MAKE) -C "$(LINUX_DIR)" \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- SUBDIRS="$(PKG_BUILD_DIR)" \
- $(PKG_EXTRA_KCONFIG) \
- EXTRA_CFLAGS="$(PKG_EXTRA_CFLAGS)" \
- LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include \
- -include linux/autoconf.h" \
- V="$(V)" \
- modules
-endef
-
-define Build/Configure
-endef
-
-define KernelPackage/acx-mac80211/install
- $(INSTALL_DIR) $(1)/lib/firmware
- $(INSTALL_DATA) $(DL_DIR)/$(C16_FW) $(1)/lib/firmware/
- $(INSTALL_DATA) $(DL_DIR)/$(C19_FW) $(1)/lib/firmware/
-endef
-
-$(eval $(call KernelPackage,acx-mac80211))
+++ /dev/null
---- acx-mac80211-20080802/Makefile 2008-08-02 17:34:09.000000000 +0200
-+++ acx-mac80211-20080802-b/Makefile 2008-08-04 22:24:25.000000000 +0200
-@@ -28,7 +28,7 @@
- obj-$(CONFIG_ACX_MAC80211) += acx-mac80211.o
- acx-mac80211-obj-$(CONFIG_ACX_MAC80211_PCI) += pci.o
- acx-mac80211-obj-$(CONFIG_ACX_MAC80211_USB) += usb.o
-- acx-mac80211-objs := common.o $(acx-mac80211-obj-y)
-+ acx-mac80211-objs := common.o $(acx-mac80211-obj-m)
- else
- # Otherwise we were called directly from the command line: the the kernel build
- # system must be explicitly invoked.
+++ /dev/null
-diff --git a/common.c b/common.c
-index c3a288d..9c607de 100644
---- a/common.c
-+++ b/common.c
-@@ -1451,60 +1451,66 @@ void acx_free_modes(acx_device_t * adev)
- // adev->modes = NULL;
- }
-
--/*
--#define RATETAB_ENT(_rate, _rateid, _flags) \
-- { \
-- .rate = (_rate), \
-- .val = (_rateid), \
-- .val2 = (_rateid), \
-- .flags = (_flags), \
-- }
--*/
--
- static struct ieee80211_rate acx_rates[] = {
- { .bitrate = 10, .hw_value = 0, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
- { .bitrate = 20, .hw_value = 1, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
- { .bitrate = 55, .hw_value = 2, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
- { .bitrate = 110, .hw_value = 3, .flags = IEEE80211_RATE_SHORT_PREAMBLE },
-- { .bitrate = 60, .hw_value = 4, },
-- { .bitrate = 90, .hw_value = 5, },
-- { .bitrate = 120, .hw_value = 6, },
-- { .bitrate = 180, .hw_value = 7, },
-- { .bitrate = 240, .hw_value = 8, },
-- { .bitrate = 360, .hw_value = 9, },
-- { .bitrate = 480, .hw_value = 10, },
-- { .bitrate = 540, .hw_value = 11, },
-+ { .bitrate = 60, .hw_value = 4, .flags = 0 },
-+ { .bitrate = 90, .hw_value = 5, .flags = 0 },
-+ { .bitrate = 120, .hw_value = 6, .flags = 0 },
-+ { .bitrate = 180, .hw_value = 7, .flags = 0 },
-+ { .bitrate = 240, .hw_value = 8, .flags = 0 },
-+ { .bitrate = 360, .hw_value = 9, .flags = 0 },
-+ { .bitrate = 480, .hw_value = 10, .flags = 0 },
-+ { .bitrate = 540, .hw_value = 11, .flags = 0 },
- };
-
-+#define CHAN4G(_channel, _freq, _flags) { \
-+ .band = IEEE80211_BAND_2GHZ, \
-+ .center_freq = (_freq), \
-+ .hw_value = (_channel), \
-+ .flags = (_flags), \
-+ .max_antenna_gain = 0, \
-+ .max_power = 30, \
-+}
- static struct ieee80211_channel channels[] = {
-- { .center_freq = 2412, .hw_value = 1, },
-- { .center_freq = 2417, .hw_value = 2, },
-- { .center_freq = 2422, .hw_value = 3, },
-- { .center_freq = 2427, .hw_value = 4, },
-- { .center_freq = 2432, .hw_value = 5, },
-- { .center_freq = 2437, .hw_value = 6, },
-- { .center_freq = 2442, .hw_value = 7, },
-- { .center_freq = 2447, .hw_value = 8, },
-- { .center_freq = 2452, .hw_value = 9, },
-- { .center_freq = 2457, .hw_value = 10, },
-- { .center_freq = 2462, .hw_value = 11, },
-- { .center_freq = 2467, .hw_value = 12, },
-- { .center_freq = 2472, .hw_value = 13, },
-- { .center_freq = 2484, .hw_value = 14, },
-+ CHAN4G(1, 2412, 0),
-+ CHAN4G(2, 2417, 0),
-+ CHAN4G(3, 2422, 0),
-+ CHAN4G(4, 2427, 0),
-+ CHAN4G(5, 2432, 0),
-+ CHAN4G(6, 2437, 0),
-+ CHAN4G(7, 2442, 0),
-+ CHAN4G(8, 2447, 0),
-+ CHAN4G(9, 2452, 0),
-+ CHAN4G(10, 2457, 0),
-+ CHAN4G(11, 2462, 0),
-+ CHAN4G(12, 2467, 0),
-+ CHAN4G(13, 2472, 0),
-+ CHAN4G(14, 2484, 0),
- };
-+#undef CHAN4G
-+
-+#define acx_b_ratetable (acx_rates + 0)
-+#define acx_b_ratetable_size 4
-+#define acx_g_ratetable (acx_rates + 0)
-+#define acx_g_ratetable_size 12
-
- static struct ieee80211_supported_band g_band_2GHz = {
-+ .band = IEEE80211_BAND_2GHZ,
- .channels = channels,
- .n_channels = ARRAY_SIZE(channels),
-- .bitrates = acx_rates,
-- .n_bitrates = 12,
-+ .bitrates = acx_b_ratetable,
-+ .n_bitrates = acx_g_ratetable_size,
- };
-
- static struct ieee80211_supported_band b_band_2GHz = {
-+ .band = IEEE80211_BAND_2GHZ,
- .channels = channels,
- .n_channels = ARRAY_SIZE(channels),
-- .bitrates = acx_rates,
-- .n_bitrates = 4,
-+ .bitrates = acx_g_ratetable,
-+ .n_bitrates = acx_b_ratetable_size,
- };
-
- int acx_setup_modes(acx_device_t * adev)
-
+++ /dev/null
-#
-# Copyright (C) 2007 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id: Makefile 7440 2007-06-02 02:22:01Z nbd $
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=b43
-PKG_RELEASE:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-PKG_FWV4_NAME:=broadcom-wl
-PKG_FWV4_VERSION=4.150.10.5
-PKG_FWV4_OBJECT:=driver/wl_apsta_mimo.o
-
-PKG_FWV4_SOURCE:=$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION).tar.bz2
-PKG_FWV4_SOURCE_URL:=http://mirror2.openwrt.org/sources/
-PKG_FWV4_MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
-
-PKG_FWCUTTER_NAME:=b43-fwcutter
-PKG_FWCUTTER_VERSION=011
-
-PKG_FWCUTTER_SOURCE:=$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION).tar.bz2
-PKG_FWCUTTER_SOURCE_URL:=http://bu3sch.de/b43/fwcutter/
-PKG_FWCUTTER_MD5SUM:=3db2f4de85a459451f5b391cf67a8d44
-
-PKG_SRC_NAME:=b43-src
-PKG_SRC_VERSION:=2008-08-06
-
-PKG_SRC_SOURCE:=compat-wireless-$(PKG_SRC_VERSION).tar.bz2
-PKG_SRC_SOURCE_URL:=http://www.orbit-lab.org/kernel/compat-wireless-2.6/2008/08/
-PKG_SRC_MD5SUM:=9563ceeed86bca0859ad5f010623277c
-
-define KernelPackage/b43
- SUBMENU:=Wireless Drivers
- TITLE:=Broadcom 43xx wireless support
- DEPENDS:=@TARGET_brcm47xx +kmod-mac80211
- FILES:=$(PKG_BUILD_DIR)/b43.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,30,b43)
-endef
-
-define KernelPackage/b43/description
-Kernel module for Broadcom 43xx wireless support (mac80211)
-endef
-
-EXTRA_KCONFIG:= \
- CONFIG_B43=m \
- CONFIG_B43_NPHY=y \
- CONFIG_B43_DEBUG=y \
- $(if $(CONFIG_RFKILL),CONFIG_B43_RFKILL=y) \
- $(if $(CONFIG_LEDS_TRIGGERS),CONFIG_B43_LEDS=y) \
-
-
-EXTRA_CFLAGS:= \
- $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
- $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
-
-MAKE_OPTS:= \
- ARCH="$(LINUX_KARCH)" \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- SUBDIRS="$(PKG_BUILD_DIR)" \
- EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
- LINUXINCLUDE="-I$(STAGING_DIR)/usr/include/mac80211 -I$(LINUX_DIR)/include -include linux/autoconf.h" \
- $(EXTRA_KCONFIG)
-
-$(STAMP_PREPARED): $(DL_DIR)/$(PKG_FWV4_SOURCE) $(DL_DIR)/$(PKG_FWCUTTER_SOURCE)
-
-$(DL_DIR)/$(PKG_FWV4_SOURCE):
- $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWV4_SOURCE)" "$(PKG_FWV4_MD5SUM)" $(PKG_FWV4_SOURCE_URL)
-
-$(DL_DIR)/$(PKG_FWCUTTER_SOURCE):
- $(SCRIPT_DIR)/download.pl "$(DL_DIR)" "$(PKG_FWCUTTER_SOURCE)" "$(PKG_FWCUTTER_MD5SUM)" $(PKG_FWCUTTER_SOURCE_URL)
-
-
-define Build/Prepare
- mkdir -p $(PKG_BUILD_DIR)
- tar xjf "$(DL_DIR)/$(PKG_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
- tar xjf "$(DL_DIR)/$(PKG_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
- tar xjf "$(DL_DIR)/$(PKG_SRC_SOURCE)" -C "$(PKG_BUILD_DIR)"
- $(CP) $(PKG_BUILD_DIR)/compat-wireless-$(PKG_SRC_VERSION)/drivers/net/wireless/b43/* $(PKG_BUILD_DIR)/
- $(Build/Patch)
- $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
-endef
-
-define Build/Configure
-endef
-
-define Build/Compile
- $(MAKE) -C "$(LINUX_DIR)" \
- $(MAKE_OPTS) \
- modules
-
- $(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)" \
- CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
-endef
-
-define KernelPackage/b43/install
- $(INSTALL_DIR) $(1)/lib/firmware/
-
- $(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)/b43-fwcutter \
- -w $(1)/lib/firmware/ \
- $(PKG_BUILD_DIR)/$(PKG_FWV4_NAME)-$(PKG_FWV4_VERSION)/$(PKG_FWV4_OBJECT)
-endef
-
-$(eval $(call KernelPackage,b43))
+++ /dev/null
-Index: b43/dma.c
-===================================================================
---- b43.orig/dma.c 2008-07-27 13:56:25.000000000 +0200
-+++ b43/dma.c 2008-07-27 14:02:26.000000000 +0200
-@@ -328,11 +328,11 @@ static inline
- dma_addr_t dmaaddr;
-
- if (tx) {
-- dmaaddr = ssb_dma_map_single(ring->dev->dev,
-- buf, len, DMA_TO_DEVICE);
-+ dmaaddr = dma_map_single(ring->dev->dev->dma_dev,
-+ buf, len, DMA_TO_DEVICE);
- } else {
-- dmaaddr = ssb_dma_map_single(ring->dev->dev,
-- buf, len, DMA_FROM_DEVICE);
-+ dmaaddr = dma_map_single(ring->dev->dev->dma_dev,
-+ buf, len, DMA_FROM_DEVICE);
- }
-
- return dmaaddr;
-@@ -343,11 +343,11 @@ static inline
- dma_addr_t addr, size_t len, int tx)
- {
- if (tx) {
-- ssb_dma_unmap_single(ring->dev->dev,
-- addr, len, DMA_TO_DEVICE);
-+ dma_unmap_single(ring->dev->dev->dma_dev,
-+ addr, len, DMA_TO_DEVICE);
- } else {
-- ssb_dma_unmap_single(ring->dev->dev,
-- addr, len, DMA_FROM_DEVICE);
-+ dma_unmap_single(ring->dev->dev->dma_dev,
-+ addr, len, DMA_FROM_DEVICE);
- }
- }
-
-@@ -356,8 +356,8 @@ static inline
- dma_addr_t addr, size_t len)
- {
- B43_WARN_ON(ring->tx);
-- ssb_dma_sync_single_for_cpu(ring->dev->dev,
-- addr, len, DMA_FROM_DEVICE);
-+ dma_sync_single_for_cpu(ring->dev->dev->dma_dev,
-+ addr, len, DMA_FROM_DEVICE);
- }
-
- static inline
-@@ -365,8 +365,8 @@ static inline
- dma_addr_t addr, size_t len)
- {
- B43_WARN_ON(ring->tx);
-- ssb_dma_sync_single_for_device(ring->dev->dev,
-- addr, len, DMA_FROM_DEVICE);
-+ dma_sync_single_for_device(ring->dev->dev->dma_dev,
-+ addr, len, DMA_FROM_DEVICE);
- }
-
- static inline
-@@ -381,6 +381,7 @@ static inline
-
- static int alloc_ringmemory(struct b43_dmaring *ring)
- {
-+ struct device *dma_dev = ring->dev->dev->dma_dev;
- gfp_t flags = GFP_KERNEL;
-
- /* The specs call for 4K buffers for 30- and 32-bit DMA with 4K
-@@ -391,14 +392,11 @@ static int alloc_ringmemory(struct b43_dmaring *ring)
- * For unknown reasons - possibly a hardware error - the BCM4311 rev
- * 02, which uses 64-bit DMA, needs the ring buffer in very low memory,
- * which accounts for the GFP_DMA flag below.
-- *
-- * The flags here must match the flags in free_ringmemory below!
- */
- if (ring->type == B43_DMA_64BIT)
- flags |= GFP_DMA;
-- ring->descbase = ssb_dma_alloc_consistent(ring->dev->dev,
-- B43_DMA_RINGMEMSIZE,
-- &(ring->dmabase), flags);
-+ ring->descbase = dma_alloc_coherent(dma_dev, B43_DMA_RINGMEMSIZE,
-+ &(ring->dmabase), flags);
- if (!ring->descbase) {
- b43err(ring->dev->wl, "DMA ringmemory allocation failed\n");
- return -ENOMEM;
-@@ -410,13 +408,10 @@ static int alloc_ringmemory(struct b43_dmaring *ring)
-
- static void free_ringmemory(struct b43_dmaring *ring)
- {
-- gfp_t flags = GFP_KERNEL;
--
-- if (ring->type == B43_DMA_64BIT)
-- flags |= GFP_DMA;
-+ struct device *dma_dev = ring->dev->dev->dma_dev;
-
-- ssb_dma_free_consistent(ring->dev->dev, B43_DMA_RINGMEMSIZE,
-- ring->descbase, ring->dmabase, flags);
-+ dma_free_coherent(dma_dev, B43_DMA_RINGMEMSIZE,
-+ ring->descbase, ring->dmabase);
- }
-
- /* Reset the RX DMA channel */
-@@ -523,7 +518,7 @@ static bool b43_dma_mapping_error(struct b43_dmaring *ring,
- dma_addr_t addr,
- size_t buffersize, bool dma_to_device)
- {
-- if (unlikely(ssb_dma_mapping_error(ring->dev->dev, addr)))
-+ if (unlikely(dma_mapping_error(addr)))
- return 1;
-
- switch (ring->type) {
-@@ -849,10 +844,10 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
- goto err_kfree_meta;
-
- /* test for ability to dma to txhdr_cache */
-- dma_test = ssb_dma_map_single(dev->dev,
-- ring->txhdr_cache,
-- b43_txhdr_size(dev),
-- DMA_TO_DEVICE);
-+ dma_test = dma_map_single(dev->dev->dma_dev,
-+ ring->txhdr_cache,
-+ b43_txhdr_size(dev),
-+ DMA_TO_DEVICE);
-
- if (b43_dma_mapping_error(ring, dma_test,
- b43_txhdr_size(dev), 1)) {
-@@ -864,10 +859,10 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
- if (!ring->txhdr_cache)
- goto err_kfree_meta;
-
-- dma_test = ssb_dma_map_single(dev->dev,
-- ring->txhdr_cache,
-- b43_txhdr_size(dev),
-- DMA_TO_DEVICE);
-+ dma_test = dma_map_single(dev->dev->dma_dev,
-+ ring->txhdr_cache,
-+ b43_txhdr_size(dev),
-+ DMA_TO_DEVICE);
-
- if (b43_dma_mapping_error(ring, dma_test,
- b43_txhdr_size(dev), 1)) {
-@@ -878,9 +873,9 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev,
- }
- }
-
-- ssb_dma_unmap_single(dev->dev,
-- dma_test, b43_txhdr_size(dev),
-- DMA_TO_DEVICE);
-+ dma_unmap_single(dev->dev->dma_dev,
-+ dma_test, b43_txhdr_size(dev),
-+ DMA_TO_DEVICE);
- }
-
- err = alloc_ringmemory(ring);
PKG_SOURCE_SUBDIR:=hostapd-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
PKG_MD5SUM:=cba36847d38c753731afefe1460f5f90
-PKG_BUILD_DEPENDS:=PACKAGE_kmod-madwifi:madwifi PACKAGE_kmod-mac80211:mac80211 PACKAGE_kmod-mac80211:libnl
+PKG_BUILD_DEPENDS:=PACKAGE_kmod-madwifi:madwifi
include $(INCLUDE_DIR)/package.mk
-STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(call confvar,CONFIG_PACKAGE_kmod-mac80211 CONFIG_PACKAGE_kmod-madwifi CONFIG_PACKAGE_hostapd CONFIG_PACKAGE_hostapd-mini)
+STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(call confvar,CONFIG_PACKAGE_kmod-madwifi CONFIG_PACKAGE_hostapd CONFIG_PACKAGE_hostapd-mini)
define Package/hostapd/Default
SECTION:=net
$(PKG_BUILD_DIR)/src \
$(PKG_BUILD_DIR)/hostapd.$(1)/
$(CP) ./files/$(1).config $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/.config
- $(if $(CONFIG_PACKAGE_kmod-mac80211),,$(SED) 's,^CONFIG_DRIVER_NL80211,#CONFIG_DRIVER_NL80211,g' $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/.config)
$(if $(CONFIG_PACKAGE_kmod-madwifi),,$(SED) 's,^CONFIG_DRIVER_MADWIFI,#CONFIG_DRIVER_MADWIFI,g' $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/.config)
endef
define Build/CompileTarget
- CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/madwifi -I$(STAGING_DIR)/usr/include/mac80211 -I$(STAGING_DIR)/usr/include/libnl -I$(STAGING_DIR)/usr/include" \
+ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/madwifi -I$(STAGING_DIR)/usr/include" \
$(MAKE) -C $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd \
$(TARGET_CONFIGURE_OPTS) \
LIBS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib \
- $(if $(CONFIG_PACKAGE_kmod-mac80211),-lm $(STAGING_DIR)/usr/lib/libnl.a) \
$(if $(findstring default,$(1)),-lssl -lcrypto)" \
hostapd hostapd_cli
$(CP) $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/hostapd_cli $(PKG_BUILD_DIR)/
+++ /dev/null
-#
-# Copyright (C) 2007 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=iw
-PKG_VERSION:=0.9.5
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://wireless.kernel.org/download/iw/
-PKG_BUILD_DEPENDS:=mac80211 libnl
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/iw
- SECTION:=net
- CATEGORY:=Network
- TITLE:=cfg80211 interface configuration utility
- URL:=http://wireless.kernel.org/en/users/Documentation/iw
- DEPENDS:=@!TARGET_avr32 +libnl
-endef
-
-define Build/Configure
- $(CP) $(PKG_BUILD_DIR)/defconfig $(PKG_BUILD_DIR)/.config
- echo "#define IW_VERSION \"$(VERSION)\"" > $(PKG_BUILD_DIR)/version.h
-endef
-
-MAKE_FLAGS += \
- CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/mac80211 -I$(STAGING_DIR)/usr/include/libnl -I$(STAGING_DIR)/usr/include" \
- LDFLAGS="-L$(STAGING_DIR)/usr/lib -lnl"
-
-ifneq ($(CONFIG_LINUX_2_6),)
- define Package/iw/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/iw $(1)/usr/sbin/
- endef
-endif
-
-$(eval $(call BuildPackage,iw))
+++ /dev/null
-#
-# Copyright (C) 2006-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id$
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libnl
-PKG_VERSION:=1.1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://people.suug.ch/~tgr/libnl/files/
-PKG_MD5SUM:=ae970ccd9144e132b68664f98e7ceeb1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libnl
- SECTION:=libs
- CATEGORY:=Libraries
- TITLE:=netlink socket library
- URL:=http://people.suug.ch/~tgr/libnl/
- DEPENDS:=@!LINUX_2_4
-endef
-
-define Package/libnl/description
- This package contains a library for applications dealing with netlink sockets
-endef
-
-TARGET_CFLAGS += -ffunction-sections $(FPIC)
-
-define Build/Compile
- $(call Build/Compile/Default)
- make -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- install
-endef
-
-ifneq ($(CONFIG_LINUX_2_6),)
- define Build/InstallDev
- $(INSTALL_DIR) $(1)
- $(CP) $(PKG_INSTALL_DIR)/* $(1)/
- mkdir -p $(1)/usr/include/libnl
- $(CP) $(PKG_BUILD_DIR)/include/linux $(1)/usr/include/libnl/
- endef
-
- define Package/libnl/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libnl.so.* $(1)/usr/lib/
- endef
-endif
-
-$(eval $(call BuildPackage,libnl))
+++ /dev/null
-Index: libnl-1.0-pre7/lib/Makefile
-===================================================================
---- libnl-1.0-pre7.orig/lib/Makefile 2007-11-16 03:19:22.404997365 +0100
-+++ libnl-1.0-pre7/lib/Makefile 2007-11-16 03:22:22.903283376 +0100
-@@ -34,6 +34,7 @@
- OUT_SLIB := $(PACKAGE_NAME).so.$(PACKAGE_VERSION)
- LN_SLIB := $(PACKAGE_NAME).so
- LN1_SLIB := $(LN_SLIB).1
-+OUT_ALIB := $(PACKAGE_NAME).a
-
- export
-
-@@ -42,7 +43,7 @@
-
- all:
- @echo " MAKE $(OUT_SLIB)"; \
-- $(MAKE) $(OUT_SLIB)
-+ $(MAKE) $(OUT_SLIB) $(OUT_ALIB)
-
- $(OUT_SLIB): ../Makefile.opts $(OBJ)
- @echo " LD $(OUT_SLIB)"; \
-@@ -52,10 +53,15 @@
- @echo " LN $(LN1_SLIB) $(LN_SLIB)"; \
- rm -f $(LN_SLIB) ; $(LN) -s $(LN1_SLIB) $(LN_SLIB)
-
-+$(OUT_ALIB): ../Makefile.opts $(OBJ)
-+ @echo " AR $@"; \
-+ $(AR) rcu $@ $(OBJ); \
-+ $(RANLIB) $@
-+
- clean:
- @echo " CLEAN lib"; \
- $(RM) -f $(OBJ) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB); \
-- $(RM) -f $(DEPS) $(OUT_SLIB) $(LN_SLIB) $(LN1_SLIB)
-+ $(RM) -f $(DEPS) $(OUT_ALIB) $(LN_SLIB) $(LN1_SLIB)
-
- distclean:
- @echo " DISTCLEAN lib"; \
-@@ -64,6 +70,7 @@
- install:
- mkdir -p $(DESTDIR)$(libdir)/
- install -m 0644 $(OUT_SLIB) $(DESTDIR)$(libdir)
-+ install -m 0644 $(OUT_ALIB) $(DESTDIR)$(libdir)
- rm -f $(DESTDIR)$(libdir)/$(LN1_SLIB)
- $(LN) -s $(OUT_SLIB) $(DESTDIR)$(libdir)/$(LN1_SLIB)
- rm -f $(DESTDIR)$(libdir)/$(LN_SLIB)
+++ /dev/null
-Index: libnl-1.0-pre8/include/netlink-local.h
-===================================================================
---- libnl-1.0-pre8.orig/include/netlink-local.h 2007-12-29 13:40:25.242226458 +0100
-+++ libnl-1.0-pre8/include/netlink-local.h 2007-12-29 13:40:36.882889824 +0100
-@@ -336,7 +336,9 @@
- }
-
- #define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
-+#ifndef offsetof
- #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-+#endif
-
- #define __init __attribute__ ((constructor))
- #define __exit __attribute__ ((destructor))
+++ /dev/null
-From: Patrick McHardy <kaber@trash.net>
-Date: Fri, 18 Jan 2008 16:55:48 +0000 (+0100)
-Subject: [LIBNL]: Add if_vlan.h
-X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=e91bb2ffb090955d443e643a25b250bf3d33534a;hp=7f6b7a8eea0334b34d58dec72c66121a76f08958
-
-[LIBNL]: Add if_vlan.h
-
-vlan support needs VLAN_FLAG_REORDER_HDR, which is not available in
-older if_vlan.h versions. Add the current version from the kernel.
-
-Signed-off-by: Patrick McHardy <kaber@trash.net>
----
-
-diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h
-new file mode 100644
-index 0000000..068cd7b
---- /dev/null
-+++ b/include/linux/if_vlan.h
-@@ -0,0 +1,61 @@
-+/*
-+ * VLAN An implementation of 802.1Q VLAN tagging.
-+ *
-+ * Authors: Ben Greear <greearb@candelatech.com>
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * as published by the Free Software Foundation; either version
-+ * 2 of the License, or (at your option) any later version.
-+ *
-+ */
-+
-+#ifndef _LINUX_IF_VLAN_H_
-+#define _LINUX_IF_VLAN_H_
-+
-+
-+/* VLAN IOCTLs are found in sockios.h */
-+
-+/* Passed in vlan_ioctl_args structure to determine behaviour. */
-+enum vlan_ioctl_cmds {
-+ ADD_VLAN_CMD,
-+ DEL_VLAN_CMD,
-+ SET_VLAN_INGRESS_PRIORITY_CMD,
-+ SET_VLAN_EGRESS_PRIORITY_CMD,
-+ GET_VLAN_INGRESS_PRIORITY_CMD,
-+ GET_VLAN_EGRESS_PRIORITY_CMD,
-+ SET_VLAN_NAME_TYPE_CMD,
-+ SET_VLAN_FLAG_CMD,
-+ GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
-+ GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
-+};
-+
-+enum vlan_flags {
-+ VLAN_FLAG_REORDER_HDR = 0x1,
-+};
-+
-+enum vlan_name_types {
-+ VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */
-+ VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */
-+ VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */
-+ VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */
-+ VLAN_NAME_TYPE_HIGHEST
-+};
-+
-+struct vlan_ioctl_args {
-+ int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
-+ char device1[24];
-+
-+ union {
-+ char device2[24];
-+ int VID;
-+ unsigned int skb_priority;
-+ unsigned int name_type;
-+ unsigned int bind_type;
-+ unsigned int flag; /* Matches vlan_dev_info flags */
-+ } u;
-+
-+ short vlan_qos;
-+};
-+
-+#endif /* !(_LINUX_IF_VLAN_H_) */
+++ /dev/null
-From: Patrick McHardy <kaber@trash.net>
-Date: Fri, 18 Jan 2008 16:55:49 +0000 (+0100)
-Subject: [LIBNL]: Fix minor memleaks on exit
-X-Git-Url: http://git.kernel.org/?p=libs%2Fnetlink%2Flibnl.git;a=commitdiff_plain;h=b64f15d6f947839236fa276d473d238f8c9b9d57;hp=e91bb2ffb090955d443e643a25b250bf3d33534a
-
-[LIBNL]: Fix minor memleaks on exit
-
-Make valgrind happy ...
-
-Signed-off-by: Patrick McHardy <kaber@trash.net>
----
-
-diff --git a/lib/route/route_utils.c b/lib/route/route_utils.c
-index a12d169..1386cda 100644
---- a/lib/route/route_utils.c
-+++ b/lib/route/route_utils.c
-@@ -63,6 +63,11 @@ static void __init init_routing_table_names(void)
- add_routing_table_name(RT_TABLE_LOCAL, "local");
- };
-
-+static void __exit release_routing_table_names(void)
-+{
-+ __trans_list_clear(&table_names);
-+}
-+
- int rtnl_route_read_table_names(const char *path)
- {
- __trans_list_clear(&table_names);
-@@ -104,6 +109,11 @@ static void __init init_proto_names(void)
- add_proto_name(RTPROT_STATIC, "static");
- };
-
-+static void __exit release_proto_names(void)
-+{
-+ __trans_list_clear(&proto_names);
-+}
-+
- int rtnl_route_read_protocol_names(const char *path)
- {
- __trans_list_clear(&proto_names);
+++ /dev/null
-diff -U 3 -H -d -r -N -- libnl-1.1.o/include/netlink/genl/mngt.h libnl-1.1/include/netlink/genl/mngt.h
---- libnl-1.1.o/include/netlink/genl/mngt.h 2008-01-14 18:48:45.000000000 +0300
-+++ libnl-1.1/include/netlink/genl/mngt.h 2008-08-18 19:18:54.000000000 +0400
-@@ -22,6 +22,15 @@
-
- struct nl_cache_ops;
-
-+struct genl_info
-+{
-+ struct sockaddr_nl * who;
-+ struct nlmsghdr * nlh;
-+ struct genlmsghdr * genlhdr;
-+ void * userhdr;
-+ struct nlattr ** attrs;
-+};
-+
- /**
- * @ingroup genl_mngt
- * Generic Netlink Command
-diff -U 3 -H -d -r -N -- libnl-1.1.o/include/netlink-types.h libnl-1.1/include/netlink-types.h
---- libnl-1.1.o/include/netlink-types.h 2008-01-14 18:48:45.000000000 +0300
-+++ libnl-1.1/include/netlink-types.h 2008-08-18 19:18:30.000000000 +0400
-@@ -95,15 +95,6 @@
-
- struct nl_parser_param;
-
--struct genl_info
--{
-- struct sockaddr_nl * who;
-- struct nlmsghdr * nlh;
-- struct genlmsghdr * genlhdr;
-- void * userhdr;
-- struct nlattr ** attrs;
--};
--
- #define LOOSE_FLAG_COMPARISON 1
-
- #define NL_OBJ_MARK 1
-diff -U 3 -H -d -r -N -- libnl-1.1.o/src/nl-list-caches.c libnl-1.1/src/nl-list-caches.c
---- libnl-1.1.o/src/nl-list-caches.c 2008-01-14 18:48:45.000000000 +0300
-+++ libnl-1.1/src/nl-list-caches.c 2008-08-18 19:20:05.000000000 +0400
-@@ -10,6 +10,7 @@
- */
-
- #include "utils.h"
-+#include <netlink-local.h>
-
- static void print_usage(void)
- {
-diff -U 3 -H -d -r -N -- libnl-1.1.o/src/utils.c libnl-1.1/src/utils.c
---- libnl-1.1.o/src/utils.c 2008-01-14 18:48:45.000000000 +0300
-+++ libnl-1.1/src/utils.c 2008-08-18 19:20:39.000000000 +0400
-@@ -12,6 +12,7 @@
- #include "utils.h"
-
- #include <stdlib.h>
-+#include <stdarg.h>
-
- int nltool_init(int argc, char *argv[])
- {
-diff -U 3 -H -d -r -N -- libnl-1.1.o/src/utils.h libnl-1.1/src/utils.h
---- libnl-1.1.o/src/utils.h 2008-01-14 18:48:45.000000000 +0300
-+++ libnl-1.1/src/utils.h 2008-08-18 19:21:11.000000000 +0400
-@@ -22,7 +22,6 @@
- #include <sys/types.h>
- #include <sys/socket.h>
-
--#include <netlink-local.h>
- #include <netlink/netlink.h>
- #include <netlink/utils.h>
- #include <netlink/addr.h>
+++ /dev/null
-diff --git a/libnl-1.pc.in b/libnl-1.pc.in
-index 7ac8413..66a7cd9 100644
---- a/libnl-1.pc.in
-+++ b/libnl-1.pc.in
-@@ -1,7 +1,7 @@
- prefix=@prefix@
- exec_prefix=@prefix@
- libdir=@libdir@
--includedir=@prefix@/include
-+includedir=@includedir@
-
- Name: libnl
- Description: Convenience library for netlink sockets
+++ /dev/null
-#
-# Copyright (C) 2007-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id: Makefile 7440 2007-06-02 02:22:01Z nbd $
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=mac80211
-PKG_RELEASE:=2
-
-PKG_VERSION:=2008-08-06
-PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.orbit-lab.org/kernel/compat-wireless-2.6/2008/08/
-PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/mac80211
- SUBMENU:=Wireless Drivers
- TITLE:=Linux 802.11 Wireless Networking Stack
- DEPENDS:=@LINUX_2_6 +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools @!TARGET_avr32
- FILES:= \
- $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
- $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,20,cfg80211 mac80211)
-endef
-
-define KernelPackage/mac80211/description
-Linux 802.11 Wireless Networking Stack
-endef
-
-# Ralink rt2x00 drivers
-RT61FW:=RT61_Firmware_V1.2.zip
-RT71FW:=RT71W_Firmware_V1.8.zip
-
-define Download/rt61
- FILE:=$(RT61FW)
- URL:=http://www.ralinktech.com.tw/data/
- MD5SUM:=d4c690c93b470bc9a681297c2adc6281
-endef
-$(eval $(call Download,rt61))
-
-define Download/rt71w
- FILE:=$(RT71FW)
- URL:=http://www.ralinktech.com.tw/data/
- MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
-endef
-$(eval $(call Download,rt71w))
-
-define KernelPackage/rt2x00/Default
- SUBMENU:=Wireless Drivers
- TITLE:=Ralink Drivers for RT2x00 cards
-endef
-
-define KernelPackage/rt2x00-lib
-$(call KernelPackage/rt2x00/Default)
- DEPENDS+= @PCI_SUPPORT||USB_SUPPORT +kmod-mac80211 +kmod-crc-itu-t
- TITLE+= (LIB)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib)
-endef
-
-define KernelPackage/rt2x00-pci
-$(call KernelPackage/rt2x00/Default)
- DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
- TITLE+= (PCI)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
-endef
-
-define KernelPackage/rt2x00-usb
-$(call KernelPackage/rt2x00/Default)
- DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
- TITLE+= (USB)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
-endef
-
-define KernelPackage/rt2400-pci
-$(call KernelPackage/rt2x00/Default)
- DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
- TITLE+= (RT2400 PCI)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
-endef
-
-define KernelPackage/rt2500-pci
-$(call KernelPackage/rt2x00/Default)
- DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
- TITLE+= (RT2500 PCI)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
-endef
-
-define KernelPackage/rt2500-usb
-$(call KernelPackage/rt2x00/Default)
- DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
- TITLE+= (RT2500 USB)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
-endef
-
-define KernelPackage/rt61-pci
-$(call KernelPackage/rt2x00/Default)
- DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
- TITLE+= (RT2x61 PCI)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,27,rt61pci)
-endef
-
-define KernelPackage/rt73-usb
- $(call KernelPackage/rt2x00/Default)
- DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
- TITLE+= (RT73 USB)
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,27,rt73usb)
-endef
-
-define KernelPackage/net-zd1211rw
- SUBMENU:=Wireless Drivers
- TITLE:=Zydas ZD1211 support
- DEPENDS:=@LINUX_2_6_24||LINUX_2_6_25 @USB_SUPPORT +kmod-ieee80211-softmac
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
-endef
-
-define KernelPackage/ath5k
- SUBMENU:=Wireless Drivers
- TITLE:=Atheros 5xxx wireless cards support
- DEPENDS+= @PCI_SUPPORT +kmod-mac80211
- FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
- AUTOLOAD:=$(call AutoLoad,27,ath5k)
-endef
-
-BUILDFLAGS:= \
- $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
- $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS) \
- -D__CONFIG_MAC80211_RC_DEFAULT=pid \
-
-MAKE_OPTS:= \
- CROSS_COMPILE="$(TARGET_CROSS)" \
- ARCH="$(LINUX_KARCH)" \
- EXTRA_CFLAGS="$(BUILDFLAGS)" \
- $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
- CONFIG_NL80211=y \
- CONFIG_MAC80211_RC_PID=y \
- CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
- LINUXINCLUDE="-I$(PKG_BUILD_DIR)/include -I$(LINUX_DIR)/include -include linux/autoconf.h" \
- KLIB_BUILD="$(LINUX_DIR)" \
-
-define Build/Prepare
- rm -rf $(PKG_BUILD_DIR)
- mkdir -p $(PKG_BUILD_DIR)
- $(PKG_UNPACK)
- $(Build/Patch)
- $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
- unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
- unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
- rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
-endef
-
-ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
- define Build/Compile/kmod
- $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
- endef
-endif
-
-define Build/Compile
- $(call Build/Compile/kmod)
-endef
-
-define Build/InstallDev
- mkdir -p $(1)/usr/include/mac80211 $(1)/usr/include/net/mac80211
- $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
- $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
-endef
-
-define KernelPackage/mac80211/install
- $(INSTALL_DIR) $(1)/lib/wifi
- $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
-endef
-
-define KernelPackage/rt61-pci/install
- $(INSTALL_DIR) $(1)/lib/firmware
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
-endef
-
-define KernelPackage/rt73-usb/install
- $(INSTALL_DIR) $(1)/lib/firmware
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
-endef
-
-$(eval $(call KernelPackage,ath5k))
-$(eval $(call KernelPackage,net-zd1211rw))
-$(eval $(call KernelPackage,mac80211))
-$(eval $(call KernelPackage,rt2x00-lib))
-$(eval $(call KernelPackage,rt2x00-pci))
-$(eval $(call KernelPackage,rt2x00-usb))
-$(eval $(call KernelPackage,rt2400-pci))
-$(eval $(call KernelPackage,rt2500-pci))
-$(eval $(call KernelPackage,rt2500-usb))
-$(eval $(call KernelPackage,rt61-pci))
-$(eval $(call KernelPackage,rt73-usb))
+++ /dev/null
-#!/bin/sh
-append DRIVERS "mac80211"
-
-scan_mac80211() {
- local device="$1"
- local adhoc sta ap
-
- config_get vifs "$device" vifs
- for vif in $vifs; do
-
- config_get ifname "$vif" ifname
- config_set "$vif" ifname "${ifname:-$device}"
-
- config_get mode "$vif" mode
- case "$mode" in
- adhoc|sta|ap|monitor)
- append $mode "$vif"
- ;;
- *) echo "$device($vif): Invalid mode, ignored."; continue;;
- esac
- done
-
- config_set "$device" vifs "${ap:+$ap }${adhoc:+$adhoc }${ahdemo:+$ahdemo }${sta:+$sta }${wds:+$wds }${monitor:+$monitor}"
-}
-
-
-disable_mac80211() (
- local device="$1"
-
- set_wifi_down "$device"
- # kill all running hostapd and wpa_supplicant processes that
- # are running on atheros/mac80211 vifs
- for pid in `pidof hostapd wpa_supplicant`; do
- grep wlan /proc/$pid/cmdline >/dev/null && \
- kill $pid
- done
-
- include /lib/network
- cd /proc/sys/net
- for dev in *; do
- grep "$device" "$dev/%parent" >/dev/null 2>/dev/null && {
- ifconfig "$dev" down
- unbridge "$dev"
- }
- done
- return 0
-)
-
-enable_mac80211() {
- local device="$1"
- config_get channel "$device" channel
- config_get vifs "$device" vifs
- config_get txpower "$device" txpower
-
- local first=1
- for vif in $vifs; do
- ifconfig "$ifname" down 2>/dev/null
- config_get ifname "$vif" ifname
- config_get enc "$vif" encryption
- config_get eap_type "$vif" eap_type
- config_get mode "$vif" mode
-
- config_get ifname "$vif" ifname
- [ $? -ne 0 ] && {
- echo "enable_mac80211($device): Failed to set up $mode vif $ifname" >&2
- continue
- }
- config_set "$vif" ifname "$ifname"
-
- [ "$first" = 1 ] && {
- # only need to change freq band and channel on the first vif
- iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
- if [ "$mode" = adhoc ]; then
- iwlist "$ifname" scan >/dev/null 2>/dev/null
- sleep 1
- iwconfig "$ifname" mode ad-hoc >/dev/null 2>/dev/null
- fi
- sleep 1
- iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
- }
- if [ "$mode" = sta ]; then
- iwconfig "$ifname" mode managed >/dev/null 2>/dev/null
- else
- iwconfig "$ifname" mode $mode >/dev/null 2>/dev/null
- fi
-
- wpa=
- case "$enc" in
- WEP|wep)
- for idx in 1 2 3 4; do
- config_get key "$vif" "key${idx}"
- iwconfig "$ifname" enc "[$idx]" "${key:-off}"
- done
- config_get key "$vif" key
- key="${key:-1}"
- case "$key" in
- [1234]) iwconfig "$ifname" enc "[$key]";;
- *) iwconfig "$ifname" enc "$key";;
- esac
- ;;
- PSK|psk|PSK2|psk2)
- config_get key "$vif" key
- ;;
- esac
-
- case "$mode" in
- adhoc)
- config_get addr "$vif" bssid
- [ -z "$addr" ] || {
- iwconfig "$ifname" ap "$addr"
- }
- ;;
- esac
- config_get ssid "$vif" ssid
-
- config_get vif_txpower "$vif" txpower
- # use vif_txpower (from wifi-iface) to override txpower (from
- # wifi-device) if the latter doesn't exist
- txpower="${txpower:-$vif_txpower}"
- [ -z "$txpower" ] || iwconfig "$ifname" txpower "${txpower%%.*}"
-
- config_get frag "$vif" frag
- if [ -n "$frag" ]; then
- iwconfig "$ifname" frag "${frag%%.*}"
- fi
-
- config_get rts "$vif" rts
- if [ -n "$rts" ]; then
- iwconfig "$ifname" rts "${rts%%.*}"
- fi
-
- ifconfig "$ifname" up
- iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
-
- local net_cfg bridge
- net_cfg="$(find_net_config "$vif")"
- [ -z "$net_cfg" ] || {
- bridge="$(bridge_interface "$net_cfg")"
- config_set "$vif" bridge "$bridge"
- start_net "$ifname" "$net_cfg"
- }
- iwconfig "$ifname" essid "$ssid"
- set_wifi_up "$vif" "$ifname"
- case "$mode" in
- ap)
- if eval "type hostapd_setup_vif" 2>/dev/null >/dev/null; then
- hostapd_setup_vif "$vif" nl80211 || {
- echo "enable_mac80211($device): Failed to set up wpa for interface $ifname" >&2
- # make sure this wifi interface won't accidentally stay open without encryption
- ifconfig "$ifname" down
- continue
- }
- fi
- ;;
- sta)
- if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
- wpa_supplicant_setup_vif "$vif" wext || {
- echo "enable_mac80211($device): Failed to set up wpa_supplicant for interface $ifname" >&2
- # make sure this wifi interface won't accidentally stay open without encryption
- ifconfig "$ifname" down
- continue
- }
- fi
- ;;
- esac
- first=0
- done
-}
-
-
-detect_mac80211() {
- cd /sys/class/net
- for dev in $(ls -d wlan* 2>&-); do
- config_get type "$dev" type
- [ "$type" = mac80211 ] && return
- cat <<EOF
-config wifi-device $dev
- option type mac80211
- option channel 5
-
- # REMOVE THIS LINE TO ENABLE WIFI:
- option disabled 1
-
-config wifi-iface
- option device $dev
- option network lan
- option mode ap
- option ssid OpenWrt
- option encryption none
-EOF
- done
-}
+++ /dev/null
-diff -urN compat-wireless-2008-08-06/config.mk compat-wireless-2008-08-06.new/config.mk
---- compat-wireless-2008-08-06/config.mk 2008-07-18 06:11:03.000000000 +0200
-+++ compat-wireless-2008-08-06.new/config.mk 2008-08-20 17:30:13.000000000 +0200
-@@ -72,70 +72,6 @@
- CONFIG_ATH5K=m
- CONFIG_ATH5K_DEBUG=n
-
--# Required for older kernels which still use this flag.
--CONFIG_IWLWIFI=m
--
--CONFIG_IWLCORE=m
--CONFIG_IWL3945=m
--CONFIG_IWL4965=m
--CONFIG_IWL4965_HT=y
--CONFIG_B43=m
--# B43 uses PCMCIA only for Compact Flash. The Cardbus cards uses PCI
--# Example, bcm4318:
--# http://www.multicap.biz/wireless-lan/indoor-wlan-hardware/sdc-cf10g-80211g-compact-flash-module
--CONFIG_B43_PCMCIA=y
--CONFIG_B43_DMA=y
--CONFIG_B43_PIO=y
--# B43_PIO selects SSB_BLOCKIO
--CONFIG_SSB_BLOCKIO=y
--CONFIG_B43_DMA_AND_PIO_MODE=y
--CONFIG_B43_PCI_AUTOSELECT=y
--CONFIG_B43_PCICORE_AUTOSELECT=y
--#CONFIG_B43_RFKILL=n
--CONFIG_B43_LEDS=y
--# CONFIG_B43_DEBUG is not set
--
--CONFIG_B43LEGACY=m
--CONFIG_B43LEGACY_PCI_AUTOSELECT=y
--CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
--CONFIG_B43LEGACY_DMA=y
--CONFIG_B43LEGACY_PIO=y
--CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
--
--# The Intel ipws
--CONFIG_IPW2100=m
--CONFIG_IPW2100_MONITOR=y
--CONFIG_IPW2200=m
--CONFIG_IPW2200_MONITOR=y
--CONFIG_IPW2200_RADIOTAP=y
--CONFIG_IPW2200_PROMISCUOUS=y
--# The above enables use a second interface prefixed 'rtap'.
--# Example usage:
--#
--# % modprobe ipw2200 rtap_iface=1
--# % ifconfig rtap0 up
--# % tethereal -i rtap0
--#
--# If you do not specify 'rtap_iface=1' as a module parameter then
--# the rtap interface will not be created and you will need to turn
--# it on via sysfs:
--#
--# % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
--CONFIG_IPW2200_QOS=y
--
--NEED_IEEE80211=y
--
--CONFIG_P54_PCI=m
--
--CONFIG_SSB_PCIHOST_POSSIBLE=y
--CONFIG_SSB_PCIHOST=y
--CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
--CONFIG_SSB_DRIVER_PCICORE=y
--CONFIG_SSB_B43_PCI_BRIDGE=y
--
--CONFIG_RTL8180=m
--CONFIG_ADM8211=m
--
- CONFIG_RT2X00_LIB_PCI=m
- CONFIG_RT2400PCI=m
- CONFIG_RT2500PCI=m
-@@ -159,32 +95,6 @@
- ifneq ($(CONFIG_USB),)
- CONFIG_ZD1211RW=m
-
--# support for USB Wireless devices using Atmel at76c503,
--# at76c505 or at76c505a chips.
--CONFIG_USB_ATMEL=m
--
--# Stuff here things which depend on kernel versions for USB
--ifeq ($(shell test -e $(KLIB_BUILD)/Makefile && echo yes),yes)
--KERNEL_SUBLEVEL = $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
--ifeq ($(shell test $(KERNEL_SUBLEVEL) -gt 21 && echo yes),yes)
--
--# Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat...
--
--# Wireless RNDIS USB support (RTL8185 802.11g) A-Link WL54PC
--# All of these devices are based on Broadcom 4320 chip which
--# is only wireless RNDIS chip known to date.
--# Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER
--# it also requires new RNDIS_HOST and CDC_ETHER modules which we add
--CONFIG_USB_NET_RNDIS_HOST=m
--CONFIG_USB_NET_RNDIS_WLAN=m
--CONFIG_USB_NET_CDCETHER=m
--
--endif
--endif
--
--CONFIG_P54_USB=m
--CONFIG_RTL8187=m
--
- # RT2500USB does not require firmware
- CONFIG_RT2500USB=m
- CONFIG_RT2X00_LIB_USB=m
-@@ -209,39 +119,6 @@
- CONFIG_RT2X00_LIB_FIRMWARE=y
- endif
-
--# p54
--CONFIG_P54_COMMON=m
--
--# Sonics Silicon Backplane
--CONFIG_SSB_POSSIBLE=y
--CONFIG_SSB=m
--CONFIG_SSB_SPROM=y
--
--ifneq ($(CONFIG_PCMCIA),)
--CONFIG_SSB_PCMCIAHOST=y
--endif
--
--# These two are for mips
--CONFIG_SSB_DRIVER_MIPS=n
--CONFIG_SSB_PCICORE_HOSTMODE=n
--# CONFIG_SSB_DEBUG is not set
--# CONFIG_SSB_DRIVER_EXTIF=y
--
--ifneq ($(CONFIG_USB),)
--CONFIG_LIBERTAS_USB=m
--NEED_LIBERTAS=y
--endif
--ifneq ($(CONFIG_PCMCIA),)
--CONFIG_LIBERTAS_CS=m
--NEED_LIBERTAS=y
--endif
--ifeq ($(NEED_LIBERTAS),y)
--CONFIG_LIBERTAS=m
--# Libertas uses the old stack but not fully, it will soon
--# be cleaned.
--NEED_IEEE80211=y
--endif
--
- ifeq ($(NEED_IEEE80211),y)
- # Old ieee80211 "stack"
- # Note: old softmac is scheduled for removal so we
+++ /dev/null
-Subject: mac80211: allow AP and VLAN modes
-
-This patch allows switching interfaces into AP/VLAN modes using
-cfg80211 (nl80211). Don't allow doing it with wext because then
-people will just attempt to do it manually (without hostapd) and
-complain that it doesn't work.
-
-Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
----
- net/mac80211/cfg.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- everything.orig/net/mac80211/cfg.c 2008-08-06 21:38:13.000000000 +0200
-+++ everything/net/mac80211/cfg.c 2008-08-06 21:38:24.000000000 +0200
-@@ -33,6 +33,10 @@ nl80211_type_to_mac80211_type(enum nl802
- case NL80211_IFTYPE_MESH_POINT:
- return IEEE80211_IF_TYPE_MESH_POINT;
- #endif
-+ case NL80211_IFTYPE_AP:
-+ return IEEE80211_IF_TYPE_AP;
-+ case NL80211_IFTYPE_AP_VLAN:
-+ return IEEE80211_IF_TYPE_VLAN;
- case NL80211_IFTYPE_WDS:
- return IEEE80211_IF_TYPE_WDS;
- default: