With this patch the b43 module will be build in the mac80211 package.
The b43 package should be removed than.

This will make it a lot easier to maintain the driver. The
compat-wireless is updated to todays version.

The best way will be to build all the needed wireless drivers out of
this package.

This needs some more testing and wireless drivers like the p54, witch
isn't building for now, should be made by this package.


Signed-off-by: Hauke Mehrtens <[EMAIL PROTECTED]>

--
Hauke Mehrtens
Index: package/mac80211/patches/003-ath5k-doesnt-build.patch
===================================================================
--- package/mac80211/patches/003-ath5k-doesnt-build.patch	(Revision 0)
+++ package/mac80211/patches/003-ath5k-doesnt-build.patch	(Revision 0)
@@ -0,0 +1,17 @@
+#A fix so ath5k builds. I hope this will be fixed in compat-wireless in the nexed days.
+
+diff -Naur compat-wireless-2008-04-20/drivers/net/wireless/ath5k/hw.c compat-wireless-2008-04-20.new/drivers/net/wireless/ath5k/hw.c
+--- compat-wireless-2008-04-20/drivers/net/wireless/ath5k/hw.c	2008-04-20 06:12:44.000000000 +0200
++++ compat-wireless-2008-04-20.new/drivers/net/wireless/ath5k/hw.c	2008-04-20 17:45:20.000000000 +0200
+@@ -343,7 +343,11 @@
+ 	 * I guess these point to ClockReq but
+ 	 * i'm not sure.)
+ 	 */
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
++	if ((ah->ah_version == AR5K_AR5212) && (compat_is_pcie(pdev))) {
++#else
+ 	if ((ah->ah_version == AR5K_AR5212) && (pdev->is_pcie)) {
++#endif
+ 		ath5k_hw_reg_write(ah, 0x9248fc00, 0x4080);
+ 		ath5k_hw_reg_write(ah, 0x24924924, 0x4080);
+ 		ath5k_hw_reg_write(ah, 0x28000039, 0x4080);
Index: package/mac80211/patches/002-allow-ap-vlan-modes.patch
===================================================================
--- package/mac80211/patches/002-allow-ap-vlan-modes.patch	(Revision 0)
+++ package/mac80211/patches/002-allow-ap-vlan-modes.patch	(Revision 0)
@@ -0,0 +1,27 @@
+Subject: mac80211: allow AP and VLAN modes
+
+Source: http://johannes.sipsolutions.net/patches/kernel/all/LATEST/016-allow-ap-vlan-modes.patch
+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 <[EMAIL PROTECTED]>
+---
+ net/mac80211/cfg.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff -Naur compat-wireless-2008-04-20/net/mac80211/cfg.c compat-wireless-2008-04-20.new/net/mac80211/cfg.c
+--- compat-wireless-2008-04-20/net/mac80211/cfg.c	2008-04-20 06:12:44.000000000 +0200
++++ compat-wireless-2008-04-20.new/net/mac80211/cfg.c	2008-04-20 16:58:00.000000000 +0200
+@@ -35,6 +35,10 @@
+ 	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:
Index: package/mac80211/patches/001-disable_drivers.patch
===================================================================
--- package/mac80211/patches/001-disable_drivers.patch	(Revision 10892)
+++ package/mac80211/patches/001-disable_drivers.patch	(Arbeitskopie)
@@ -1,142 +0,0 @@
-diff -urN compat-wireless-2008-04-07/config.mk compat-wireless-2008-04-07.new/config.mk
---- compat-wireless-2008-04-07/config.mk	2008-03-14 16:22:22.000000000 +0100
-+++ compat-wireless-2008-04-07.new/config.mk	2008-04-09 21:17:03.000000000 +0200
-@@ -28,66 +28,6 @@
- # PCI Drivers
- ifneq ($(CONFIG_PCI),)
- 
--CONFIG_ATH5K=m
--CONFIG_ATH5K_DEBUG=n
--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
--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_RTL8180=m
--CONFIG_ADM8211=m
--
- CONFIG_RT2X00_LIB_PCI=m
- CONFIG_RT2400PCI=m
- CONFIG_RT2500PCI=m
-@@ -109,31 +49,6 @@
- 
- # USB Drivers
- 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)
--ifeq ($(shell test $(shell sed 's/^SUBLEVEL = //;t;d' < $(KLIB_BUILD)/Makefile) -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 a new RNDIS_HOST module which we add
--CONFIG_USB_NET_RNDIS_HOST=m
--CONFIG_USB_NET_RNDIS_WLAN=m
--
--endif
--endif
--
--CONFIG_P54_USB=m
--CONFIG_RTL8187=m
- 
- # RT2500USB does not require firmware
- CONFIG_RT2500USB=m
-@@ -159,39 +74,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
Index: package/mac80211/Makefile
===================================================================
--- package/mac80211/Makefile	(Revision 10892)
+++ package/mac80211/Makefile	(Arbeitskopie)
@@ -12,7 +12,7 @@
 PKG_NAME:=mac80211
 PKG_RELEASE:=1
 
-PKG_VERSION:=2008-04-07
+PKG_VERSION:=2008-04-20
 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://linuxwireless.org/download/compat-wireless-2.6/
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
@@ -151,6 +151,43 @@
 endif
 
 
+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_FWCUTTER_NAME:=b43-fwcutter
+PKG_FWCUTTER_VERSION:=011
+PKG_FWCUTTER_SOURCE:=$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION).tar.bz2
+
+define Download/broadcom-wl
+  FILE:=$(PKG_FWV4_SOURCE)
+  URL:=http://mirror2.openwrt.org/sources/
+  MD5SUM:=0c6ba9687114c6b598e8019e262d9a60
+endef
+$(eval $(call Download,broadcom-wl))
+
+define Download/b43-fwcutter
+  FILE:=$(PKG_FWCUTTER_SOURCE)
+  URL:=http://bu3sch.de/b43/fwcutter/
+  MD5SUM:=3db2f4de85a459451f5b391cf67a8d44
+endef
+$(eval $(call Download,b43-fwcutter))
+
+
+define KernelPackage/b43
+  SUBMENU:=Wireless Drivers
+  TITLE:=Broadcom 43xx wireless support
+  DEPENDS:[EMAIL PROTECTED] +kmod-mac80211
+  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/b43/b43.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,27,b43)
+endef
+
+define KernelPackage/b43/description
+Kernel module for Broadcom 43xx wireless support (mac80211)
+endef
+
+
 CONFOPTS:=MAC80211 CFG80211 NL80211 MAC80211_RC_DEFAULT_PID MAC80211_RC_PID \
 
 BUILDFLAGS:= \
@@ -177,6 +214,8 @@
 	$(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
 	unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
 	unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
+	tar xjf "$(DL_DIR)/$(PKG_FWV4_SOURCE)" -C "$(PKG_BUILD_DIR)"
+	tar xjf "$(DL_DIR)/$(PKG_FWCUTTER_SOURCE)" -C "$(PKG_BUILD_DIR)"
 endef
 
 ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
@@ -187,6 +226,8 @@
 
 define Build/Compile
 	$(call Build/Compile/kmod)
+	$(MAKE) -C "$(PKG_BUILD_DIR)/$(PKG_FWCUTTER_NAME)-$(PKG_FWCUTTER_VERSION)" \
+		CFLAGS="-I$(STAGING_DIR_HOST)/include -include endian.h"
 endef
 
 define Build/InstallDev
@@ -209,7 +250,15 @@
 	$(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
 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,mac80211))
 $(eval $(call KernelPackage,rt2x00-lib))
 $(eval $(call KernelPackage,rt2x00-pci))
@@ -219,3 +268,4 @@
 $(eval $(call KernelPackage,rt2500-usb))
 $(eval $(call KernelPackage,rt61-pci))
 $(eval $(call KernelPackage,rt73-usb))
+$(eval $(call KernelPackage,b43))

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
http://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to