mirror of
https://github.com/pentoo/pentoo-overlay
synced 2026-01-25 17:44:06 +01:00
added compat-wireless with runtime fragmentation support
This commit is contained in:
parent
fd85be0a50
commit
e0e4a646f8
4 changed files with 117 additions and 0 deletions
|
|
@ -4,6 +4,7 @@ AUX 4004_zd1211rw-2.6.28.patch 1412 RMD160 70c7cd8a8e03199b33c76ff16974d4a4980b8
|
|||
AUX 4005_ath5k-frequency-expansion-2.6.30.patch 4838 RMD160 e175138fd025ef0750178146c0c038c1664557bb SHA1 99322fe5cdf1a8ded58f65267503fddc90c934be SHA256 563a1644c51804d6014be54a7ce26cd4db70991a4b75c4b66370ea9136d40467
|
||||
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 4013-runtime-enable-disable-of-mac80211-packet-injection.patch 1490 RMD160 cf2b087a76a9a8839bc7113f048dd9d475151784 SHA1 7d0b8be0e119308efdaafc1ff97f5ee046b77005 SHA256 483ac63c753882d0e1f520101c437bd0594cbca8ecebeac2454b2f198c1f4959
|
||||
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
|
||||
|
|
@ -33,4 +34,5 @@ EBUILD compat-wireless-2.6.32_rc5-r1.ebuild 1779 RMD160 c943d857694cddcb21c92ace
|
|||
EBUILD compat-wireless-2.6.32_rc5.ebuild 1742 RMD160 dc0e574a6fa4d34fad5dc08a308ba4e88a28d8f8 SHA1 d7e130851c8578aa17fb74c5c3b3234d62121a04 SHA256 6a313e003762690538692f1022e75858a630c9c01bfc399697a28f8ab3e3230a
|
||||
EBUILD compat-wireless-2.6.32_rc6.ebuild 1779 RMD160 c943d857694cddcb21c92ace853a5a06116b7a1e SHA1 8636e437ad0edd666a8b919e0da0443f998b7b64 SHA256 2c2668bf82abc183816662e80068d3e37a788c70b4fd0ff7eb450fcc239f240e
|
||||
EBUILD compat-wireless-2.6.32_rc7-r1.ebuild 1929 RMD160 42b7a5c62813aa6f1f0681b9246efd34f217717a SHA1 81882c26de50066c171d5d0b521d2669bb127504 SHA256 8baad26721e3033629e64afd144f5f430d4ad3d6db6bee810d4c68775ea275c3
|
||||
EBUILD compat-wireless-2.6.32_rc7-r2.ebuild 2073 RMD160 bc2f37c5686f91affda5a7021d168b61915e0b9d SHA1 8c2957a0d2160ec73343a8890a702a150dd529cd SHA256 614ae861f626f90a9fa85084fe280d9bb47cfe18aa6815b9daeb7b078a660737
|
||||
EBUILD compat-wireless-2.6.32_rc7.ebuild 1804 RMD160 184e3e153488b5dbbefd92368035086a9e15825f SHA1 11626bb82f0b04485fefcef2efaae9ef9e62f017 SHA256 fb33ffed690e34491e2d7bf50a99d1aea334fac7e814ce2e3cf61644dab23130
|
||||
|
|
|
|||
|
|
@ -0,0 +1,70 @@
|
|||
# Copyright 1999-2009 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI="2"
|
||||
inherit linux-mod linux-info
|
||||
|
||||
##Stable
|
||||
MY_P=${P/_rc/-rc}
|
||||
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
|
||||
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
|
||||
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/v2.6.32/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+injection runtime-injection"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="=sys-kernel/linux-firmware-99999999"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
RESTRICT="strip"
|
||||
|
||||
CONFIG_CHECK="!DYNAMIC_FTRACE"
|
||||
|
||||
pkg_setup() {
|
||||
linux-mod_pkg_setup
|
||||
kernel_is -lt 2 6 27 && die "kernel 2.6.27 or higher is required"
|
||||
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_prepare() {
|
||||
#whynot patch is against the makefile to fix general brokeness
|
||||
epatch "${FILESDIR}"/whynot-2.6.32.patch
|
||||
|
||||
if use injection; then
|
||||
epatch "${FILESDIR}"/400[24]_*.patch
|
||||
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
|
||||
if use runtime-injection; then
|
||||
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
|
||||
fi
|
||||
epatch "${FILESDIR}"/compat-chaos.patch;
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
addpredict "${KERNEL_DIR}"
|
||||
set_arch_to_kernel
|
||||
emake KVER="${KV_FULL}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
for file in $(find -name \*.ko); do
|
||||
insinto "/lib/modules/${KV_FULL}/updates/$(dirname ${file})"
|
||||
doins "${file}" || die "failed to install module ${file}"
|
||||
done
|
||||
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
|
||||
scripts/madwifi-unload scripts/athload scripts/iwl-load \
|
||||
scripts/modlib.sh scripts/b43enable scripts/load.sh \
|
||||
scripts/unload.sh || die "script installation failed"
|
||||
dodoc README || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
update_depmod
|
||||
einfo 'You may have problem if you do not run "depmod -ae" after this installation'
|
||||
einfo 'To switch to the new drivers without reboot run unload.sh then load.sh'
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
--- net/mac80211/tx.c 2009-11-29 14:59:53.474095955 +0100
|
||||
+++ net/mac80211/tx.c 2009-11-29 15:03:06.436871431 +0100
|
||||
@@ -670,6 +670,10 @@
|
||||
return TX_CONTINUE;
|
||||
}
|
||||
|
||||
+static int ieee80211_injection_patch = 0;
|
||||
+module_param(ieee80211_injection_patch, int, 0644);
|
||||
+MODULE_PARM_DESC(ieee80211_injection_patch, "Enable packet injection patch");
|
||||
+
|
||||
static ieee80211_tx_result debug_noinline
|
||||
ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx)
|
||||
{
|
||||
@@ -686,14 +690,20 @@
|
||||
* 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.
|
||||
+ * This should be done using a radiotap flag. For the time being, this
|
||||
+ * may be enabled/disabled in
|
||||
+ * /sys/module/mac80211/parameters/ieee80211_injection_patch
|
||||
*/
|
||||
- if (unlikely((info->flags & IEEE80211_TX_CTL_INJECTED) &&
|
||||
- !(tx->sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))) {
|
||||
+ if (unlikely(ieee80211_injection_patch &&
|
||||
+ (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_injection_patch &&
|
||||
+ info->control.vif->type == NL80211_IFTYPE_MONITOR))
|
||||
+ return TX_CONTINUE;
|
||||
|
||||
if (unlikely(ieee80211_is_ctl(hdr->frame_control)))
|
||||
return TX_CONTINUE;
|
||||
8
net-wireless/compat-wireless/metadata.xml
Normal file
8
net-wireless/compat-wireless/metadata.xml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<use>
|
||||
<flag name="injection">Add patches for better wifi injection support</flag>
|
||||
<flag name="runtime-injection">Allow fragmentation support to be toggled at runtime</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
Loading…
Reference in a new issue