compat-wireless: added in a patch to permit use of intels new experimental firmware. later will add support for download and installing that firmware

This commit is contained in:
Zero_Chaos 2011-01-13 17:31:24 +00:00
parent d254f7a358
commit 30d1681771
3 changed files with 155 additions and 0 deletions

View file

@ -23,6 +23,7 @@ AUX force-enable-new-ralink-pci-2.6.36-rc5.patch 529 RMD160 f6d76a1db48cc227843f
AUX force-enable-new-ralink-pci.patch 371 RMD160 33206cfd78ff0c1e2694c7236915f4d74fd2875f SHA1 b6dd5ad0802c6186eca2b3da2e4afe3baea79456 SHA256 5ca2668bd930d2bba7eedbd78f2d538bf1a2ba3c8e1deb60af77580e66078a47
AUX force-enable-new-ralink.patch 558 RMD160 4cc8c5d09d49fcc831b4895d05ec6a14d5e16e22 SHA1 d3cc6b53ac5ef6644702d0ae227ac67a4832d075 SHA256 b6a411562c8c0964d36817f4d276a8db2c3169d6044b648650eb8b742c2dc898
AUX ipw2200-inject.2.6.36.patch 4139 RMD160 caac7cdd786c6779d136be13181cab0b845f392d SHA1 0cccb21cb5794c74e48d3354ca41eb2b8ae6dce6 SHA256 a23d46ba2183eca15b2afc9f88b1570589f51d67488cea5f514d534e218d6570
AUX iwlwifi-5000-exp-firmware.patch 475 RMD160 939e0bdc5245cbe9a126bdda00024b507286fcc1 SHA1 61fa5d19079bac708ac29efc1ede9420ec6b651b SHA256 7e486f5d28cfaa50a98d486f6456c11bebae25f9dd7fd4b09fc8e9b12517efff
AUX led-oops.patch 733 RMD160 50dc59a8893e7d77cf41653d8d39e5255dae8273 SHA1 9875b139e4111eb137cd1b43e3b68c85eb8915f5 SHA256 381f52b08f1b4c268fcc4ad88b0059d27b438bdab6acd4d54c882cc2505c99b9
AUX leds-disable-strict.patch 1614 RMD160 9b256283c9e278426d218a99d59ec4d7c68fa426 SHA1 865a1d0221da08ae80dd014247292558a98a392e SHA256 58170c088e6d4d78be497d3efe808252df75d660b4ae1fa370d3bbd9ee6299f2
AUX leds-disable.patch 1232 RMD160 5d82d47828e01462312ba3dd9cdc71564dc05f9a SHA1 1ca99516a1a6d92c7c45de6e5c5afefdacaa8c27 SHA256 55080ec9838b3eac1c06bb0b360374fa8170266ba0d85ceb1a88c7caef97ace0
@ -48,4 +49,5 @@ EBUILD compat-wireless-2.6.35-r1.ebuild 5471 RMD160 dcc6f3666823faee305165a846cd
EBUILD compat-wireless-2.6.36.ebuild 5332 RMD160 c4a19864f8703fce0b9369fc597f165290c56661 SHA1 efb406e9ab4ea21021f0e09edbfdb2e5d2a08f7e SHA256 52f02128f594db9950425aa03cd90cf9d5ff54d6475b25db696c58cd8c0a75d2
EBUILD compat-wireless-2.6.37-r3.ebuild 5435 RMD160 30788167a2178c7aa938748995d463b94ba93722 SHA1 102a976b067c2adea7e94ddfe09dece88b98e567 SHA256 468114a1339f0b6b5f8af96a74e0d720eea1b205916fc1ef343628f18313b9f5
EBUILD compat-wireless-2.6.37-r4.ebuild 5435 RMD160 f21a0918f32a430cb99c8b429e2190bdfd657891 SHA1 005db89cf334deb6182d9c1279702fdc210db1f9 SHA256 c8a9a20e11291f6856777fa18047428f87b7597155a646c1187d68c7d0e6cb19
EBUILD compat-wireless-2.6.37-r5.ebuild 5534 RMD160 fdd01b6a756cb21e0f6408e95b52d75ebeca8a71 SHA1 75689d48d080e8ce8432f3b0e8b5df797d4ce2f6 SHA256 bbdeca31156efb5333f407e66c9b737e42415dfa884b6b0bd167068d1f1d60fd
MISC metadata.xml 228 RMD160 cd3fb26b5d8049ab5dba38f21d7654ec033aa0eb SHA1 3148dfbdced7a623a311d21c6f728ab9c7135dae SHA256 8715828d1bff71d5d96b991ba600bae9376c1c80c96f0f102260fc335ca22487

View file

@ -0,0 +1,140 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="2"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-3)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="4-sn"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 amd64 arm"
IUSE="atheros_obey_crda debugfs debug-driver full-debug injection intel-exp-firmware noleds tinyversionoverride"
DEPEND=""
RDEPEND="=sys-kernel/linux-firmware-99999999"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
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 for compat wireless to be installed"
kernel_is -gt $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3) && die "The version of compat-wireless you are trying to install contains older modules than your kernel. Failing before downgrading your system."
if kernel_is -eq $(get_version_component_range 1) $(get_version_component_range 2) $(get_version_component_range 3); then
if use tinyversionoverride; then
ewarn "You have the tinyversionoverride use flag set which means you know for a fact that your"
ewarn "kernel is older than the compat-wireless you are installing."
ewarn "Most likely you have no clue what you are doing and should hit control-C now"
ewarn "before you downgrade your system. Ten seconds to think about it."
epause 10
else
ewarn "Your kernel version is most likely newer than the compat-wireless release you are"
ewarn "trying to install. If you are certain that your kernel is older then you can set"
ewarn "the tinyversionoverride use flag to override this safety check."
epause 5
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
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() {
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
#this patch is needed to forcibly enable new ralink chips because the shipped config.mk doesn't enable them
epatch "${FILESDIR}"/force-enable-new-ralink-pci-2.6.36-rc5.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#test patch for fixing iwlagn issues
#epatch "${FILESDIR}"/reinette-test2.patch
#this patch ignores the regulatory settings of an atheros card and uses what CRDA thinks is right
if use atheros_obey_crda; then
ewarn "You have enabled atheros_obey_crda which doesn't do what you think."
ewarn "This use flag will cause the eeprom of the card to be ignored and force"
ewarn "world roaming on the device until crda provides a valid regdomain."
ewarn "Short version, this is not a way to break the law, this will automatically"
ewarn "make your card less functional unless you set a proper regdomain with iw/crda."
ewarn "Pausing for 10 secs..."
epause 10
epatch "${FILESDIR}"/ath_ignore_eeprom.patch
fi
if use injection; then
epatch "${FILESDIR}"/4002_mac80211-2.6.29-fix-tx-ctl-no-ack-retry-count.patch
epatch "${FILESDIR}"/4004_zd1211rw-2.6.28.patch
epatch "${FILESDIR}"/mac80211.compat08082009.wl_frag+ack_v1.patch
epatch "${FILESDIR}"/4013-runtime-enable-disable-of-mac80211-packet-injection.patch
# epatch "${FILESDIR}"/compat-chaos.patch
epatch "${FILESDIR}"/rtl8187-mac80211-injection-speed-2.6.30-rc3.patch
# epatch "${FILESDIR}"/super_secret_patch.diff
epatch "${FILESDIR}"/ipw2200-inject.2.6.36.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && epatch "${FILESDIR}"/driver-debug.patch
use debugfs && sed -i '/DEBUGFS/s/^# *//' "${S}"/config.mk
if use full-debug; then
if use debug-driver ; then
sed -i '/CONFIG=/s/^# *//' "${S}"/config.mk
else
ewarn "Enabling full-debug includes debug-driver."
sed -i '/DEBUG=/s/^# *//' "${S}"/config.mk
fi
fi
use intel-exp-firmware && epatch "${FILESDIR}"/iwlwifi-5000-exp-firmware.patch
}
src_compile() {
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
emake KLIB_BUILD="${DESTDIR}"/lib/modules/"${KV_FULL}"/build || 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/b43enable scripts/unload.sh || die "script installation failed"
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh || die
dodoc README || die
dodir /$(get_libdir)/udev/rules.d/
insinto /$(get_libdir)/udev/rules.d/
doins udev/50-compat_firmware.rules
exeinto /$(get_libdir)/udev/
doexe udev/compat_firmware.sh
}
pkg_postinst() {
update_depmod
update_moduledb
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
your needed driver.'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -0,0 +1,13 @@
diff -Naur compat-wireless-2.6.37-4-sn-orig/config.mk compat-wireless-2.6.37-4-sn/config.mk
--- compat-wireless-2.6.37-4-sn-orig/config.mk 2011-01-12 20:03:11.000000000 -0500
+++ compat-wireless-2.6.37-4-sn/config.mk 2011-01-13 11:53:46.000000000 -0500
@@ -226,7 +226,8 @@
CONFIG_COMPAT_IWLWIFI=m
-# CONFIG_IWLWIFI_DEBUG=y
+CONFIG_IWLWIFI_DEBUG=y
+CONFIG_IWLWIFI_DEBUG_EXPERIMENTAL_UCODE=y
# CONFIG_IWLWIFI_DEBUGFS=y
# CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_IWLAGN=m