diff --git a/net-wireless/compat-wireless/Manifest b/net-wireless/compat-wireless/Manifest index b522ffa45..f89eb7ac1 100644 --- a/net-wireless/compat-wireless/Manifest +++ b/net-wireless/compat-wireless/Manifest @@ -5,18 +5,23 @@ AUX 4005_ath5k-frequency-expansion-2.6.30.patch 4838 RMD160 e175138fd025ef075017 AUX 4007_ath5k-pass-failed-crc.patch 568 RMD160 1f38abc77887fc23b5f09b1ddd7e4159ab190e91 SHA1 22ecfbd59b4e7f1038ac9415003e182cddae8df2 SHA256 12e8549aa3fd85d83fc7c80ab2dbd4ed5a22ae446af6979bfbdd4a3c2d4e9fe6 AUX 4012_openwrt-b43-disable_qos_when_openfw.patch 721 RMD160 cd67c2425cd5b29f637781652a49a951a9ffda21 SHA1 382947ee332836c43c4eeb32eb8358b88e18fd22 SHA256 f03374faa0d41a5dca7e20079d7a7bd59aebd309b56aa6c7f7108b596d3f0da2 AUX blinky.patch 357 RMD160 6c93e916efc56412f316076e836c1c5d98e58047 SHA1 e23568801309cdf2a01fa5be8cd3b9a3fcff5edd SHA256 1c2f0e18ecbcf2c07ba732671e77408326d2566d260f0252002c5698f9e65e30 +AUX compat-chaos.patch 6187 RMD160 2b8477fbf8b8bde456c5c32a8146330232ae355f SHA1 7bd56bcb3c50eb6f22be7ec24b886ae70bf747cd SHA256 5e8c11b46bc8acf10a2ce8b934fec32662b57c003c99e5e0ca4717a8c6b19474 AUX failed_ath5k-frequency-chaos-2.6.28.patch 5787 RMD160 978b39113ebdc4ec1543bd4379d4428431524cb6 SHA1 a1b9268aedeb0d9035fd13214fe465145f1c5334 SHA256 8e9e0888e890a2970274a7ba9d40d75e01ebaedb0e16700d8994b9ecfe921185 AUX failed_ieee80211_inject-2.6.22.patch 772 RMD160 ff6f70125009e3cd151ad12d8c2f1aa9333f5556 SHA1 8a1773b86a2742a4ae63f61dda48231b10b591bf SHA256 7403780cd3df720439f54b6cad88a803aacc0260af8fbbab0cfa25e523ae2ae9 AUX failed_ipw2200_ipw2200-1.2.1-inject.patch 2207 RMD160 b7ff866af15d91bc882f8c9f0f4f743e63e53b6f SHA1 2ff94a5031c826044fee3508e479cd04bb3abd00 SHA256 21cd575d13ef9a6d2beafea9070ca68296b4f187f2d46d23ea450b8eb1c78761 AUX failed_linux-wlanng-kernel-2.6.28.patch 11623 RMD160 23d11bb21ba059b7a0d7a2c597e5ae8224670dde SHA1 8d8d11912160dd8b38b805c928ea746ff9192ba8 SHA256 fd4bd200617c5f28e3a0ae58e5fa02f80279ad98aafed6c2e3d5b249a9b617c6 AUX failed_openembedded-orinoco-remove-all-which-are-in-hostap-HACK.patch 6606 RMD160 e479eb0e796aec521e2269d50e9ccc4426e1da55 SHA1 c76220bb8f3a118a224e555517b7e111603da47e SHA256 6b761693587871591fc0ce96273d37f769f61d28f637c1692d931300c4f04504 +AUX mac80211.compat08082009.wl_frag+ack_v1.patch 1049 RMD160 e864ee2e0c70ce344000baa8ee5fca3b23c3305a SHA1 85f7a1b141549b774f5631fba259bc414aeeffb8 SHA256 e04ed9997e1578cc1becd4ef9d9f2f6f606590aa91a56e42835963913e1b0f52 AUX whynot-2.6.31.patch 4272 RMD160 74ec1c66cfb376cf2c83401aa3edcdbfdd019438 SHA1 18f5680625ad68ebba773c8f39a04edf6456e2f2 SHA256 a1839efde553fb6c78b7121f94a3dc5401c146f9ff3e017e61de1b0298f4b371 +AUX whynot-2.6.32.patch 666 RMD160 fcca9ac8d2152bebe51643a4250dffed383aae68 SHA1 5d7261437f5c98758f13c6c3f8a5676769b05013 SHA256 07cfc03d0ad5c47bec08d320afa63c79c0e6be9109dcf42b9811aad10bdc9c63 AUX whynot.patch 4106 RMD160 ac38e8dbbe1a59607fe16b36f327a9ba73a001e7 SHA1 2208598c9f9811d368db099c863be2a2af11681e SHA256 956cf3a0a8b8e1f0f0e3df985e351799f325a44e4cddf042d677a9e8109b7c9e DIST compat-wireless-2.6.30-rc6.tar.bz2 1678784 RMD160 f0d69b99d37732a39ba01fdd869d150db8a55037 SHA1 1e91215069ba8cd46654836279dacc964d9dc854 SHA256 6b2beba044860624d44a0a8cc5a701b1243d9dd89f7d028daca12b4ca41d6512 DIST compat-wireless-2.6.30.tar.bz2 1677694 RMD160 814840138db96509a1e2bf35c6168227eb3a81f3 SHA1 bb2e23ce12afce2f76fdab56374f5f23ed2f0082 SHA256 318ebfc345923d8f99137923296384f1eaa6c496faf3bccbaa4dbd64155b0613 DIST compat-wireless-2.6.31-rc4.tar.bz2 1837069 RMD160 1f54bc55f06db5052dfa7a012f26066a787e4ec5 SHA1 8aef7bacf403b7eff313e7992ec07d20f9d37ac5 SHA256 9f0f58775872a950be6a0e11e6687f4a31e1566a2da568e0534de1589bbdd0ff DIST compat-wireless-2.6.31-rc7.tar.bz2 1949339 RMD160 ad1b6f63260d1e58734a5a3f5a59b79879104d61 SHA1 c1ee9ce2fcb4dd7ec663be75bb438db7c5d09415 SHA256 0f57477ec4120ef8459b2ab909410e5b286fcbb842362d03d4286977528a5e11 +DIST compat-wireless-2.6.32-rc1.tar.bz2 1993678 RMD160 656c85798cb4e469aee56fe3df0bd26a0da23504 SHA1 a1efb7d59ba34a4486f351faa0d06a0b4be3cc81 SHA256 f388042660fa3f06050c63010dcdac444f9f8c5e225c212b8c5f86ce96740bfa EBUILD compat-wireless-2.6.30.ebuild 3389 RMD160 1eea3ef67a627df083f65bc84d62439bd0c12b12 SHA1 8f143cc406d583fafad08332e02a9552f290d75c SHA256 0a08cd49f0c4a4d1fef41dcaf7906c179cbb23a7193a6708e0f3f3901b71c115 EBUILD compat-wireless-2.6.30_rc6.ebuild 3324 RMD160 d6372701d7ae635497eefb0b7ead25ea8c71fd4a SHA1 82565ba3f3a61ab7c1a17f2b159e24e5e71b708e SHA256 d3ab1be0727d5566ae1d2769874418119bf3884a217ccf03e03fa26c6786b6ce EBUILD compat-wireless-2.6.31_rc4.ebuild 1871 RMD160 a507e9841a00e03eb03d9e2da238012eee2617b2 SHA1 dbea89068f3c707fdc4fb34a7245b5eab706f48c SHA256 d84a8a1148366d10f874f54c4365666fad24b5f89b1955d97a4a71dae688de50 EBUILD compat-wireless-2.6.31_rc7.ebuild 1913 RMD160 4b919364152b8e4363f37bf226e85398b7214ecf SHA1 669b1d7533f6d74dfbff9859296a0593c635d605 SHA256 b4576695300917db98f4bc5c87a6244495458e2c1e83110dcbdbfe73d386e700 +EBUILD compat-wireless-2.6.32_rc1.ebuild 1744 RMD160 9e4f9844561e8e31f7b2f50c920109993ab63bee SHA1 37103a13b1130187e09c43d4120001cf37857521 SHA256 4af5bd54eb4d8ee205c59bcb4dfb1f66a6a858d86f732e9b321882099e1ca21e diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.32_rc1.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.32_rc1.ebuild new file mode 100644 index 000000000..2acc03d81 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.32_rc1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="Stable kernel pre-release wifi subsystem backport" +HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable" + +##Stable +MY_P=${P/_rc/-rc} +SRC_URI="http://www.orbit-lab.org/kernel/compat-wireless-2.6-stable/v2.6.32/${MY_P}.tar.bz2" + +inherit linux-mod linux-info + +DEPEND="=sys-kernel/linux-firmware-99999999" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="kernel_linux +injection" + +S=${WORKDIR}/${MY_P} +CONFIG_CHECK="!DYNAMIC_FTRACE" +RESTRICT="strip" + +pkg_setup() { + linux-mod_pkg_setup + linux_chkconfig_module MAC80211 || die "CONFIG_MAC80211 must be built as a _module_ !" + linux_chkconfig_module CFG80211 || die "CONFIG_CFG80211 must be built as a _module_ !" +} + +src_compile() { + if use injection; then epatch "${FILESDIR}"/400[24]_*.patch; fi + if use injection; then epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch; fi + if use injection; then epatch "${FILESDIR}"/compat-chaos.patch; fi + epatch "${FILESDIR}"/whynot-2.6.32.patch + epatch "${FILESDIR}"/blinky.patch + addpredict "${KERNEL_DIR}" + use amd64 && export ARCH="x86_64" + use x86 && export ARCH="x86" + emake KVER="${KV_FULL}" || die "emake failed" +} + +src_install() { + for file in `find ./ -name \*.ko` + do + MY_DIR="/lib/modules/${KV_FULL}/updates/$(dirname ${file})" + dodir "${MY_DIR}" + insinto "${MY_DIR}" + doins "${file}" + done + dosbin scripts/athenable scripts/b43load scripts/iwl-enable scripts/madwifi-unload scripts/athload + dosbin scripts/iwl-load scripts/modlib.sh scripts/b43enable scripts/load.sh scripts/unload.sh + dodoc README || die +} + +pkg_postinst() { + update_depmod +} diff --git a/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch b/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch new file mode 100644 index 000000000..8b7add3d8 --- /dev/null +++ b/net-wireless/compat-wireless/files/mac80211.compat08082009.wl_frag+ack_v1.patch @@ -0,0 +1,27 @@ +diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c +index 0855cac..221bed6 100644 +--- a/net/mac80211/tx.c ++++ b/net/mac80211/tx.c +@@ -677,11 +677,19 @@ int tid; + + /* + * Packet injection may want to control the sequence +- * number, if we have no matching interface then we +- * neither assign one ourselves nor ask the driver to. ++ * number, so if an injected packet is found, skip ++ * renumbering it. Also make the packet NO_ACK to avoid ++ * excessive retries (ACKing and retrying should be ++ * handled by the injecting application). ++ * FIXME This may break hostapd and some other injectors. ++ * This should be done using a radiotap flag. + */ +- if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR)) ++ if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) && ++ !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) { ++ if (!ieee80211_has_morefrags(hdr->frame_control)) ++ info->flags |= IEEE80211_TX_CTL_NO_ACK; + return TX_CONTINUE; ++ } + + if (unlikely(ieee80211_is_ctl(hdr->frame_control))) + return TX_CONTINUE; diff --git a/net-wireless/compat-wireless/files/whynot-2.6.32.patch b/net-wireless/compat-wireless/files/whynot-2.6.32.patch new file mode 100644 index 000000000..165e72019 --- /dev/null +++ b/net-wireless/compat-wireless/files/whynot-2.6.32.patch @@ -0,0 +1,18 @@ +diff -Naur compat-wireless-2.6.32-rc1/Makefile compat-wireless-2.6.32-rc1-fixed/Makefile +--- compat-wireless-2.6.32-rc1/Makefile 2009-10-02 19:40:50.000000000 -0400 ++++ compat-wireless-2.6.32-rc1-fixed/Makefile 2009-10-02 22:14:04.000000000 -0400 +@@ -3,13 +3,9 @@ + ifneq ($(origin KLIB), undefined) + KMODPATH_ARG:= "INSTALL_MOD_PATH=$(KLIB)" + else +-export KLIB:= /lib/modules/$(shell uname -r) ++export KLIB:= $(DESTDIR)/lib/modules/$(KVER) + endif + export KLIB_BUILD ?= $(KLIB)/build +-# Sometimes not available in the path +-MODPROBE := /sbin/modprobe +-MADWIFI=$(shell $(MODPROBE) -l ath_pci) +-OLD_IWL=$(shell $(MODPROBE) -l iwl4965) + + DESTDIR?= +