diff --git a/net-wireless/compat-wireless/Manifest b/net-wireless/compat-wireless/Manifest index 428f25e41..08a2a3ea6 100644 --- a/net-wireless/compat-wireless/Manifest +++ b/net-wireless/compat-wireless/Manifest @@ -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 diff --git a/net-wireless/compat-wireless/compat-wireless-2.6.37-r5.ebuild b/net-wireless/compat-wireless/compat-wireless-2.6.37-r5.ebuild new file mode 100644 index 000000000..5b9d361f6 --- /dev/null +++ b/net-wireless/compat-wireless/compat-wireless-2.6.37-r5.ebuild @@ -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 +} diff --git a/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch b/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch new file mode 100644 index 000000000..0b92e5cee --- /dev/null +++ b/net-wireless/compat-wireless/files/iwlwifi-5000-exp-firmware.patch @@ -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