diff --git a/packages/linux-drivers/bcm_sta/build b/packages/linux-drivers/bcm_sta/build new file mode 100755 index 0000000000..8f3aebb8ad --- /dev/null +++ b/packages/linux-drivers/bcm_sta/build @@ -0,0 +1,10 @@ +#!/bin/sh + +. config/options $1 + +cd $PKG_BUILD + +[ $TARGET_ARCH = i386 ] && cd x86-32 +[ $TARGET_ARCH = x86_64 ] && cd x86-64 + +KBUILD_NOPEDANTIC=1 make V=1 CC=$CC -C $(kernel_path) M=`pwd` diff --git a/packages/linux-drivers/bcm_sta/install b/packages/linux-drivers/bcm_sta/install new file mode 100755 index 0000000000..0cd12e1763 --- /dev/null +++ b/packages/linux-drivers/bcm_sta/install @@ -0,0 +1,18 @@ +#!/bin/sh + +. config/options $1 + +VER=`ls $BUILD/linux*/modules/lib/modules` + +mkdir -p $INSTALL/lib/modules/$VER/bcm_sta +[ $TARGET_ARCH = i386 ] && cp $PKG_BUILD/x86-32/wl.ko $INSTALL/lib/modules/$VER/bcm_sta +[ $TARGET_ARCH = x86_64 ] && cp $PKG_BUILD/x86-64/wl.ko $INSTALL/lib/modules/$VER/bcm_sta + + for MOD in `find $INSTALL/lib/modules/$VER/bcm_sta -name *.ko`; do + $STRIP --strip-debug $MOD + done + + $ROOT/$TOOLCHAIN/sbin/depmod -b $INSTALL $VER > /dev/null + for i in `ls $INSTALL/lib/modules/*/modules.* | grep -v modules.dep | grep -v modules.alias | grep -v modules.symbols`; do + rm -f $i + done diff --git a/packages/linux-drivers/bcm_sta/meta b/packages/linux-drivers/bcm_sta/meta new file mode 100644 index 0000000000..2a95949c1d --- /dev/null +++ b/packages/linux-drivers/bcm_sta/meta @@ -0,0 +1,17 @@ +PKG_NAME="bcm_sta" +PKG_VERSION="5.60.246.6" +PKG_REV="1" +PKG_ARCH="i386 x86_64" +PKG_LICENSE="nonfree" +PKG_SITE="http://www.broadcom.com/" +PKG_URL="http://sources.openelec.tv/svn/$PKG_NAME-$PKG_VERSION.tar.bz2" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain linux busybox-hosttools" +PKG_PRIORITY="optional" +PKG_SECTION="driver" +PKG_SHORTDESC="bcm_sta: Broadcom's BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-based WLAN driver" +PKG_LONGDESC="These packages contain Broadcom's IEEE 802.11a/b/g/n hybrid Linux® device driver for use with Broadcom's BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-based hardware. There are different tars for 32-bit and 64-bit x86 CPU architectures. Make sure that you download the appropriate tar because the hybrid binary file must be of the appropriate architecture type. The hybrid binary file is agnostic to the specific version of the Linux kernel because it is designed to perform all interactions with the operating system through operating-system-specific files and an operating system abstraction layer file. All Linux operating-system-specific code is provided in source form, making it possible to retarget to different kernel versions and fix operating system related issues." +PKG_IS_ADDON="no" + +# Downloadlocation: +# http://www.broadcom.com/support/802.11/linux_sta.php \ No newline at end of file diff --git a/packages/linux-drivers/bcm_sta/need_unpack b/packages/linux-drivers/bcm_sta/need_unpack new file mode 100755 index 0000000000..fcea9b102c --- /dev/null +++ b/packages/linux-drivers/bcm_sta/need_unpack @@ -0,0 +1,12 @@ +#!/bin/sh + +. config/options $1 + +STAMP=$STAMPS/$1/unpack + +test $PKG_DIR/config/linux.$TARGET_ARCH.conf -nt $STAMP -o \ + $PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf -nt $STAMP -o \ + $PKG_DIR/url -nt $STAMP -o \ + $PKG_DIR/meta -nt $STAMP && rm -f $STAMP + +exit 0 diff --git a/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.60.246.6-010_remove_sysioc_sem.patch b/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.60.246.6-010_remove_sysioc_sem.patch new file mode 100644 index 0000000000..fb7021e7a3 --- /dev/null +++ b/packages/linux-drivers/bcm_sta/patches/bcm_sta-5.60.246.6-010_remove_sysioc_sem.patch @@ -0,0 +1,22 @@ +diff -Naur bcm_sta-5.60.246.6/x86-32/src/wl/sys/wl_iw.h bcm_sta-5.60.246.6.patch/x86-32/src/wl/sys/wl_iw.h +--- bcm_sta-5.60.246.6/x86-32/src/wl/sys/wl_iw.h 2010-11-22 03:01:28.267226695 +0100 ++++ bcm_sta-5.60.246.6.patch/x86-32/src/wl/sys/wl_iw.h 2010-11-22 03:00:28.308506905 +0100 +@@ -62,6 +62,7 @@ + struct timer_list *timer; + struct net_device *dev; + long sysioc_pid; ++ struct semaphore sysioc_sem; + struct completion sysioc_exited; + }; + +diff -Naur bcm_sta-5.60.246.6/x86-64/src/wl/sys/wl_iw.h bcm_sta-5.60.246.6.patch/x86-64/src/wl/sys/wl_iw.h +--- bcm_sta-5.60.246.6/x86-64/src/wl/sys/wl_iw.h 2010-11-22 03:01:49.840485699 +0100 ++++ bcm_sta-5.60.246.6.patch/x86-64/src/wl/sys/wl_iw.h 2010-11-22 03:00:28.322507073 +0100 +@@ -62,6 +62,7 @@ + struct timer_list *timer; + struct net_device *dev; + long sysioc_pid; ++ struct semaphore sysioc_sem; + struct completion sysioc_exited; + }; + diff --git a/projects/ATV/linux/linux.i386.conf b/projects/ATV/linux/linux.i386.conf index 50e5971961..87c03aef29 100644 --- a/projects/ATV/linux/linux.i386.conf +++ b/projects/ATV/linux/linux.i386.conf @@ -100,8 +100,6 @@ CONFIG_GENERIC_PENDING_IRQ=y # RCU Subsystem # CONFIG_TREE_PREEMPT_RCU=y -# CONFIG_TINY_RCU is not set -# CONFIG_TINY_PREEMPT_RCU is not set CONFIG_PREEMPT_RCU=y # CONFIG_RCU_TRACE is not set CONFIG_RCU_FANOUT=32 @@ -617,8 +615,10 @@ CONFIG_RPS=y # CONFIG_BT is not set # CONFIG_AF_RXRPC is not set CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y +CONFIG_WEXT_PRIV=y CONFIG_CFG80211=y # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set @@ -912,7 +912,7 @@ CONFIG_WLAN=y # CONFIG_ATMEL is not set # CONFIG_AT76C50X_USB is not set # CONFIG_PRISM54 is not set -# CONFIG_USB_ZD1201 is not set +CONFIG_USB_ZD1201=m # CONFIG_USB_NET_RNDIS_WLAN is not set # CONFIG_RTL8180 is not set # CONFIG_RTL8187 is not set @@ -920,14 +920,11 @@ CONFIG_WLAN=y # CONFIG_MAC80211_HWSIM is not set # CONFIG_MWL8K is not set # CONFIG_ATH_COMMON is not set -CONFIG_B43=m -CONFIG_B43_PCI_AUTOSELECT=y -CONFIG_B43_PCICORE_AUTOSELECT=y -CONFIG_B43_PIO=y -CONFIG_B43_PHY_LP=y -CONFIG_B43_LEDS=y -# CONFIG_B43_DEBUG is not set +# CONFIG_B43 is not set # CONFIG_B43LEGACY is not set +# CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set +# CONFIG_B43LEGACY_DMA_MODE is not set +# CONFIG_B43LEGACY_PIO_MODE is not set # CONFIG_HOSTAP is not set # CONFIG_IPW2100 is not set # CONFIG_IPW2200 is not set @@ -1220,10 +1217,9 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_SSB=m CONFIG_SSB_SPROM=y -CONFIG_SSB_BLOCKIO=y CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y -CONFIG_SSB_B43_PCI_BRIDGE=y +# CONFIG_SSB_B43_PCI_BRIDGE is not set # CONFIG_SSB_SILENT is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y @@ -1811,6 +1807,7 @@ CONFIG_STAGING=y # CONFIG_PRISM2_USB is not set # CONFIG_ECHO is not set # CONFIG_BRCM80211 is not set +# CONFIG_BRCM80211_PCI is not set # CONFIG_RT2860 is not set # CONFIG_RT2870 is not set # CONFIG_COMEDI is not set diff --git a/projects/ATV/options b/projects/ATV/options index 43acdaf58e..f28aeb12c9 100644 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -80,10 +80,12 @@ FAAC_SUPPORT="yes" # additional drivers to install: +# bcm_sta: Broadcom STA WLAN Driver # rtl8192se: Realtek RTL8192SE WLAN driver +# bcm_sta: Broadcom STA WLAN Driver # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="rtl8192se" - ADDITIONAL_DRIVERS="" + ADDITIONAL_DRIVERS="bcm_sta" # build with network support (yes / no) NETWORK="yes" diff --git a/projects/ION/options b/projects/ION/options index 7b47a7b5cb..4d63090531 100644 --- a/projects/ION/options +++ b/projects/ION/options @@ -80,6 +80,7 @@ FAAC_SUPPORT="yes" # additional drivers to install: +# bcm_sta: Broadcom STA WLAN Driver # rtl8192se: Realtek RTL8192SE WLAN driver # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="rtl8192se" diff --git a/projects/generic/options b/projects/generic/options index 11ef559f6b..5a2e708bfd 100644 --- a/projects/generic/options +++ b/projects/generic/options @@ -80,6 +80,7 @@ FAAC_SUPPORT="yes" # additional drivers to install: +# bcm_sta: Broadcom STA WLAN Driver # rtl8192se: Realtek RTL8192SE WLAN driver # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="rtl8192se" diff --git a/projects/intel/options b/projects/intel/options index de23f43cb6..832f54e17d 100644 --- a/projects/intel/options +++ b/projects/intel/options @@ -80,6 +80,7 @@ FAAC_SUPPORT="yes" # additional drivers to install: +# bcm_sta: Broadcom STA WLAN Driver # rtl8192se: Realtek RTL8192SE WLAN driver # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="rtl8192se"