diff --git a/kernel/drivers/module-broadcom-wl/actions.py b/kernel/drivers/module-broadcom-wl/actions.py new file mode 100644 index 00000000..a53f56d2 --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/actions.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt. + +from pisi.actionsapi import kerneltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get +from pisi.actionsapi import shelltools + +WorkDir = get.ARCH() +KDIR = kerneltools.getKernelVersion() + +def build(): + shelltools.system("sed -e '/BRCM_WLAN_IFNAME/s:eth:wlan:' \ + -i src/wl/sys/wl_linux.c") + autotools.make("Werror=0 -C /lib/modules/%s/build M=%s modules" % (KDIR, get.curDIR())) + +def install(): + pisitools.insinto("/lib/modules/%s/extra" % KDIR, "wl.ko") + + pisitools.dodoc("lib/LICENSE.txt") \ No newline at end of file diff --git a/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl b/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl new file mode 100644 index 00000000..6f830566 --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl @@ -0,0 +1 @@ +install wl /sbin/modprobe -qr b43 ssb; /sbin/modprobe --ignore-install wl $CMDLINE_OPTS diff --git a/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl-alias.conf b/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl-alias.conf new file mode 100644 index 00000000..74e62259 --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl-alias.conf @@ -0,0 +1,18 @@ +alias pci:v000014E4d00000576sv*sd*bc*sc*i* wl +alias pci:v000014E4d0000435Asv*sd*bc*sc*i* wl +alias pci:v000014E4d00004359sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004358sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004727sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004357sv*sd*bc*sc*i* wl +alias pci:v000014E4d0000A99Dsv*sd*bc*sc*i* wl +alias pci:v000014E4d00004353sv*sd*bc*sc*i* wl +alias pci:v000014E4d0000432Dsv*sd*bc*sc*i* wl +alias pci:v000014E4d0000432Csv*sd*bc*sc*i* wl +alias pci:v000014E4d0000432Bsv*sd*bc*sc*i* wl +alias pci:v000014E4d0000432Asv*sd*bc*sc*i* wl +alias pci:v000014E4d00004329sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004328sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004315sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004313sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004312sv*sd*bc*sc*i* wl +alias pci:v000014E4d00004311sv*sd*bc*sc*i* wl diff --git a/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl-blacklist.conf b/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl-blacklist.conf new file mode 100644 index 00000000..258f4f4d --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/conf/broadcom-wl-blacklist.conf @@ -0,0 +1,6 @@ +blacklist brcm80211 +blacklist b43 +blacklist ssb +blacklist bcma +blacklist brcmsmac +blacklist brcmfmac \ No newline at end of file diff --git a/kernel/drivers/module-broadcom-wl/files/patch/broadcom-sta-6.30.223.248-linux-3.18-null-pointer-crash.patch b/kernel/drivers/module-broadcom-wl/files/patch/broadcom-sta-6.30.223.248-linux-3.18-null-pointer-crash.patch new file mode 100644 index 00000000..035593cb --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/patch/broadcom-sta-6.30.223.248-linux-3.18-null-pointer-crash.patch @@ -0,0 +1,12 @@ +diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c +--- a/src/wl/sys/wl_linux.c 2015-01-06 12:33:42.981659618 +0100 ++++ b/src/wl/sys/wl_linux.c 2015-01-06 12:34:05.647395418 +0100 +@@ -2157,8 +2157,8 @@ + wlif = WL_DEV_IF(dev); + wl = WL_INFO(dev); + ++ skb->prev = NULL; + if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) { +- skb->prev = NULL; + + TXQ_LOCK(wl); \ No newline at end of file diff --git a/kernel/drivers/module-broadcom-wl/files/patch/gcc.patch b/kernel/drivers/module-broadcom-wl/files/patch/gcc.patch new file mode 100644 index 00000000..d67cd3d1 --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/patch/gcc.patch @@ -0,0 +1,11 @@ +--- a/Makefile 2014-06-26 10:42:08.000000000 +0000 ++++ b/Makefile 2014-07-17 22:44:01.662297228 +0000 +@@ -126,6 +126,8 @@ + EXTRA_CFLAGS += -I$(src)/src/shared/bcmwifi/include + #EXTRA_CFLAGS += -DBCMDBG_ASSERT -DBCMDBG_ERR + ++EXTRA_CFLAGS += -Wno-date-time ++ + EXTRA_LDFLAGS := $(src)/lib/wlc_hybrid.o_shipped + + KBASE ?= /lib/modules/`uname -r` \ No newline at end of file diff --git a/kernel/drivers/module-broadcom-wl/files/patch/license.patch b/kernel/drivers/module-broadcom-wl/files/patch/license.patch new file mode 100644 index 00000000..1719a99c --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/patch/license.patch @@ -0,0 +1,10 @@ +--- a/src/wl/sys/wl_linux.c 2014-06-26 10:42:08.000000000 +0000 ++++ b/src/wl/sys/wl_linux.c 2014-07-17 22:44:26.254759666 +0000 +@@ -205,6 +205,7 @@ + + static int nompc = 0; + module_param(nompc, int, 0); ++MODULE_LICENSE("Mixed/Proprietary"); + + #ifdef quote_str + #undef quote_str diff --git a/kernel/drivers/module-broadcom-wl/files/patch/linux-40.patch b/kernel/drivers/module-broadcom-wl/files/patch/linux-40.patch new file mode 100644 index 00000000..7f7d327f --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/patch/linux-40.patch @@ -0,0 +1,26 @@ +--- a/src/wl/sys/wl_cfg80211_hybrid.c 2015-03-16 14:39:29.899350026 +0100 ++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2015-03-16 14:39:06.732682365 +0100 +@@ -1452,7 +1452,11 @@ + WL_DBG(("Could not get rate (%d)\n", err)); + } else { + rate = dtoh32(rate); ++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0) ++ sinfo->filled |= BIT(NL80211_STA_INFO_TX_BITRATE); ++ #else + sinfo->filled |= STATION_INFO_TX_BITRATE; ++ #endif + sinfo->txrate.legacy = rate * 5; + WL_DBG(("Rate %d Mbps\n", (rate / 2))); + } +@@ -1465,7 +1469,11 @@ + return err; + } + rssi = dtoh32(scb_val.val); ++ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0) ++ sinfo->filled |= BIT(NL80211_STA_INFO_SIGNAL); ++ #else + sinfo->filled |= STATION_INFO_SIGNAL; ++ #endif + sinfo->signal = rssi; + WL_DBG(("RSSI %d dBm\n", rssi)); + } diff --git a/kernel/drivers/module-broadcom-wl/files/patch/linux-recent.patch b/kernel/drivers/module-broadcom-wl/files/patch/linux-recent.patch new file mode 100644 index 00000000..29f7860b --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/patch/linux-recent.patch @@ -0,0 +1,60 @@ +--- a/src/wl/sys/wl_cfg80211_hybrid.c 2014-06-26 12:42:08.000000000 +0200 ++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2014-10-08 18:47:07.549476082 +0200 +@@ -2071,7 +2071,22 @@ + wl_get_assoc_ies(wl); + memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN); + wl_update_bss_info(wl); +- cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, GFP_KERNEL); ++ { ++ struct wl_bss_info *bi; ++ u16 bss_info_channel; ++ struct ieee80211_channel *channel; ++ u32 freq; ++ ++ bi = (struct wl_bss_info *)(wl->extra_buf + 4); ++ bss_info_channel = bi->ctl_ch ? bi->ctl_ch : CHSPEC_CHANNEL(bi->chanspec); ++ ++ freq = ieee80211_channel_to_frequency(bss_info_channel, ++ (bss_info_channel <= CH_MAX_2G_CHANNEL) ? ++ IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ); ++ ++ channel = ieee80211_get_channel(wl_to_wiphy(wl), freq); ++ cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL); ++ } + set_bit(WL_STATUS_CONNECTED, &wl->status); + wl->profile->active = true; + } +--- a/src/wl/sys/wl_linux.c 2014-06-26 12:42:08.000000000 +0200 ++++ b/src/wl/sys/wl_linux.c 2014-10-08 18:47:19.526693719 +0200 +@@ -878,7 +878,7 @@ + static SIMPLE_DEV_PM_OPS(wl_pm_ops, wl_suspend, wl_resume); + #endif + +-static struct pci_driver wl_pci_driver = { ++static struct pci_driver wl_pci_driver __refdata = { + .name = "wl", + .probe = wl_pci_probe, + .remove = __devexit_p(wl_remove), +@@ -1307,7 +1307,12 @@ + dev->priv = priv_link; + #else + ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)) + dev = alloc_netdev(sizeof(priv_link_t), intf_name, ether_setup); ++#else ++ dev = alloc_netdev(sizeof(priv_link_t), intf_name, NET_NAME_UNKNOWN, ++ ether_setup); ++#endif + if (!dev) { + WL_ERROR(("wl%d: %s: alloc_netdev failed\n", + (wl->pub)?wl->pub->unit:wlif->subunit, __FUNCTION__)); +--- a/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-10 03:43:11.145810000 +0000 ++++ b/src/wl/sys/wl_cfg80211_hybrid.c 2014-12-10 03:44:37.700680960 +0000 +@@ -2010,7 +2010,7 @@ + + notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset); + notify_ielen = le32_to_cpu(bi->ie_length); +- cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet), ++ cbss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, (const u8 *)(bi->BSSID.octet), + 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int, + (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL); \ No newline at end of file diff --git a/kernel/drivers/module-broadcom-wl/files/patch/wlan.patch b/kernel/drivers/module-broadcom-wl/files/patch/wlan.patch new file mode 100644 index 00000000..4e1e50df --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/files/patch/wlan.patch @@ -0,0 +1,11 @@ +diff -urN a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c +--- a/src/wl/sys/wl_linux.c 2013-08-01 09:52:22.000000000 +0300 ++++ b/src/wl/sys/wl_linux.c 2013-09-27 09:20:11.495023471 +0300 +@@ -235,7 +235,7 @@ + #define to_str(s) #s + #define quote_str(s) to_str(s) + +-#define BRCM_WLAN_IFNAME eth%d ++#define BRCM_WLAN_IFNAME wlan%d + + static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME); diff --git a/kernel/drivers/module-broadcom-wl/pspec.xml b/kernel/drivers/module-broadcom-wl/pspec.xml new file mode 100644 index 00000000..081e0d54 --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/pspec.xml @@ -0,0 +1,346 @@ + + + + + module-broadcom-wl + http://www.broadcom.com/support/802.11/linux_sta.php + + Serdar Soytetir + kaptan@pisilinux.org + + freedist + driver + Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311, BCM4312, BCM4321, and BCM4322 based hardware + This package contains Broadcom's IEEE 802.11a/b/g/n hybrid Linux device driver for use with Broadcom's BCM4311, BCM4312, BCM4321, and BCM4322 based hardware. You must read the LICENSE.txt file in the docs directory before using this software. + http://www.broadcom.com/docs/linux_sta/hybrid-v35-nodebug-pcoem-6_30_223_248.tar.gz + http://www.broadcom.com/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_248.tar.gz + + kernel-module-headers + + + patch/linux-40.patch + patch/linux-recent.patch + patch/license.patch + patch/gcc.patch + patch/wlan.patch + patch/broadcom-sta-6.30.223.248-linux-3.18-null-pointer-crash.patch + + + + + module-broadcom-wl + + kernel + module-broadcom-wl-userspace + + + broadcom-wl + + + /lib/modules + + + noDelta + + + + + module-broadcom-wl-userspace + modprobe rules and documents for broadcom-wl kernel driver + + /etc/modprobe.d + /usr/share/doc + + + conf/broadcom-wl + conf/broadcom-wl-alias.conf + conf/broadcom-wl-blacklist.conf + + + noDelta + + + + + + 2015-06-16 + 6.30.223.248 + Rebuild for kernel 4.0.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-22 + 6.30.223.248 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-05-05 + 6.30.223.248 + Rebuild for kernel 3.19.6 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-24 + 6.30.223.248 + Rebuild for kernel 3.19.5 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-16 + 6.30.223.248 + Rebuild for kernel 3.19.4 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-04-02 + 6.30.223.248 + Rebuild for kernel 3.19.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2015-03-08 + 6.30.223.248 + Rebuild for kernel 3.19.1 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-03-01 + 6.30.223.248 + Rebuild for kernel 3.19.0 + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2015-02-28 + 6.30.223.248 + Rebuild for kernel 3.18.3 + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-11-29 + 6.30.223.248 + Rebuild for kernel 3.17.4 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-10-19 + 6.30.223.248 + Rebuild for kernel 3.17.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-19 + 6.30.223.248 + Rebuild for kernel 3.16.3 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-09-03 + 6.30.223.248 + Rebuild for kernel 3.16.1 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-07-23 + 6.30.223.248 + Version bump for kernel 3.15.6 + Vedat Demir + vedat@pisilinux.org + + + 2014-06-15 + 6.30.223.141 + Rebuild for kernel 3.15.0 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-29 + 6.30.223.141 + Rebuild for kernel 3.14.4. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-05-02 + 6.30.223.141 + Rebuild for kernel 3.14.2. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-15 + 6.30.223.141 + Rebuild for kernel 3.13.10. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-03-29 + 6.30.223.141 + Rebuild for 3.13.6 + PisiLinux Community + admins@pisilinux.org + + + 2014-03-01 + 6.30.223.141 + Rebuild for 3.12.13 + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-01-17 + 6.30.223.141 + Rebuild for 3.12.8 + Yusuf Aydemir + yusuf.aydemir@pisilinux.org + + + 2013-12-17 + 6.30.223.141 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-12-14 + 6.30.223.141 + Rebuild for 3.12.5 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-23 + 5.100.82.112 + Rebuild for 3.10.20 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-11-05 + 5.100.82.112 + Rebuild for 3.10.18 + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-10-09 + 5.100.82.112 + fix solution broadcom-wl + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-28 + 5.100.82.112 + fix solution broadcom-wl + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-18 + 5.100.82.112 + fix solution broadcom-wl + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-09-05 + 5.100.82.112 + fix solution broadcom-wl + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-30 + 5.100.82.112 + 3.10.10 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 5.100.82.112 + 3.10.9 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-20 + 5.100.82.112 + 3.10.x + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-08-11 + 5.100.82.112 + without blacklist + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-07-26 + 5.100.82.112 + Rebuild for Kernel 3.10.x + Marcin Bojara + marcin@pisilinux.org + + + 2013-06-15 + 5.100.82.112 + rebuild for Kernel 3.8.13 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-26 + 5.100.82.112 + rebuild for Kernel 3.9.4 + Erdinç Gültekin + erdincgultekin@pisilinux.org + + + 2013-05-26 + 5.100.82.112 + Kernel 3.9.3 + PisiLinux Community + admins@pisilinux.org + + + 2013-02-07 + 5.100.82.112 + Runtime dep + Ertan Güven + admins@pisilinux.org + + + 2013-02-01 + 5.100.82.112 + bump+fix for new kernel-line + Erdinç Gültekin + admins@pisilinux.org + + + 2011-09-15 + 5.100.82.38 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/kernel/drivers/module-broadcom-wl/translations.xml b/kernel/drivers/module-broadcom-wl/translations.xml new file mode 100644 index 00000000..119acf95 --- /dev/null +++ b/kernel/drivers/module-broadcom-wl/translations.xml @@ -0,0 +1,13 @@ + + + + module-broadcom-wl + Broadcom'un BCM4311, BCM4312, BCM4321 ve BCM4322 tabanlı kablosuz bağdaştırıcıları için IEEE 802.11a/b/g/n aygıt sürücüleri + Bu paket Broadcom'un BCM4311, BCM4312, BCM4321 ve BCM4322 tabanlı kablosuz bağdaştırıcıları ile kullanımı için IEEE 802.11a/b/g/n aygıt sürücülerini içerir. Bu yazılımı kullanmadan önce belgeler dizinindeki LICENSE.txt dosyasında yer alan lisans sözleşmesini okumalısınız. + + + + module-broadcom-wl-userspace + broadcom-wl çekirdek sürücüsü için modprobe kuralları ve belgeler + +