drop a bunch of old stuff which needed git-r2

This commit is contained in:
Rick Farina (Zero_Chaos) 2020-02-10 11:42:53 -05:00
parent 5d66750737
commit de3075af22
No known key found for this signature in database
GPG key ID: A29433C0AA431DDC
93 changed files with 9 additions and 36554 deletions

View file

@ -1 +0,0 @@
DIST redsocks-0.5.tar.gz 496403 SHA256 bbeb531d7f1986d7102f1bd6733dacce41d3f3ba7d604f1aab61c63e0ba2ee62 SHA512 678faca95b3570f793754abfe752b3d3580ea125aac8615ca2a1fce92cd50e7919832afe7cf5d1cc40b700045fca08f86ea1697d062ac8e7be706d166e69ff70 WHIRLPOOL aed4e6922f556696568d299767aaa917b90007359bfa37919112cb74bb6e91bb823bba585ef9dd878fe289c401dcc5df897b303861e882e7b5d105b2515054db

View file

@ -1,34 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit toolchain-funcs
DESCRIPTION="Transparent redirector of any TCP connection to proxy"
HOMEPAGE="http://darkk.net.ru/redsocks/"
SRC_URI="https://github.com/darkk/${PN}/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
# https://github.com/darkk/redsocks/archive/release-0.5.tar.gz
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="x86 amd64"
IUSE=""
RDEPEND="dev-libs/libevent
net-firewall/iptables"
DEPEND="virtual/pkgconfig
${RDEPEND}"
S="${WORKDIR}"/"${PN}"-release-"${PV}"
#src_compile() {
# emake
#}
src_install() {
dobin redsocks
dodoc README doc/*
insinto /etc/redsocks
newins redsocks.conf.example redsocks.conf
}

View file

@ -1,32 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=4
inherit git-2
DESCRIPTION="Transparent redirector of any TCP connection to proxy"
HOMEPAGE="http://darkk.net.ru/redsocks/"
EGIT_REPO_URI="git://github.com/darkk/${PN}.git"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS=""
IUSE=""
RDEPEND="dev-libs/libevent
net-firewall/iptables"
DEPEND="virtual/pkgconfig
${RDEPEND}"
src_compile() {
emake
}
src_install() {
dobin redsocks
dodoc README doc/*
insinto /etc/redsocks
newins redsocks.conf.example redsocks.conf
}

View file

@ -1,23 +0,0 @@
DIST compat-wireless-2.6.32.8.tar.bz2 2007299 SHA256 d48a86e82fb314b96097d437215a8c85fe5072d00586a00ef9950d26ba1e673b
DIST compat-wireless-2.6.33.tar.bz2 2266149 SHA256 740c8749808d82495c40a3139fc12e751463a82eb949804dfe96e166f0848200
DIST compat-wireless-2.6.34.tar.bz2 2370805 SHA256 4e4af0df6c74461571925bea8f315f86a6dee3f4a74bbafed7950fdf30fdddd4
DIST compat-wireless-2.6.35-1.tar.bz2 2548928 SHA256 579100ac48f459aa1ec71ae183e37ab91475109081a17c7b45fc5af35ed3c3ec
DIST compat-wireless-2.6.36-5-spn.tar.bz2 2664927 SHA256 da4362445405bf7de55947b79ee72a3a9c56cf4a91e3eef74f7896aad59b02df
DIST compat-wireless-2.6.37-4-sn.tar.bz2 3874734 SHA256 95bbc94885bfbccb50d42b4d677f1f1442713fc5db08905aaa05e2955b34b133
DIST compat-wireless-2.6.38.2-2-ns.tar.bz2 4060490 SHA256 f77b913f90bfc40233d7c71e2c274afac1134997a9257116521873ca1a5a0f79
DIST compat-wireless-2.6.39-1-sn.tar.bz2 4333239 SHA256 8fb43a233e91c0f3e48ef7428d2a4ee9d6bd77ce1edc1d248a9409bcb985ed71
DIST compat-wireless-3.0-2.tar.bz2 4238914 SHA256 492f9b5232cd061ca96c26718f5e4a98b9311f8f551713727fdd4fc0b57af79d
DIST compat-wireless-3.1.1-1.tar.bz2 4289900 SHA256 3ce364fe5acddd6fb7ebf0b74358fc489487384ad34d5247c60b073745075d02
DIST compat-wireless-3.2-1-s.tar.bz2 4107365 SHA256 b6d70ba8ec268d4d0cabece0ff227e1b1aaf7fe89e5261bd2b0dbfecad5cf4f8
DIST compat-wireless-3.2.5-1.tar.bz2 4102350 SHA256 a7bc714c8e438dea348a154c6f4ca583cdbc5155467ec9ae8498a90c70f89658
DIST compat-wireless-3.3-1.tar.bz2 4244971 SHA256 d676ecbe8c8c8257c5af1a7feb3c4e8372bf0984807bbc89c98b4df516d6231b
DIST compat-wireless-3.3-2-n.tar.bz2 4156020 SHA256 fdf4801775f7ad7692b9c8ee8b1712a16e198d6d810273b149be71c8e4663b4f
DIST compat-wireless-3.4-rc1-2.tar.bz2 4274601 SHA256 e8b00297b93d3af4397a4621b8f74dca26872cd2e2e5fd3cc398580d809a5089
DIST compat-wireless-3.4-rc3-1.tar.bz2 4275635 SHA256 44a2a890d389216332c862e4175d054e43dccb8734f7073202ab951ad69aed99
DIST compat-wireless-3.5-1-snpc.tar.bz2 4506539 SHA256 29b8784cc993f5797cbd3a09acafc4a2446987090bcb8f6f8f6b365b07fa3163 SHA512 74315d2000cb7507c4f95b2c0fe34646d24b6d4bf6e5b27eaa6e492cbd5d244d416867cf4cacbcc98add39f17634ab0476f5b879e81840529bf5f872c2b0e4fe WHIRLPOOL dc94c9072fb6d8c4ae5401e12e9cae8c0c058e3b9ff1a05e4242f65d19729d9107273cd4d97c5ded7bf4dce1c53c668fdd20bc8e94ca4981898d6a94c362c674
DIST compat-wireless-3.5-rc3-2-snpc.tar.bz2 4496631 SHA256 d741811bcf1609ccbb92b144dc4fd0f4e6efef626af272bcf16bb36e3a73f557 SHA512 30a8b14c17c78f5d60cf2e0b00e651d2bf2685e0a81ad96b7cbf6a8ba340e705097211467465751d09fd43e6eb872b0dc085ff92d073bb7fc8746bcbd0d89471 WHIRLPOOL 67cca3a4ada6af184d9e9ce67ff9db4f0cab4731a51c81ae524dc87b7a6715a4a0081758ec50c4cb5f119f982ed4aced006062fe87be229a6e427eb6c7aff699
DIST compat-wireless-3.5.4-1-snpc.tar.bz2 4444641 SHA256 0689b3c52655538e045c1f715d2715619e625330241b8e50df3f6e971f848d51 SHA512 58c502668c7a776dd6c46b39766e2dc6f74a285f4ee176d6852c22e9e19d95bc86b8ec1b784f5b4a7ffe5816d2c6bfe6bfe2132d7b9fe1e11fb6377122f64f67 WHIRLPOOL 366a72b8d414950ed855d68caea838bf04e54b047e6075188ba5d3fc0be919cf859ec3fac1dcfe90939f4bb91fe3dbe18ddc5cb11fc323f7e2a45d2a3f6a7f98
DIST compat-wireless-3.6-rc5-1-c.tar.bz2 4451239 SHA256 8e834f513760c5cf22fec2155b0044e6ec375ee6cb4592b484bb312e7fbf6bde SHA512 bbf9fb7a4570264ab49f6fed7494b907fd5153854df5d18df362a7a9f9ffdc36c7c305be37ff69669533e891777e020ffee5842b6b42374afcfedf4d09939efe WHIRLPOOL 2d24db5cc25f0cb8a8735b962d0a980e6b0192dff00a0f7f3bfb93459b8a3d0f364a453405db1e91b84b268a6567f2d4f3ac0d85dd6a52600cc2d1df90757f18
DIST compat-wireless-3.6-rc7-1-snpc.tar.bz2 4476642 SHA256 a6dddad3c5b11323d1220514bcf90d416809a7c79aa48206f8833294f917ffad SHA512 e937cf1f35150225e11b5d5cac68f66d1a27396392dec29e5becb297b344798aaf33b0d9f7a0526b3a467cf80190b7505e4468523ed223218b0d1b73af24c791 WHIRLPOOL 9df331c460fba824936a273075e40360b74dbdcc7c1fd4ec29d665b97cbfa3d2d303393bfc022a87720aee7662f58106ba3f8c7713b1cee09e1955ee63ab85e9
DIST compat-wireless-3.6.2-1-snpc.tar.bz2 4572972 SHA256 bb968ef3575193d378bc83612899a8c992050f36ea3a2d0772fc6fcd53b79f83 SHA512 961d3ea77ccb813ae8183dbdb3214ffbf03e0fe3f2a584261eb36515f810ff98dfdfb885c19cef9358aec084e65b6caa350de4e48dbbdcea357a8b5766797a67 WHIRLPOOL 274ae2d8af2218aaa0b73f70d343c566283dcfd2f4dc5269e88fdf89680a6a5a0b1223efc2eb4c0f7eac6033bdc81222f36b7af243898721d8c422694ee5b8cf
DIST compat-wireless-3.6.6-1-snpc.tar.bz2 4597715 SHA256 3df76268e9e09cac0214be4d048a18fb2baf58b896feebca3b42c88c50387cd3 SHA512 ae96538b0c8589200bae73dfed8a363b43048d61de949a58fcfd86a7c7af4d1bc97cae6f71a33e9e2c4cf9051d49fab192cf278154d8f17c8bffc3ffa5b08511 WHIRLPOOL de5bc105520c5f9df8fe1551bc667103cbb412ad4c25585968a12b591101b3fccbdf76e5adf218234d6f9b3d9974cda8234b12119c5775322b8f6b3e574389f0

View file

@ -1,80 +0,0 @@
# 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
##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"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="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
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
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
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.sh'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,86 +0,0 @@
# 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
##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"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="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 for compat wireless to be installed"
kernel_is -ge $(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."
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
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
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/b43enable scripts/load.sh \
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.sh'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,105 +0,0 @@
# 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
##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"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="injection tinyversionoverride"
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 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() {
#whynot patch is against the makefile to fix general brokeness
epatch "${FILESDIR}"/whynot-2.6.32.patch
#0001 is a patch to fix monitor mode promisc for ath5k, a bug present for a very long time.
#this patch should be merged soon and no longer needed.
epatch "${FILESDIR}"/0001-ath5k-retain-promiscuous-setting.patch
if use injection; then
epatch "${FILESDIR}"/400[24]_*.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
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/b43enable scripts/load.sh \
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.sh'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,147 +0,0 @@
# 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}
#remove the below line
MY_P=${PF/-r/-}
#remove the above line
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"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride"
DEPEND=""
RDEPEND="=sys-kernel/linux-firmware-99999999"
S=${WORKDIR}/${MY_P}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
# if ! version_is_at_least 4.4.3 "$(gcc-fullversion)"; then
# die
# fi
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() {
#whynot patch is against the makefile to fix general brokeness
epatch "${FILESDIR}"/whynot-2.6.32.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.35_rc2.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.patch
epatch "${FILESDIR}"/force-enable-new-ralink-pci.patch
#this patch is needed for general craziness of WEXT being removed from the kernel
epatch "${FILESDIR}"/WEXT-EXT-nuts.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}"/400[24]_*.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
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
}
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/b43enable scripts/load.sh \
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.sh'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,137 +0,0 @@
# 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"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-2.6-stable/${MY_PV}/${MY_P}-5-spn.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 amd64 arm"
IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride"
DEPEND=""
RDEPEND="=sys-kernel/linux-firmware-99999999"
S="${WORKDIR}"/"${MY_P}"-5-spn
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
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
}
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/load.sh \
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.sh'
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,139 +0,0 @@
# 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 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
#add support for ubiquiti toy for Ray
epatch "${FILESDIR}"/ubnt-wifi-station-ext2.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
}
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

@ -1,147 +0,0 @@
# 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 flag-o-matic
##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 noleds tinyversionoverride n900"
DEPEND=""
RDEPEND="!arm? ( =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
# this breaks wl1251 patches
#epatch "${FILESDIR}"/channel-negative-one-maxim.patch
#add support for ubiquiti toy for Ray
epatch "${FILESDIR}"/ubnt-wifi-station-ext2.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
if use arm; then
epatch "${FILESDIR}"/wl1251-inject-2.6.37.patch
fi
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
}
src_compile() {
export LDFLAGS=$(raw-ldflags)
addpredict "${KERNEL_DIR}"
set_arch_to_kernel
if use n900; then
./scripts/driver-select wl1251
fi
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

@ -1,142 +0,0 @@
# 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="2-ns"
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="arm amd64 x86"
IUSE="atheros_obey_crda debugfs debug-driver full-debug injection noleds tinyversionoverride"
DEPEND=""
RDEPEND=">=sys-kernel/linux-firmware-20110429"
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-2.6.38_rc3.patch
#ath9k_htc ethtool driver fix
epatch "${FILESDIR}"/ath9k_htc_ethtool_driver.patch
#this may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.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
# Disable B44 ethernet driver
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
}
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

@ -1,137 +0,0 @@
# Copyright 1999-2011 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="1-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="arm amd64 x86"
IUSE="atheros_obey_crda debugfs debug-driver full-debug injection livecd noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )"
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 may or may not HELP the channel -1 issue. this is not a fix
epatch "${FILESDIR}"/channel-negative-one-maxim.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
# Disable B44 ethernet driver
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
}
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

@ -1,170 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2).0
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="2"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="arm amd64 x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )
virtual/udev"
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) && 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) ; 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."
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."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
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_ !"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44"
linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-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
#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..."
epatch "${FILESDIR}"/ath_regd_optional.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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,176 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~arm amd64 x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )
virtual/udev"
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) && 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) ; 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."
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."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
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_ !"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44"
linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-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
#Linville finally stepped in and offered this patch so we are testing it
#epatch "${FILESDIR}"/linville-aircrack-ng.patch
#johill
epatch "${FILESDIR}"/johill-negone-paul.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..."
epatch "${FILESDIR}"/ath_regd_optional.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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,176 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )
virtual/udev"
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) && 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) ; 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."
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."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
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_ !"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44"
linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-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
#Linville finally stepped in and offered this patch so we are testing it
#epatch "${FILESDIR}"/linville-aircrack-ng.patch
#johill
epatch "${FILESDIR}"/johill-negone-paul.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..."
epatch "${FILESDIR}"/ath_regd_optional.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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,176 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-s"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )
virtual/udev"
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) && 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) ; 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."
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."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
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_ !"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_present SSB || die "You need to enable CONFIG_SSB or USE=-b44"
linux_chkconfig_present NET_ETHERNET || die "You need to enable CONFIG_NET_ETHERNET or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-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
#Linville finally stepped in and offered this patch so we are testing it
#epatch "${FILESDIR}"/linville-aircrack-ng.patch
#johill
epatch "${FILESDIR}"/johill-negone-paul.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..."
epatch "${FILESDIR}"/ath_regd_optional.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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
einfo "If you didn't USE=loadmodules you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,170 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="2-n"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND="!net-wireless/compat-wireless"
RDEPEND="${DEPEND}
livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20120219 )
virtual/udev"
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) && 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) ; 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."
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."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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..."
epatch "${FILESDIR}"/ath_regd_optional.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}"/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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,169 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )
virtual/udev"
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) && 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) ; 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."
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."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
epatch "${FILESDIR}"/make-make.patch
#this patch fixes a trivial typo in the config.mk
epatch "${FILESDIR}"/fix-typos-2.6.36_rc5.patch
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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..."
epatch "${FILESDIR}"/ath_regd_optional.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}"/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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,159 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="2"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )
virtual/udev"
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
ewarn "Please report that you saw this message in #pentoo on irc.freenode.net along with your uname -r"
fi
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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..."
epatch "${FILESDIR}"/ath_regd_optional.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}"/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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,164 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="2"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds tinyversionoverride"
DEPEND=""
RDEPEND="livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110709 )
virtual/udev"
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) && 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) ; 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."
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."
die "Your kernel version is too close to the compat-wireless version to risk installation."
fi
fi
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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..."
epatch "${FILESDIR}"/ath_regd_optional.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}"/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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
/usr/sbin/unload.sh
/sbin/udevadm trigger
einfo "Your new modules have been loaded for you, sorry for the network hiccup."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,156 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
livecd? ( =sys-kernel/linux-firmware-99999999 )
!livecd? ( >=sys-kernel/linux-firmware-20110219 )
virtual/udev"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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..."
epatch "${FILESDIR}"/ath_regd_optional.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}"/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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,170 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch
use pax_kernel && epatch "${FILESDIR}"/${P}-grsec2.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,173 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
IUSE="+alx atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5.4-grsec.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
if use alx; then
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
else
sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver"
fi
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,169 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,155 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="2-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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..."
epatch "${FILESDIR}"/ath_regd_optional.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}"/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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/CONFIG_B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/CONFIG_B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/CONFIG_B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/CONFIG_B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/CONFIG_COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/CONFIG_COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,179 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="+alx ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
if use alx; then
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
else
sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver"
fi
if use ath9k_htc; then
sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver"
else
sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver"
fi
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,181 +0,0 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
inherit linux-mod linux-info versionator eutils
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="+alx +ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}/${MY_P}-${CRAZY_VERSIONING}"
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${P}-grsec.patch
use pax_kernel && epatch "${FILESDIR}"/${P}-grsec-warnings.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
if use noleds; then
sed -ir 's/^\(export CONFIG_.*_LEDS=\)y$/\1n/' config.mk
epatch "${FILESDIR}/leds-disable-strict-${PV}.patch"
fi
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
if use alx; then
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
else
sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver"
fi
if use ath9k_htc; then
sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver"
else
sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver"
fi
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,179 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="+alx +ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
if use alx; then
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
else
sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver"
fi
if use ath9k_htc; then
sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver"
else
sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver"
fi
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,172 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-c"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
#KEYWORDS="~amd64 ~arm ~x86"
IUSE="atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5-grsec.patch
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.5-grsec2.patch
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-grsec.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,179 +0,0 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="4"
inherit linux-mod linux-info versionator eutils
##Stable
MY_P=${P/_rc/-rc}
MY_PV=v$(get_version_component_range 1-2)
DESCRIPTION="Stable kernel pre-release wifi subsystem backport"
HOMEPAGE="http://wireless.kernel.org/en/users/Download/stable"
CRAZY_VERSIONING="1-snpc"
SRC_URI="http://www.orbit-lab.org/kernel/${PN}-3.0-stable/${MY_PV}/${MY_P}-${CRAZY_VERSIONING}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="+alx ath9k_htc atheros_obey_crda bluetooth b43 b44 debugfs debug-driver full-debug injection livecd loadmodules noleds pax_kernel"
DEPEND="!net-wireless/compat-wireless-builder"
RDEPEND="${DEPEND}
>=sys-kernel/linux-firmware-20110219
virtual/udev"
S="${WORKDIR}"/"${MY_P}"-${CRAZY_VERSIONING}
RESTRICT="strip"
CONFIG_CHECK="!DYNAMIC_FTRACE"
pkg_setup() {
CONFIG_CHECK="~NET_SCHED"
CONFIG_CHECK="~IPW2200_PROMISCUOUS"
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."
#these things are not optional
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_ !"
linux_chkconfig_module LIBIPW || ewarn "CONFIG_LIBIPW really should be set or there will be no WEXT compat"
if use b43; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b43"
fi
if use b44; then
linux_chkconfig_module SSB || die "You need to enable CONFIG_SSB or USE=-b44"
fi
}
src_prepare() {
use pax_kernel && epatch "${FILESDIR}"/${PN}-3.6-zc-grsec.patch
#mcgrof said prep for inclusion in compat-wireless.git but this causes issues
#find "${S}" -name Makefile | xargs sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' -e 's/CONFIG_COMPAT_CHECK/CONFIG_CHECK/'
#sed -i -e 's/export CONFIG_/export CONFIG_COMPAT_/' -e 's/COMPAT_COMPAT_/COMPAT_/' "${S}"/config.mk
# CONFIG_CFG80211_REG_DEBUG=y
sed -i '/CFG80211_REG_DEBUG/s/^# *//' "${S}"/config.mk
#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."
epatch "${FILESDIR}"/ath_regd_optional.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}"/ipw2200-inject.3.4.6.patch
fi
use noleds && epatch "${FILESDIR}"/leds-disable-strict.patch
use debug-driver && sed -i '/DEBUG=y/s/^# *//' "${S}"/config.mk
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
# Disable B44 ethernet driver
if ! use b44; then
sed -i '/B44=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
sed -i '/B44_PCI=/s/ */#/' "${S}"/config.mk || die "unable to disable B44 driver"
fi
# Disable B43 driver
if ! use b43; then
sed -i '/B43=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
sed -i '/B43_PCI_AUTOSELECT=/s/ */#/' "${S}"/config.mk || die "unable to disable B43 driver"
#CONFIG_B43LEGACY=
fi
# fixme: there are more bluethooth settings in the config.mk
if ! use bluetooth; then
sed -i '/COMPAT_BLUETOOTH=/s/ */#/' "${S}"/config.mk || die "unable to disable bluetooth driver"
sed -i '/COMPAT_BLUETOOTH_MODULES=/s/ */#/' "${S}"/config.mk || die "unable to bluetooth B44 driver"
fi
#enable alx atheros ethernet driver
if use alx; then
sed -i 's/ALX=n/ALX=m/' "${S}"/config.mk || die "Failed to enable Atheros ALX driver"
else
sed -i 's/ALX=m/ALX=n/' "${S}"/config.mk || die "Failed to disable Atheros ALX driver"
fi
if use ath9k_htc; then
sed -i 's/ATH9K_HTC=n/ATH9K_HTC=m/' "${S}"/config.mk || die "Failed to enable Atheros 9k htc driver"
else
sed -i 's/ATH9K_HTC=m/ATH9K_HTC=n/' "${S}"/config.mk || die "Failed to disable Atheros 9k htc driver"
fi
#avoid annoying ACCESS DENIED sandbox errors
sed -i "s/\${MAKE} -C \${KLIB_BUILD} kernelversion/echo ${KV_FULL}/g" compat/scripts/gen-compat-config.sh || die "sed failed"
sed -i "s/shell \$(MAKE) -C \$(KLIB_BUILD) kernelversion/echo ${KV_FULL}/g" config.mk || die "sed failed"
sed -i "s/make -C \$KLIB_BUILD kernelversion/echo ${KV_FULL}/g" scripts/gen-compat-autoconf.sh || die "sed failed"
}
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}"
done
dosbin scripts/athenable scripts/b43load scripts/iwl-enable \
scripts/madwifi-unload scripts/athload scripts/iwl-load \
scripts/b43enable scripts/unload.sh
dodir /usr/lib/compat-wireless
exeinto /usr/lib/compat-wireless
doexe scripts/modlib.sh
dodoc README
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
if use !livecd; then
if use loadmodules; then
einfo "Attempting to unload modules..."
/usr/sbin/unload.sh 2>&1 | grep -E FATAL && ewarn "Unable to remove running modules, system may be unhappy, reboot HIGHLY recommended!"
einfo "Triggering automatic reload of needed modules..."
/sbin/udevadm trigger
einfo "We have attempted to load your new modules for you, this may fail horribly, or may just cause a network hiccup."
einfo "If you experience any issues reboot is the simplest course of action."
fi
fi
if use !loadmodules; then
einfo "You didn't USE=loadmodules but you can still attempt to switch to the new drivers without reboot."
einfo "Run 'unload.sh' then 'udevadm trigger' to cause udev to load the needed drivers."
einfo "If unload.sh fails for some reason you should be able to simply reboot to fix everything and load the new modules."
fi
}
pkg_postrm() {
remove_moduledb
}

View file

@ -1,48 +0,0 @@
From befe47a84a22312e0547d04cd3d250b0e49ecf54 Mon Sep 17 00:00:00 2001
From: Bob Copeland <me@bobcopeland.com>
Date: Thu, 27 May 2010 08:54:38 -0400
Subject: [PATCH] ath5k: retain promiscuous setting
Commit 56d1de0a21db28e41741cfa0a66e18bc8d920554, "ath5k: clean up
filter flags setting" introduced a regression in monitor mode such
that the promisc filter flag would get lost.
Although we set the promisc flag when it changed, we did not
preserve it across subsequent calls to configure_filter. This patch
restores the original functionality.
Cc: stable@kernel.org
Signed-off-by: Bob Copeland <me@bobcopeland.com>
---
Note, a better fix would be to just unconditionally look at new_flags,
but this is the minimal change for stable. I'll add fixing all this
stuff up to my todo.
drivers/net/wireless/ath/ath5k/base.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c
index 9c27623..9e023b8 100644
--- a/drivers/net/wireless/ath/ath5k/base.c
+++ b/drivers/net/wireless/ath/ath5k/base.c
@@ -3153,13 +3153,15 @@ static void ath5k_configure_filter(struct ieee80211_hw *hw,
if (changed_flags & (FIF_PROMISC_IN_BSS | FIF_OTHER_BSS)) {
if (*new_flags & FIF_PROMISC_IN_BSS) {
- rfilt |= AR5K_RX_FILTER_PROM;
__set_bit(ATH_STAT_PROMISC, sc->status);
} else {
__clear_bit(ATH_STAT_PROMISC, sc->status);
}
}
+ if (test_bit(ATH_STAT_PROMISC, sc->status))
+ rfilt |= AR5K_RX_FILTER_PROM;
+
/* Note, AR5K_RX_FILTER_MCAST is already enabled */
if (*new_flags & FIF_ALLMULTI) {
mfilt[0] = ~0;
--
1.6.3.3

View file

@ -1,27 +0,0 @@
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
@@ -611,11 +611,19 @@ ieee80211_tx_h_sequence(struct ieee80211_tx_data *tx)
/*
* 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))
+ 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;

View file

@ -1,17 +0,0 @@
tx.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index b47435d..751934b 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -539,7 +539,8 @@ ieee80211_tx_h_rate_ctrl(struct ieee80211_tx_data *tx)
if (tx->sta)
tx->sta->last_tx_rate = txrc.reported_rate;
- if (unlikely(!info->control.rates[0].count))
+ if (unlikely(!info->control.rates[0].count) ||
+ info->flags & IEEE80211_TX_CTL_NO_ACK)
info->control.rates[0].count = 1;
if (is_multicast_ether_addr(hdr->addr1)) {

View file

@ -1,37 +0,0 @@
diff -Naur linux-2.6.28-pentoo-r1-orig/drivers/net/wireless/zd1211rw/zd_mac.c linux-2.6.28-pentoo-r1-improved/drivers/net/wireless/zd1211rw/zd_mac.c
--- linux-2.6.28-pentoo-r1-orig/drivers/net/wireless/zd1211rw/zd_mac.c 2009-01-18 17:49:00.000000000 -0500
+++ linux-2.6.28-pentoo-r1-improved/drivers/net/wireless/zd1211rw/zd_mac.c 2009-01-18 18:46:44.000000000 -0500
@@ -191,14 +191,19 @@
static int set_rx_filter(struct zd_mac *mac)
{
unsigned long flags;
- u32 filter = STA_RX_FILTER;
+ struct zd_ioreq32 ioreqs[] = {
+ {CR_RX_FILTER, STA_RX_FILTER},
+ { CR_SNIFFER_ON, 0U },
+ };
spin_lock_irqsave(&mac->lock, flags);
- if (mac->pass_ctrl)
- filter |= RX_FILTER_CTRL;
+ if (mac->pass_ctrl) {
+ ioreqs[0].value |= 0xFFFFFFFF;
+ ioreqs[1].value = 0x1;
+ }
spin_unlock_irqrestore(&mac->lock, flags);
- return zd_iowrite32(&mac->chip, CR_RX_FILTER, filter);
+ return zd_iowrite32a(&mac->chip, ioreqs, ARRAY_SIZE(ioreqs));
}
static int set_mc_hash(struct zd_mac *mac)
@@ -657,7 +662,8 @@
/* Caller has to ensure that length >= sizeof(struct rx_status). */
status = (struct rx_status *)
(buffer + (length - sizeof(struct rx_status)));
- if (status->frame_status & ZD_RX_ERROR) {
+ if ((status->frame_status & ZD_RX_ERROR) ||
+ (status->frame_status & ~0x21)) {
if (mac->pass_failed_fcs &&
(status->frame_status & ZD_RX_CRC32_ERROR)) {
stats.flag |= RX_FLAG_FAILED_FCS_CRC;

View file

@ -1,132 +0,0 @@
diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.c ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.c
--- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.c 2009-06-10 16:58:40.000000000 -0700
+++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.c 2009-06-11 17:18:19.000000000 -0700
@@ -276,7 +276,7 @@
static void ath5k_detach(struct pci_dev *pdev,
struct ieee80211_hw *hw);
/* Channel/mode setup */
-static inline short ath5k_ieee2mhz(short chan);
+static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq);
static unsigned int ath5k_copy_channels(struct ath5k_hw *ah,
struct ieee80211_channel *channels,
unsigned int mode,
@@ -875,12 +875,15 @@
* Convert IEEE channel number to MHz frequency.
*/
static inline short
-ath5k_ieee2mhz(short chan)
+ath5k_ieee2mhz(int chan, unsigned int chfreq)
{
- if (chan <= 14 || chan >= 27)
- return ieee80211chan2mhz(chan);
+ if (chan == CHANNEL_5GHZ)
+ return (chan + 1000) * 5;
else
- return 2212 + chan * 20;
+ if (chan <= 14 || chan >= 27)
+ return ieee80211chan2mhz(chan);
+ else
+ return 2212 + chan * 20;
}
/*
@@ -903,7 +906,8 @@
unsigned int mode,
unsigned int max)
{
- unsigned int i, count, size, chfreq, freq, ch;
+ unsigned int i, count, size, chfreq, freq;
+ int ch;
if (!test_bit(mode, ah->ah_modes))
return 0;
@@ -912,13 +916,15 @@
case AR5K_MODE_11A:
case AR5K_MODE_11A_TURBO:
/* 1..220, but 2GHz frequencies are filtered by check_channel */
- size = 220 ;
+ size = 241 ;
+ ch = -40;
chfreq = CHANNEL_5GHZ;
break;
case AR5K_MODE_11B:
case AR5K_MODE_11G:
case AR5K_MODE_11G_TURBO:
- size = 26;
+ size = 70;
+ ch = -43;
chfreq = CHANNEL_2GHZ;
break;
default:
@@ -926,9 +932,8 @@
return 0;
}
- for (i = 0, count = 0; i < size && max > 0; i++) {
- ch = i + 1 ;
- freq = ath5k_ieee2mhz(ch);
+ for (i = 0, count = 0; i < size && max > 0; i++,ch++) {
+ freq = ath5k_ieee2mhz(ch,chfreq);
/* Check if channel is supported by the chipset */
if (!ath5k_channel_ok(ah, freq, chfreq))
@@ -1244,7 +1249,9 @@
rate = ieee80211_get_tx_rate(sc->hw, info);
- if (info->flags & IEEE80211_TX_CTL_NO_ACK)
+ if (info->flags & IEEE80211_TX_CTL_NO_ACK ||
+ (info->flags & IEEE80211_TX_CTL_INJECTED &&
+ !(ieee80211_has_morefrags(((struct ieee80211_hdr *)skb->data)->frame_control))))
flags |= AR5K_TXDESC_NOACK;
rc_flags = info->control.rates[0].flags;
diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.h ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.h
--- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/base.h 2009-06-10 16:58:50.000000000 -0700
+++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/base.h 2009-06-11 17:21:55.000000000 -0700
@@ -107,9 +107,9 @@
};
#if CHAN_DEBUG
-#define ATH_CHAN_MAX (26+26+26+200+200)
+#define ATH_CHAN_MAX (70+70+70+240+240)
#else
-#define ATH_CHAN_MAX (14+14+14+252+20)
+#define ATH_CHAN_MAX (70+70+70+240+240)
#endif
/* Software Carrier, keeps track of the driver state
diff -ru ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/caps.c ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/caps.c
--- ./compat-wireless-2009-06-11clean/drivers/net/wireless/ath/ath5k/caps.c 2009-06-10 16:58:40.000000000 -0700
+++ ./compat-wireless-2009-06-11/drivers/net/wireless/ath/ath5k/caps.c 2009-06-11 17:24:22.000000000 -0700
@@ -69,8 +69,8 @@
if (AR5K_EEPROM_HDR_11A(ee_header)) {
/* 4920 */
- ah->ah_capabilities.cap_range.range_5ghz_min = 5005;
- ah->ah_capabilities.cap_range.range_5ghz_max = 6100;
+ ah->ah_capabilities.cap_range.range_5ghz_min = 4800;
+ ah->ah_capabilities.cap_range.range_5ghz_max = 6000;
/* Set supported modes */
__set_bit(AR5K_MODE_11A,
@@ -88,7 +88,7 @@
(AR5K_EEPROM_HDR_11G(ee_header) &&
ah->ah_version != AR5K_AR5211)) {
/* 2312 */
- ah->ah_capabilities.cap_range.range_2ghz_min = 2412;
+ ah->ah_capabilities.cap_range.range_2ghz_min = 2192;
ah->ah_capabilities.cap_range.range_2ghz_max = 2732;
if (AR5K_EEPROM_HDR_11B(ee_header))
diff -ru ./compat-wireless-2009-06-11clean/net/mac80211/tx.c ./compat-wireless-2009-06-11/net/mac80211/tx.c
--- ./compat-wireless-2009-06-11clean/net/mac80211/tx.c 2009-06-10 16:58:40.000000000 -0700
+++ ./compat-wireless-2009-06-11/net/mac80211/tx.c 2009-06-11 18:18:20.000000000 -0700
@@ -1387,6 +1387,7 @@
{
struct ieee80211_master_priv *mpriv = netdev_priv(dev);
struct ieee80211_local *local = mpriv->local;
+ struct ieee80211_channel *chan = local->hw.conf.channel;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
struct net_device *odev = NULL;

View file

@ -1,15 +0,0 @@
diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c
--- linux-2.6.28/drivers/net/wireless/ath5k/base.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c 2009-02-06 21:38:43.000000000 -0500
@@ -1732,6 +1738,11 @@
goto accept;
}
+ /* Allow CRC errors through */
+ if (rs.rs_status & AR5K_RXERR_CRC) {
+ goto accept;
+ }
+
/* let crypto-error packets fall through in MNTR */
if ((rs.rs_status &
~(AR5K_RXERR_DECRYPT|AR5K_RXERR_MIC)) ||

View file

@ -1,12 +0,0 @@
diff -Naur linux-2.6.28-pentoo-r4/drivers/net/wireless/b43/main.c linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/b43/main.c
--- linux-2.6.28-pentoo-r4/drivers/net/wireless/b43/main.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/b43/main.c 2009-04-08 00:03:57.000000000 -0400
@@ -2299,6 +2299,8 @@
b43info(dev->wl, "Loading OpenSource firmware version %u.%u%s\n",
dev->fw.rev, dev->fw.patch,
dev->fw.pcm_request_failed ? " (Hardware crypto not supported)" : "");
+ /* The OpenSource firmware does not support qos for now. */
+ b43_modparam_qos = 0;
} else {
b43info(dev->wl, "Loading firmware version %u.%u "
"(20%.2i-%.2i-%.2i %.2i:%.2i:%.2i)\n",

View file

@ -1,37 +0,0 @@
--- 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 = 1;
+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;

View file

@ -1,159 +0,0 @@
Johannes Berg (2):
mac80211: fix two remote exploits
mac80211: fix spurious delBA handling
drivers/net/wireless/iwlwifi/iwl-tx.c | 10 +++++++++-
include/net/mac80211.h | 6 ++++++
net/mac80211/agg-rx.c | 4 ----
net/mac80211/agg-tx.c | 17 ++++++++---------
net/mac80211/ht.c | 8 +++-----
net/mac80211/ieee80211_i.h | 2 ++
6 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index fb9bcfa..b7e196e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -1277,8 +1277,16 @@ int iwl_tx_agg_stop(struct iwl_priv *priv , const u8 *ra, u16 tid)
return -ENXIO;
}
+ if (priv->stations[sta_id].tid[tid].agg.state ==
+ IWL_EMPTYING_HW_QUEUE_ADDBA) {
+ IWL_DEBUG_HT(priv, "AGG stop before setup done\n");
+ ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid);
+ priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF;
+ return 0;
+ }
+
if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON)
- IWL_WARN(priv, "Stopping AGG while state not IWL_AGG_ON\n");
+ IWL_WARN(priv, "Stopping AGG while state not ON or starting\n");
tid_data = &priv->stations[sta_id].tid[tid];
ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4;
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index c75b960..998c30f 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1283,6 +1283,12 @@ enum ieee80211_filter_flags {
*
* These flags are used with the ampdu_action() callback in
* &struct ieee80211_ops to indicate which action is needed.
+ *
+ * Note that drivers MUST be able to deal with a TX aggregation
+ * session being stopped even before they OK'ed starting it by
+ * calling ieee80211_start_tx_ba_cb(_irqsafe), because the peer
+ * might receive the addBA frame and send a delBA right away!
+ *
* @IEEE80211_AMPDU_RX_START: start Rx aggregation
* @IEEE80211_AMPDU_RX_STOP: stop Rx aggregation
* @IEEE80211_AMPDU_TX_START: start Tx aggregation
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index bc064d7..ce8e0e7 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -85,10 +85,6 @@ void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *r
struct ieee80211_local *local = sdata->local;
struct sta_info *sta;
- /* stop HW Rx aggregation. ampdu_action existence
- * already verified in session init so we add the BUG_ON */
- BUG_ON(!local->ops->ampdu_action);
-
rcu_read_lock();
sta = sta_info_get(local, ra);
diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
index 206fd82..89e238b 100644
--- a/net/mac80211/agg-tx.c
+++ b/net/mac80211/agg-tx.c
@@ -123,13 +123,18 @@ void ieee80211_send_bar(struct ieee80211_sub_if_data *sdata, u8 *ra, u16 tid, u1
ieee80211_tx_skb(sdata, skb, 0);
}
-static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
- enum ieee80211_back_parties initiator)
+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
+ enum ieee80211_back_parties initiator)
{
struct ieee80211_local *local = sta->local;
int ret;
u8 *state;
+#ifdef CONFIG_MAC80211_HT_DEBUG
+ printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n",
+ sta->sta.addr, tid);
+#endif /* CONFIG_MAC80211_HT_DEBUG */
+
state = &sta->ampdu_mlme.tid_state_tx[tid];
if (*state == HT_AGG_STATE_OPERATIONAL)
@@ -143,7 +148,6 @@ static int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
/* HW shall not deny going back to legacy */
if (WARN_ON(ret)) {
- *state = HT_AGG_STATE_OPERATIONAL;
/*
* We may have pending packets get stuck in this case...
* Not bothering with a workaround for now.
@@ -525,11 +529,6 @@ int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
goto unlock;
}
-#ifdef CONFIG_MAC80211_HT_DEBUG
- printk(KERN_DEBUG "Tx BA session stop requested for %pM tid %u\n",
- sta->sta.addr, tid);
-#endif /* CONFIG_MAC80211_HT_DEBUG */
-
ret = ___ieee80211_stop_tx_ba_session(sta, tid, initiator);
unlock:
@@ -545,7 +544,7 @@ int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw,
struct sta_info *sta;
int ret = 0;
- if (WARN_ON(!local->ops->ampdu_action))
+ if (!local->ops->ampdu_action)
return -EINVAL;
if (tid >= STA_TID_NUM)
diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c
index 48ef1a2..cdc58e6 100644
--- a/net/mac80211/ht.c
+++ b/net/mac80211/ht.c
@@ -141,7 +141,6 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
struct sta_info *sta,
struct ieee80211_mgmt *mgmt, size_t len)
{
- struct ieee80211_local *local = sdata->local;
u16 tid, params;
u16 initiator;
@@ -161,10 +160,9 @@ void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
WLAN_BACK_INITIATOR, 0);
else { /* WLAN_BACK_RECIPIENT */
spin_lock_bh(&sta->lock);
- sta->ampdu_mlme.tid_state_tx[tid] =
- HT_AGG_STATE_OPERATIONAL;
+ if (sta->ampdu_mlme.tid_state_tx[tid] & HT_ADDBA_REQUESTED_MSK)
+ ___ieee80211_stop_tx_ba_session(sta, tid,
+ WLAN_BACK_RECIPIENT);
spin_unlock_bh(&sta->lock);
- ieee80211_stop_tx_ba_session(&local->hw, sta->sta.addr, tid,
- WLAN_BACK_RECIPIENT);
}
}
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index a910bf1..10d316e 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -1091,6 +1091,8 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
int __ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
enum ieee80211_back_parties initiator);
+int ___ieee80211_stop_tx_ba_session(struct sta_info *sta, u16 tid,
+ enum ieee80211_back_parties initiator);
/* Spectrum management */
void ieee80211_process_measurement_req(struct ieee80211_sub_if_data *sdata,

View file

@ -1,71 +0,0 @@
From: Luis R. Rodriguez <lrodriguez@atheros.com>
Date: Thu, 17 Jun 2010 20:28:58 +0000 (-0700)
Subject: compat-wireles: fix compilation when you have disabled CONFIG_CFG80211_WEXT
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fmcgrof%2Fcompat-wireless-2.6.git;a=commitdiff_plain;h=75bb5106cc632665fdccb9abc13f35dbaf70df1e
compat-wireles: fix compilation when you have disabled CONFIG_CFG80211_WEXT
On newer kernels you can disable CONFIG_CFG80211_WEXT. If you try to
compile compat-wireless with CONFIG_CFG80211_WEXT disabled you get:
CC [M] /home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.o
/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c: In function 'cfg80211_netdev_notifier_call':
/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c:703: error: 'struct net_device' has no member named 'wireless_handlers'
/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.c:704: error: 'struct net_device' has no member named 'wireless_handlers'
make[3]: *** [/home/mcgrof/devel/compat-wireless-2.6/net/wireless/core.o] Error 1
make[2]: *** [/home/mcgrof/devel/compat-wireless-2.6/net/wireless] Error 2
make[1]: *** [_module_/home/mcgrof/devel/compat-wireless-2.6] Error 2
This is because we currently force CONFIG_CFG80211_WEXT to be enabled
on the compat_autoconf.h. Instead we should enable it conditionally
based on CONFIG_CFG80211_WEXT for older kernels and simply leave it
out for newer kernels, so we can respect your kernel config. For
newer kernels you cannot enable CONFIG_CFG80211_WEXT since
the net_device structure changes based on CONFIG_CFG80211_WEXT,
the wireless_handlers are not added to the net_device if you don't
have it enabled.
Reported-by: Mathieu Olivari <Mathieu.Olivari@Atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
diff --git a/config.mk b/config.mk
index 0001a7d..04a6f7e 100644
--- a/config.mk
+++ b/config.mk
@@ -162,8 +162,19 @@ CONFIG_BT_CMTP=m
endif
CONFIG_BT_HIDP=m
+# CONFIG_CFG80211_WEXT will be resepected for
+# future kernels but for older kenrels we need
+# to enable it against the the old CONFIG_WIRELESS_EXT.
+# By using a space here we prevent scripts/gen-compat-autoconf.sh
+# from defining CONFIG_CFG80211_WEXT through its grep sweep for ^CONFIG
+# options, instead its handled specially there based on kernel revision.
+# using this logic: if you are on older kernel and have CONFIG_WIRELESS_EXT
+# defined we'll define it.
+#
+# For newer kernels we'll just respect your own kernel's
+# autoconf.h
ifneq ($(CONFIG_WIRELESS_EXT),)
-CONFIG_CFG80211_WEXT=y
+ CONFIG_CFG80211_WEXT=y
endif
# mac80211 test driver
diff --git a/scripts/gen-compat-autoconf.sh b/scripts/gen-compat-autoconf.sh
index 7fb63e9..88e2740 100755
--- a/scripts/gen-compat-autoconf.sh
+++ b/scripts/gen-compat-autoconf.sh
@@ -193,8 +193,7 @@ if [ -f $KLIB_BUILD/Makefile ]; then
rm -f $MULT_DEP_FILE
# Kernels >= 2.6.32 can disable WEXT :D
if [ $SUBLEVEL -lt 32 ]; then
- # Handle core kernel wireless depenencies here
- define_config_req CONFIG_WIRELESS_EXT
+ define_config_dep CONFIG_CFG80211_WEXT 1 CONFIG_WIRELESS_EXT
fi
fi
fi

View file

@ -1,37 +0,0 @@
From: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Pass the correct module name and device interface so that
ethtool can display the proper values.
The firmware version will be fixed later on when the FW
can actually report a version. :)
Reported-by: Richard Farina <sidhayn@gmail.com>
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
---
drivers/net/wireless/ath/ath9k/hif_usb.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
index f1b8af6..2d10239 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
@@ -1040,7 +1040,7 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface,
}
ret = ath9k_htc_hw_init(hif_dev->htc_handle,
- &hif_dev->udev->dev, hif_dev->device_id,
+ &interface->dev, hif_dev->device_id,
hif_dev->udev->product, id->driver_info);
if (ret) {
ret = -EINVAL;
@@ -1158,7 +1158,7 @@ fail_resume:
#endif
static struct usb_driver ath9k_hif_usb_driver = {
- .name = "ath9k_hif_usb",
+ .name = KBUILD_MODNAME,
.probe = ath9k_hif_usb_probe,
.disconnect = ath9k_hif_usb_disconnect,
#ifdef CONFIG_PM
-- 1.7.4.4

View file

@ -1,70 +0,0 @@
diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c
--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c 2010-06-11 14:16:36.000000000 -0400
+++ /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.c 2010-06-21 17:20:13.000000000 -0400
@@ -18,6 +18,9 @@
#include <net/cfg80211.h>
#include <net/mac80211.h>
#include "regd.h"
+
+#ifdef ATH_FORCE_REGD
+
#include "regd_common.h"
/*
@@ -587,3 +590,5 @@
}
}
EXPORT_SYMBOL(ath_regd_get_band_ctl);
+
+#endif
diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h
--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r3/work/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h 2010-06-11 14:16:36.000000000 -0400
+++ /usr/src/compat-wireless-2.6.35-rc2/drivers/net/wireless/ath/regd.h 2010-06-21 17:21:33.000000000 -0400
@@ -250,6 +250,41 @@
CTRY_BELGIUM2 = 5002
};
+#ifndef ATH_FORCE_REGD
+
+static inline bool
+ath_is_world_regd(struct ath_regulatory *reg)
+{
+ return true;
+}
+
+static inline int
+ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
+ int (*reg_notifier)(struct wiphy *wiphy,
+ struct regulatory_request *request))
+{
+ return 0;
+}
+
+
+static inline u32
+ath_regd_get_band_ctl(struct ath_regulatory *reg,
+ enum ieee80211_band band)
+{
+ return SD_NO_CTL;
+}
+
+static inline int
+ath_reg_notifier_apply(struct wiphy *wiphy,
+ struct regulatory_request *request,
+ struct ath_regulatory *reg)
+{
+ return 0;
+}
+
+
+#else
+
bool ath_is_world_regd(struct ath_regulatory *reg);
int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
int (*reg_notifier)(struct wiphy *wiphy,
@@ -261,3 +296,5 @@
struct ath_regulatory *reg);
#endif
+
+#endif

View file

@ -1,39 +0,0 @@
diff -Naur compat-wireless-3.0-rc4-1-orig/drivers/net/wireless/ath/regd.c compat-wireless-3.0-rc4-1/drivers/net/wireless/ath/regd.c
--- compat-wireless-3.0-rc4-1-orig/drivers/net/wireless/ath/regd.c 2011-06-23 19:02:22.000000000 -0400
+++ compat-wireless-3.0-rc4-1/drivers/net/wireless/ath/regd.c 2011-06-26 01:52:35.000000000 -0400
@@ -193,6 +193,8 @@
u32 bandwidth = 0;
int r;
+ return;
+
for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
if (!wiphy->bands[band])
@@ -252,6 +254,8 @@
u32 bandwidth = 0;
int r;
+ return;
+
sband = wiphy->bands[IEEE80211_BAND_2GHZ];
/*
@@ -299,6 +303,8 @@
struct ieee80211_channel *ch;
unsigned int i;
+ return;
+
if (!wiphy->bands[IEEE80211_BAND_5GHZ])
return;
@@ -466,6 +472,8 @@
{
const struct ieee80211_regdomain *regd;
+ return 0;
+
wiphy->reg_notifier = reg_notifier;
wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY;

View file

@ -1,11 +0,0 @@
diff -Naur compat-wireless-2.6.31-rc7-orig/config.mk compat-wireless-2.6.31-rc7/config.mk
--- compat-wireless-2.6.31-rc7-orig/config.mk 2009-08-25 20:07:50.000000000 -0400
+++ compat-wireless-2.6.31-rc7/config.mk 2009-08-25 21:58:33.000000000 -0400
@@ -266,6 +266,7 @@
CONFIG_P54_USB=m
CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
CONFIG_AT76C50X_USB=m

View file

@ -1,38 +0,0 @@
commit fffd6e63ea75850dafbf2ccfb38a4189f43c0282
Author: Maxim Levitsky <maximlevitsky@xxxxxxxxx>
Date: Tue Jun 1 15:43:21 2010 +0300
wireless: allow to retrieve the channel set on monitor interface
This will allow to preserve compatibility with userspace
Signed-off-by: Maxim Levitsky <maximlevitsky@xxxxxxxxx>
diff --git a/net/wireless/chan.c b/net/wireless/chan.c
index b01a6f6..09d979b 100644
--- a/net/wireless/chan.c
+++ b/net/wireless/chan.c
@@ -49,9 +49,12 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
{
struct ieee80211_channel *chan;
int result;
+ struct wireless_dev *mon_dev = NULL;
- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR)
+ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) {
+ mon_dev = wdev;
wdev = NULL;
+ }
if (wdev) {
ASSERT_WDEV_LOCK(wdev);
@@ -76,5 +79,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
if (wdev)
wdev->channel = chan;
+ if (mon_dev)
+ mon_dev->channel = chan;
+
return 0;
}

View file

@ -1,166 +0,0 @@
diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.c compat-chaos/drivers/net/wireless/ath/ath5k/base.c
--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.c 2009-10-02 16:42:13.000000000 -0700
+++ compat-chaos/drivers/net/wireless/ath/ath5k/base.c 2009-10-05 09:45:40.000000000 -0700
@@ -285,7 +285,7 @@
static void ath5k_detach(struct pci_dev *pdev,
struct ieee80211_hw *hw);
/* Channel/mode setup */
-static inline short ath5k_ieee2mhz(short chan);
+static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq);
static unsigned int ath5k_copy_channels(struct ath5k_hw *ah,
struct ieee80211_channel *channels,
unsigned int mode,
@@ -889,7 +889,7 @@
* Convert IEEE channel number to MHz frequency.
*/
static inline short
-ath5k_ieee2mhz(short chan)
+ath5k_ieee2mhz(int chan, unsigned int chfreq)
{
if (chan <= 14 || chan >= 27)
return ieee80211chan2mhz(chan);
@@ -902,13 +902,7 @@
*/
static bool ath5k_is_standard_channel(short chan)
{
- return ((chan <= 14) ||
- /* UNII 1,2 */
- ((chan & 3) == 0 && chan >= 36 && chan <= 64) ||
- /* midband */
- ((chan & 3) == 0 && chan >= 100 && chan <= 140) ||
- /* UNII-3 */
- ((chan & 3) == 1 && chan >= 149 && chan <= 165));
+ return true;
}
static unsigned int
@@ -917,7 +911,8 @@
unsigned int mode,
unsigned int max)
{
- unsigned int i, count, size, chfreq, freq, ch;
+ unsigned int i, count, size, chfreq, freq;
+ int ch;
if (!test_bit(mode, ah->ah_modes))
return 0;
@@ -926,13 +921,15 @@
case AR5K_MODE_11A:
case AR5K_MODE_11A_TURBO:
/* 1..220, but 2GHz frequencies are filtered by check_channel */
- size = 220 ;
+ size = 3000 ;
+ ch = -40;
chfreq = CHANNEL_5GHZ;
break;
case AR5K_MODE_11B:
case AR5K_MODE_11G:
case AR5K_MODE_11G_TURBO:
- size = 26;
+ size = 3000;
+ ch = -43;
chfreq = CHANNEL_2GHZ;
break;
default:
@@ -940,9 +937,8 @@
return 0;
}
- for (i = 0, count = 0; i < size && max > 0; i++) {
- ch = i + 1 ;
- freq = ath5k_ieee2mhz(ch);
+ for (i = 0, count = 0; i < size && max > 0; i++,ch++) {
+ freq = ath5k_ieee2mhz(ch,chfreq);
/* Check if channel is supported by the chipset */
if (!ath5k_channel_ok(ah, freq, chfreq))
@@ -1246,7 +1242,9 @@
rate = ieee80211_get_tx_rate(sc->hw, info);
- if (info->flags & IEEE80211_TX_CTL_NO_ACK)
+ if (info->flags & IEEE80211_TX_CTL_NO_ACK ||
+ (info->flags & IEEE80211_TX_CTL_INJECTED &&
+ !(ieee80211_has_morefrags(((struct ieee80211_hdr *)skb->data)->frame_control))))
flags |= AR5K_TXDESC_NOACK;
rc_flags = info->control.rates[0].flags;
diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.h compat-chaos/drivers/net/wireless/ath/ath5k/base.h
--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/base.h 2009-10-02 16:42:15.000000000 -0700
+++ compat-chaos/drivers/net/wireless/ath/ath5k/base.h 2009-10-05 09:46:12.000000000 -0700
@@ -110,9 +110,9 @@
};
#if CHAN_DEBUG
-#define ATH_CHAN_MAX (26+26+26+200+200)
+#define ATH_CHAN_MAX (4000)
#else
-#define ATH_CHAN_MAX (14+14+14+252+20)
+#define ATH_CHAN_MAX (4000)
#endif
/* Software Carrier, keeps track of the driver state
diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/caps.c compat-chaos/drivers/net/wireless/ath/ath5k/caps.c
--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/caps.c 2009-10-02 16:42:13.000000000 -0700
+++ compat-chaos/drivers/net/wireless/ath/ath5k/caps.c 2009-10-05 09:47:07.000000000 -0700
@@ -69,8 +69,8 @@
if (AR5K_EEPROM_HDR_11A(ee_header)) {
/* 4920 */
- ah->ah_capabilities.cap_range.range_5ghz_min = 5005;
- ah->ah_capabilities.cap_range.range_5ghz_max = 6100;
+ ah->ah_capabilities.cap_range.range_5ghz_min = 4800;
+ ah->ah_capabilities.cap_range.range_5ghz_max = 6000;
/* Set supported modes */
__set_bit(AR5K_MODE_11A,
@@ -88,7 +88,7 @@
(AR5K_EEPROM_HDR_11G(ee_header) &&
ah->ah_version != AR5K_AR5211)) {
/* 2312 */
- ah->ah_capabilities.cap_range.range_2ghz_min = 2412;
+ ah->ah_capabilities.cap_range.range_2ghz_min = 2192;
ah->ah_capabilities.cap_range.range_2ghz_max = 2732;
if (AR5K_EEPROM_HDR_11B(ee_header))
diff -Naur compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/phy.c compat-chaos/drivers/net/wireless/ath/ath5k/phy.c
--- compat-wireless-2.6.32-rc1/drivers/net/wireless/ath/ath5k/phy.c 2009-10-02 16:42:13.000000000 -0700
+++ compat-chaos/drivers/net/wireless/ath/ath5k/phy.c 2009-10-05 09:48:55.000000000 -0700
@@ -830,13 +830,7 @@
bool ath5k_channel_ok(struct ath5k_hw *ah, u16 freq, unsigned int flags)
{
/* Check if the channel is in our supported range */
- if (flags & CHANNEL_2GHZ) {
- if ((freq >= ah->ah_capabilities.cap_range.range_2ghz_min) &&
- (freq <= ah->ah_capabilities.cap_range.range_2ghz_max))
- return true;
- } else if (flags & CHANNEL_5GHZ)
- if ((freq >= ah->ah_capabilities.cap_range.range_5ghz_min) &&
- (freq <= ah->ah_capabilities.cap_range.range_5ghz_max))
+ if ((freq >=2190) && (freq <=5900))
return true;
return false;
diff -Naur compat-wireless-2.6.32-rc1/include/net/ieee80211_radiotap.h compat-chaos/include/net/ieee80211_radiotap.h
--- compat-wireless-2.6.32-rc1/include/net/ieee80211_radiotap.h 2009-10-02 16:42:12.000000000 -0700
+++ compat-chaos/include/net/ieee80211_radiotap.h 2009-10-05 09:49:54.000000000 -0700
@@ -247,7 +247,7 @@
#define ieee80211chan2mhz(x) \
(((x) <= 14) ? \
(((x) == 14) ? 2484 : ((x) * 5) + 2407) : \
- ((x) + 1000) * 5)
+ ((x) + 2100))
/* helpers */
static inline int ieee80211_get_radiotap_len(unsigned char *data)
diff -Naur compat-wireless-2.6.32-rc1/net/mac80211/tx.c compat-chaos/net/mac80211/tx.c
--- compat-wireless-2.6.32-rc1/net/mac80211/tx.c 2009-10-02 16:42:12.000000000 -0700
+++ compat-chaos/net/mac80211/tx.c 2009-10-05 09:50:38.000000000 -0700
@@ -1392,6 +1392,7 @@
{
struct ieee80211_local *local = sdata->local;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
+ struct ieee80211_channel *chan = local->hw.conf.channel;
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data;
struct ieee80211_sub_if_data *tmp_sdata;
int headroom;

View file

@ -1,10 +0,0 @@
--- compat/compat-2.6.39.c.orig 2011-05-04 09:45:45.885000018 +0800
+++ compat/compat-2.6.39.c 2011-05-04 09:46:04.691000014 +0800
@@ -10,6 +10,7 @@
#include <linux/compat.h>
#include <linux/tty.h>
+#include <linux/sched.h>
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27))
/*

View file

@ -1,398 +0,0 @@
diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h
index c54b7d37..af1f359 100644
--- a/drivers/net/wireless/ath/ath.h
+++ b/drivers/net/wireless/ath/ath.h
@@ -119,6 +119,7 @@ struct ath_ops {
void (*write_flush) (void *);
u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr);
};
+typedef struct ath_ops __no_const ath_ops_no_const;
struct ath_common;
struct ath_bus_ops;
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_mac.c b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
index aa2abaf..5f5152d 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_mac.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_mac.c
@@ -183,8 +183,8 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
ads->ds_txstatus6 = ads->ds_txstatus7 = 0;
ads->ds_txstatus8 = ads->ds_txstatus9 = 0;
- ACCESS_ONCE(ads->ds_link) = i->link;
- ACCESS_ONCE(ads->ds_data) = i->buf_addr[0];
+ ACCESS_ONCE_RW(ads->ds_link) = i->link;
+ ACCESS_ONCE_RW(ads->ds_data) = i->buf_addr[0];
ctl1 = i->buf_len[0] | (i->is_last ? 0 : AR_TxMore);
ctl6 = SM(i->keytype, AR_EncrType);
@@ -198,26 +198,26 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
if ((i->is_first || i->is_last) &&
i->aggr != AGGR_BUF_MIDDLE && i->aggr != AGGR_BUF_LAST) {
- ACCESS_ONCE(ads->ds_ctl2) = set11nTries(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ds_ctl2) = set11nTries(i->rates, 0)
| set11nTries(i->rates, 1)
| set11nTries(i->rates, 2)
| set11nTries(i->rates, 3)
| (i->dur_update ? AR_DurUpdateEna : 0)
| SM(0, AR_BurstDur);
- ACCESS_ONCE(ads->ds_ctl3) = set11nRate(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ds_ctl3) = set11nRate(i->rates, 0)
| set11nRate(i->rates, 1)
| set11nRate(i->rates, 2)
| set11nRate(i->rates, 3);
} else {
- ACCESS_ONCE(ads->ds_ctl2) = 0;
- ACCESS_ONCE(ads->ds_ctl3) = 0;
+ ACCESS_ONCE_RW(ads->ds_ctl2) = 0;
+ ACCESS_ONCE_RW(ads->ds_ctl3) = 0;
}
if (!i->is_first) {
- ACCESS_ONCE(ads->ds_ctl0) = 0;
- ACCESS_ONCE(ads->ds_ctl1) = ctl1;
- ACCESS_ONCE(ads->ds_ctl6) = ctl6;
+ ACCESS_ONCE_RW(ads->ds_ctl0) = 0;
+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
return;
}
@@ -242,7 +242,7 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
break;
}
- ACCESS_ONCE(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
+ ACCESS_ONCE_RW(ads->ds_ctl0) = (i->pkt_len & AR_FrameLen)
| (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
| SM(i->txpower, AR_XmitPower)
| (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
@@ -252,19 +252,19 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
| (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable :
(i->flags & ATH9K_TXDESC_CTSENA ? AR_CTSEnable : 0));
- ACCESS_ONCE(ads->ds_ctl1) = ctl1;
- ACCESS_ONCE(ads->ds_ctl6) = ctl6;
+ ACCESS_ONCE_RW(ads->ds_ctl1) = ctl1;
+ ACCESS_ONCE_RW(ads->ds_ctl6) = ctl6;
if (i->aggr == AGGR_BUF_MIDDLE || i->aggr == AGGR_BUF_LAST)
return;
- ACCESS_ONCE(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ds_ctl4) = set11nPktDurRTSCTS(i->rates, 0)
| set11nPktDurRTSCTS(i->rates, 1);
- ACCESS_ONCE(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
+ ACCESS_ONCE_RW(ads->ds_ctl5) = set11nPktDurRTSCTS(i->rates, 2)
| set11nPktDurRTSCTS(i->rates, 3);
- ACCESS_ONCE(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ds_ctl7) = set11nRateFlags(i->rates, 0)
| set11nRateFlags(i->rates, 1)
| set11nRateFlags(i->rates, 2)
| set11nRateFlags(i->rates, 3)
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mac.c b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
index a66a13b..0ef399e 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
@@ -39,47 +39,47 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
(i->qcu << AR_TxQcuNum_S) | desc_len;
checksum += val;
- ACCESS_ONCE(ads->info) = val;
+ ACCESS_ONCE_RW(ads->info) = val;
checksum += i->link;
- ACCESS_ONCE(ads->link) = i->link;
+ ACCESS_ONCE_RW(ads->link) = i->link;
checksum += i->buf_addr[0];
- ACCESS_ONCE(ads->data0) = i->buf_addr[0];
+ ACCESS_ONCE_RW(ads->data0) = i->buf_addr[0];
checksum += i->buf_addr[1];
- ACCESS_ONCE(ads->data1) = i->buf_addr[1];
+ ACCESS_ONCE_RW(ads->data1) = i->buf_addr[1];
checksum += i->buf_addr[2];
- ACCESS_ONCE(ads->data2) = i->buf_addr[2];
+ ACCESS_ONCE_RW(ads->data2) = i->buf_addr[2];
checksum += i->buf_addr[3];
- ACCESS_ONCE(ads->data3) = i->buf_addr[3];
+ ACCESS_ONCE_RW(ads->data3) = i->buf_addr[3];
checksum += (val = (i->buf_len[0] << AR_BufLen_S) & AR_BufLen);
- ACCESS_ONCE(ads->ctl3) = val;
+ ACCESS_ONCE_RW(ads->ctl3) = val;
checksum += (val = (i->buf_len[1] << AR_BufLen_S) & AR_BufLen);
- ACCESS_ONCE(ads->ctl5) = val;
+ ACCESS_ONCE_RW(ads->ctl5) = val;
checksum += (val = (i->buf_len[2] << AR_BufLen_S) & AR_BufLen);
- ACCESS_ONCE(ads->ctl7) = val;
+ ACCESS_ONCE_RW(ads->ctl7) = val;
checksum += (val = (i->buf_len[3] << AR_BufLen_S) & AR_BufLen);
- ACCESS_ONCE(ads->ctl9) = val;
+ ACCESS_ONCE_RW(ads->ctl9) = val;
checksum = (u16) (((checksum & 0xffff) + (checksum >> 16)) & 0xffff);
- ACCESS_ONCE(ads->ctl10) = checksum;
+ ACCESS_ONCE_RW(ads->ctl10) = checksum;
if (i->is_first || i->is_last) {
- ACCESS_ONCE(ads->ctl13) = set11nTries(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ctl13) = set11nTries(i->rates, 0)
| set11nTries(i->rates, 1)
| set11nTries(i->rates, 2)
| set11nTries(i->rates, 3)
| (i->dur_update ? AR_DurUpdateEna : 0)
| SM(0, AR_BurstDur);
- ACCESS_ONCE(ads->ctl14) = set11nRate(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ctl14) = set11nRate(i->rates, 0)
| set11nRate(i->rates, 1)
| set11nRate(i->rates, 2)
| set11nRate(i->rates, 3);
} else {
- ACCESS_ONCE(ads->ctl13) = 0;
- ACCESS_ONCE(ads->ctl14) = 0;
+ ACCESS_ONCE_RW(ads->ctl13) = 0;
+ ACCESS_ONCE_RW(ads->ctl14) = 0;
}
ads->ctl20 = 0;
@@ -89,17 +89,17 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
ctl17 = SM(i->keytype, AR_EncrType);
if (!i->is_first) {
- ACCESS_ONCE(ads->ctl11) = 0;
- ACCESS_ONCE(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
- ACCESS_ONCE(ads->ctl15) = 0;
- ACCESS_ONCE(ads->ctl16) = 0;
- ACCESS_ONCE(ads->ctl17) = ctl17;
- ACCESS_ONCE(ads->ctl18) = 0;
- ACCESS_ONCE(ads->ctl19) = 0;
+ ACCESS_ONCE_RW(ads->ctl11) = 0;
+ ACCESS_ONCE_RW(ads->ctl12) = i->is_last ? 0 : AR_TxMore;
+ ACCESS_ONCE_RW(ads->ctl15) = 0;
+ ACCESS_ONCE_RW(ads->ctl16) = 0;
+ ACCESS_ONCE_RW(ads->ctl17) = ctl17;
+ ACCESS_ONCE_RW(ads->ctl18) = 0;
+ ACCESS_ONCE_RW(ads->ctl19) = 0;
return;
}
- ACCESS_ONCE(ads->ctl11) = (i->pkt_len & AR_FrameLen)
+ ACCESS_ONCE_RW(ads->ctl11) = (i->pkt_len & AR_FrameLen)
| (i->flags & ATH9K_TXDESC_VMF ? AR_VirtMoreFrag : 0)
| SM(i->txpower, AR_XmitPower)
| (i->flags & ATH9K_TXDESC_VEOL ? AR_VEOL : 0)
@@ -135,22 +135,22 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
val = (i->flags & ATH9K_TXDESC_PAPRD) >> ATH9K_TXDESC_PAPRD_S;
ctl12 |= SM(val, AR_PAPRDChainMask);
- ACCESS_ONCE(ads->ctl12) = ctl12;
- ACCESS_ONCE(ads->ctl17) = ctl17;
+ ACCESS_ONCE_RW(ads->ctl12) = ctl12;
+ ACCESS_ONCE_RW(ads->ctl17) = ctl17;
- ACCESS_ONCE(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ctl15) = set11nPktDurRTSCTS(i->rates, 0)
| set11nPktDurRTSCTS(i->rates, 1);
- ACCESS_ONCE(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
+ ACCESS_ONCE_RW(ads->ctl16) = set11nPktDurRTSCTS(i->rates, 2)
| set11nPktDurRTSCTS(i->rates, 3);
- ACCESS_ONCE(ads->ctl18) = set11nRateFlags(i->rates, 0)
+ ACCESS_ONCE_RW(ads->ctl18) = set11nRateFlags(i->rates, 0)
| set11nRateFlags(i->rates, 1)
| set11nRateFlags(i->rates, 2)
| set11nRateFlags(i->rates, 3)
| SM(i->rtscts_rate, AR_RTSCTSRate);
- ACCESS_ONCE(ads->ctl19) = AR_Not_Sounding;
+ ACCESS_ONCE_RW(ads->ctl19) = AR_Not_Sounding;
}
static u16 ar9003_calc_ptr_chksum(struct ar9003_txc *ads)
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index e88f182..4e57f5d 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -614,7 +614,7 @@ struct ath_hw_private_ops {
/* ANI */
void (*ani_cache_ini_regs)(struct ath_hw *ah);
-};
+} __no_const;
/**
* struct ath_hw_ops - callbacks used by hardware code and driver code
@@ -644,7 +644,7 @@ struct ath_hw_ops {
void (*antdiv_comb_conf_set)(struct ath_hw *ah,
struct ath_hw_antcomb_conf *antconf);
-};
+} __no_const;
struct ath_nf_limits {
s16 max;
@@ -664,7 +664,7 @@ enum ath_cal_list {
#define AH_FASTCC 0x4
struct ath_hw {
- struct ath_ops reg_ops;
+ ath_ops_no_const reg_ops;
struct ieee80211_hw *hw;
struct ath_common common;
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
index af00e2c..ab04d34 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
+++ b/drivers/net/wireless/brcm80211/brcmsmac/phy/phy_int.h
@@ -545,7 +545,7 @@ struct phy_func_ptr {
void (*carrsuppr)(struct brcms_phy *);
s32 (*rxsigpwr)(struct brcms_phy *, s32);
void (*detach)(struct brcms_phy *);
-};
+} __no_const;
struct brcms_phy {
struct brcms_phy_pub pubpi_ro;
diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c
index faec404..a5277f1 100644
--- a/drivers/net/wireless/iwlegacy/3945-mac.c
+++ b/drivers/net/wireless/iwlegacy/3945-mac.c
@@ -3611,7 +3611,9 @@ il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
*/
if (il3945_mod_params.disable_hw_scan) {
D_INFO("Disabling hw_scan\n");
- il3945_mac_ops.hw_scan = NULL;
+ pax_open_kernel();
+ *(void **)&il3945_mac_ops.hw_scan = NULL;
+ pax_close_kernel();
}
D_INFO("*** LOAD DRIVER ***\n");
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
index b7ce6a6..5649756 100644
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -1721,9 +1721,11 @@ static int __init init_mac80211_hwsim(void)
return -EINVAL;
if (fake_hw_scan) {
- mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan;
- mac80211_hwsim_ops.sw_scan_start = NULL;
- mac80211_hwsim_ops.sw_scan_complete = NULL;
+ pax_open_kernel();
+ *(void **)&mac80211_hwsim_ops.hw_scan = mac80211_hwsim_hw_scan;
+ *(void **)&mac80211_hwsim_ops.sw_scan_start = NULL;
+ *(void **)&mac80211_hwsim_ops.sw_scan_complete = NULL;
+ pax_close_kernel();
}
spin_lock_init(&hwsim_radio_lock);
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
index 35225e9..95e6bf9 100644
--- a/drivers/net/wireless/mwifiex/main.h
+++ b/drivers/net/wireless/mwifiex/main.h
This needed some manual massage to work on compat-wireless
@@ -567,7 +567,7 @@
int (*event_complete) (struct mwifiex_adapter *, struct sk_buff *);
int (*data_complete) (struct mwifiex_adapter *, struct sk_buff *);
int (*dnld_fw) (struct mwifiex_adapter *, struct mwifiex_fw_image *);
-};
+} __no_const;
struct mwifiex_adapter {
u8 iface_type;
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
index d66e298..55b0a89 100644
--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
@@ -1278,7 +1278,7 @@ static int set_rts_threshold(struct usbnet *usbdev, u32 rts_threshold)
netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold);
- if (rts_threshold < 0 || rts_threshold > 2347)
+ if (rts_threshold > 2347)
rts_threshold = 2347;
tmp = cpu_to_le32(rts_threshold);
diff --git a/drivers/net/wireless/wl1251/wl1251.h b/drivers/net/wireless/wl1251/wl1251.h
index 9d8f581..0f6589e 100644
--- a/drivers/net/wireless/ti/wl1251/wl1251.h
+++ b/drivers/net/wireless/ti/wl1251/wl1251.h
Special for compat-wireless: the module is in "ti" folder
@@ -266,7 +266,7 @@ struct wl1251_if_operations {
void (*reset)(struct wl1251 *wl);
void (*enable_irq)(struct wl1251 *wl);
void (*disable_irq)(struct wl1251 *wl);
-};
+} __no_const;
struct wl1251 {
struct ieee80211_hw *hw;
diff --git a/net/wireless/core.h b/net/wireless/core.h
index 3ac2dd0..fbe533e 100644
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -27,7 +27,7 @@ struct cfg80211_registered_device {
struct mutex mtx;
/* rfkill support */
- struct rfkill_ops rfkill_ops;
+ rfkill_ops_no_const rfkill_ops;
struct rfkill *rfkill;
struct work_struct rfkill_sync;
diff --git a/net/wireless/wext-core.c b/net/wireless/wext-core.c
index af648e0..6185d3a 100644
--- a/net/wireless/wext-core.c
+++ b/net/wireless/wext-core.c
@@ -747,8 +747,7 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
*/
/* Support for very large requests */
- if ((descr->flags & IW_DESCR_FLAG_NOMAX) &&
- (user_length > descr->max_tokens)) {
+ if (user_length > descr->max_tokens) {
/* Allow userspace to GET more than max so
* we can support any size GET requests.
* There is still a limit : -ENOMEM.
@@ -787,22 +786,6 @@ static int ioctl_standard_iw_point(struct iw_point *iwp, unsigned int cmd,
}
}
- if (IW_IS_GET(cmd) && !(descr->flags & IW_DESCR_FLAG_NOMAX)) {
- /*
- * If this is a GET, but not NOMAX, it means that the extra
- * data is not bounded by userspace, but by max_tokens. Thus
- * set the length to max_tokens. This matches the extra data
- * allocation.
- * The driver should fill it with the number of tokens it
- * provided, and it may check iwp->length rather than having
- * knowledge of max_tokens. If the driver doesn't change the
- * iwp->length, this ioctl just copies back max_token tokens
- * filled with zeroes. Hopefully the driver isn't claiming
- * them to be valid data.
- */
- iwp->length = descr->max_tokens;
- }
-
err = handler(dev, info, (union iwreq_data *) iwp, extra);
iwp->length += essid_compat;
--- a/drivers/net/ethernet/atheros/alx/alx_sw.h
+++ b/drivers/net/ethernet/atheros/alx/alx_sw.h
Unsure about this, making alx_hw_callbacks writeable, is that SElinux conform?
@@ -326,7 +326,7 @@
/* Others */
int (*get_ethtool_regs)(struct alx_hw *, void *);
-};
+} __no_const;
struct alx_hw {
struct alx_adapter *adpt;

View file

@ -1,33 +0,0 @@
--- drivers/net/wireless/ti/wl12xx/main.c
+++ drivers/net/wireless/ti/wl12xx/main.c
Thanks to ryao for explaining the fix on ZFS!
@@ -612,6 +612,10 @@
}
}
+static struct wlcore_ops wl127x_ops = {
+ .prepare_read = wl127x_prepare_read
+};
+
static int wl12xx_identify_chip(struct wl1271 *wl)
{
int ret = 0;
@@ -631,7 +635,8 @@
sizeof(wl->conf.mem));
/* read data preparation is only needed by wl127x */
- wl->ops->prepare_read = wl127x_prepare_read;
+ /* wl->ops->prepare_read = wl127x_prepare_read; */
+ wl->ops = &wl127x_ops;
break;
@@ -650,7 +655,8 @@
sizeof(wl->conf.mem));
/* read data preparation is only needed by wl127x */
- wl->ops->prepare_read = wl127x_prepare_read;
+ /* wl->ops->prepare_read = wl127x_prepare_read; */
+ wl->ops = &wl127x_ops;
break;

View file

@ -1,51 +0,0 @@
--- drivers/net/wireless/ti/wl18xx/main.c
+++ drivers/net/wireless/ti/wl18xx/main.c
@@ -1320,6 +1320,34 @@ static struct wlcore_ops wl18xx_ops = {
.pre_pkt_send = wl18xx_pre_pkt_send,
};
+static struct wlcore_ops wl18xx_ops_no_checksum = {
+ .identify_chip = wl18xx_identify_chip,
+ .boot = wl18xx_boot,
+ .plt_init = wl18xx_plt_init,
+ .trigger_cmd = wl18xx_trigger_cmd,
+ .ack_event = wl18xx_ack_event,
+ .calc_tx_blocks = wl18xx_calc_tx_blocks,
+ .set_tx_desc_blocks = wl18xx_set_tx_desc_blocks,
+ .set_tx_desc_data_len = wl18xx_set_tx_desc_data_len,
+ .get_rx_buf_align = wl18xx_get_rx_buf_align,
+ .get_rx_packet_len = wl18xx_get_rx_packet_len,
+ .tx_immediate_compl = wl18xx_tx_immediate_completion,
+ .tx_delayed_compl = NULL,
+ .hw_init = wl18xx_hw_init,
+ .set_tx_desc_csum = wl18xx_set_tx_desc_csum,
+ .get_pg_ver = wl18xx_get_pg_ver,
+ .set_rx_csum = NULL,
+ .sta_get_ap_rate_mask = wl18xx_sta_get_ap_rate_mask,
+ .ap_get_mimo_wide_rate_mask = wl18xx_ap_get_mimo_wide_rate_mask,
+ .get_mac = wl18xx_get_mac,
+ .debugfs_init = wl18xx_debugfs_add_files,
+ .handle_static_data = wl18xx_handle_static_data,
+ .get_spare_blocks = wl18xx_get_spare_blocks,
+ .set_key = wl18xx_set_key,
+ .pre_pkt_send = wl18xx_pre_pkt_send,
+ .init_vif = NULL,
+};
+
/* HT cap appropriate for wide channels in 2Ghz */
static struct ieee80211_sta_ht_cap wl18xx_siso40_ht_cap_2ghz = {
.cap = IEEE80211_HT_CAP_SGI_20 | IEEE80211_HT_CAP_SGI_40 |
@@ -1509,8 +1537,11 @@ static int __devinit wl18xx_probe(struct
}
if (!checksum_param) {
- wl18xx_ops.set_rx_csum = NULL;
- wl18xx_ops.init_vif = NULL;
+ /*
+ * wl18xx_ops.set_rx_csum = NULL;
+ * wl18xx_ops.init_vif = NULL;
+ */
+ wl->ops = &wl18xx_ops_no_checksum;
}
wl->enable_11a = enable_11a_param;

View file

@ -1,177 +0,0 @@
Fixes for:
drivers/net/wireless/ath/wil6210/cfg80211.c:527:2: warning: initialization from incompatible pointer type [enabled by default]
drivers/net/wireless/ath/wil6210/cfg80211.c:527:2: warning: (near initialization for wil_cfg80211_ops.scan) [enabled by default]
drivers/net/wireless/ath/wil6210/cfg80211.c:534:2: warning: initialization from incompatible pointer type [enabled by default]
drivers/net/wireless/ath/wil6210/cfg80211.c:534:2: warning: (near initialization for wil_cfg80211_ops.mgmt_tx) [enabled by default]
drivers/net/wireless/ath/wil6210/cfg80211.c:535:2: warning: initialization from incompatible pointer type [enabled by default]
drivers/net/wireless/ath/wil6210/cfg80211.c:535:2: warning: (near initialization for wil_cfg80211_ops.mgmt_frame_register) [enabled by default]
--- drivers/net/wireless/ath/wil6210/cfg80211.c
+++ drivers/net/wireless/ath/wil6210/cfg80211.c
@@ -351,6 +351,12 @@
return wmi_send_cmd(wil, &wmi_scan);
}
+static int wil_cfg80211_scan_no_ndev(struct wiphy *wiphy,
+ struct cfg80211_scan_request *request)
+{
+ return wil_cfg80211_scan(wiphy, NULL, request);
+}
+
static int wil_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_connect_params *sme)
{
@@ -486,7 +492,7 @@
return 0;
}
-static int wil_mgmt_tx(struct wiphy *wiphy, struct net_device *ndev,
+static int wil_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *ndev,
struct ieee80211_channel *chan, bool offchan,
enum nl80211_channel_type channel_type,
bool channel_type_valid, unsigned int wait,
@@ -502,7 +508,7 @@
}
static void wil_mgmt_frame_register(struct wiphy *wiphy,
- struct net_device *ndev, u16 frame_type, bool reg)
+ struct wireless_dev *ndev, u16 frame_type, bool reg)
{
struct wil6210_priv *wil = wiphy_to_wil(wiphy);
wil_info(wil, "%s()\n", __func__);
@@ -524,7 +530,7 @@
}
static struct cfg80211_ops wil_cfg80211_ops = {
- .scan = wil_cfg80211_scan,
+ .scan = wil_cfg80211_scan_no_ndev,
.connect = wil_cfg80211_connect,
.disconnect = wil_cfg80211_disconnect,
.set_tx_power = wil_cfg80211_set_txpower,
Fixes for:
drivers/net/wireless/ath/ath6kl/sdio.c: In function ath6kl_sdio_alloc_prep_scat_req:
drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the buf_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default]
drivers/net/wireless/ath/ath6kl/sdio.c:1478:1: warning: find_arg_number: cannot find the sg_sz argument in ath6kl_sdio_alloc_prep_scat_req [enabled by default]
--- drivers/net/wireless/ath/ath6kl/sdio.c
+++ drivers/net/wireless/ath/ath6kl/sdio.c
@@ -341,11 +341,14 @@
scat_list_sz = (n_scat_entry - 1) * sizeof(struct hif_scatter_item);
scat_req_sz = sizeof(*s_req) + scat_list_sz;
- if (!virt_scat)
+ if (!virt_scat) {
sg_sz = sizeof(struct scatterlist) * n_scat_entry;
- else
+ buf_sz = 0;
+ } else {
+ sg_sz = 0;
buf_sz = 2 * L1_CACHE_BYTES +
ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER;
+ }
for (i = 0; i < n_scat_req; i++) {
/* allocate the scatter request */
Fixes for:
drivers/net/wireless/ipw2x00/libipw_wx.c:526:21: warning: unused variable dev [-Wunused-variable]
--- drivers/net/wireless/ipw2x00/libipw_wx.c
+++ drivers/net/wireless/ipw2x00/libipw_wx.c
@@ -523,7 +523,7 @@
struct iw_request_info *info,
union iwreq_data *wrqu, char *extra)
{
- struct net_device *dev = ieee->dev;
+ // struct net_device *dev = ieee->dev;
struct iw_point *encoding = &wrqu->encoding;
struct iw_encode_ext *ext = (struct iw_encode_ext *)extra;
int i, idx, ret = 0;
@@ -599,7 +599,7 @@
break;
default:
LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n",
- dev->name, ext->alg);
+ ieee->dev->name, ext->alg);
ret = -EINVAL;
goto done;
}
@@ -611,7 +611,7 @@
}
if (ops == NULL) {
LIBIPW_DEBUG_WX("%s: unknown crypto alg %d\n",
- dev->name, ext->alg);
+ ieee->dev->name, ext->alg);
ret = -EINVAL;
goto done;
}
@@ -640,7 +640,7 @@
if (ext->key_len > 0 && (*crypt)->ops->set_key &&
(*crypt)->ops->set_key(ext->key, ext->key_len, ext->rx_seq,
(*crypt)->priv) < 0) {
- LIBIPW_DEBUG_WX("%s: key setting failed\n", dev->name);
+ LIBIPW_DEBUG_WX("%s: key setting failed\n", ieee->dev->name);
ret = -EINVAL;
goto done;
}
Fixes for:
compat/compat-3.7.c:37:2: warning: passing argument 1 of pci_find_capability discards const qualifier from pointer target type [enabled by default]
--- compat/compat-3.7.c
+++ compat/compat-3.7.c
@@ -29,7 +29,7 @@
* pci_dev but if we found it we likely would remove it from
* the kernel anyway right? Bite me.
*/
-static inline u16 pcie_flags_reg(const struct pci_dev *dev)
+static inline u16 pcie_flags_reg(struct pci_dev *dev)
{
int pos;
u16 reg16;
@@ -43,12 +43,12 @@
return reg16;
}
-static inline int pci_pcie_type(const struct pci_dev *dev)
+static inline int pci_pcie_type(struct pci_dev *dev)
{
return (pcie_flags_reg(dev) & PCI_EXP_FLAGS_TYPE) >> 4;
}
-static inline int pcie_cap_version(const struct pci_dev *dev)
+static inline int pcie_cap_version(struct pci_dev *dev)
{
return pcie_flags_reg(dev) & PCI_EXP_FLAGS_VERS;
}
@@ -58,7 +58,7 @@
return true;
}
-static inline bool pcie_cap_has_lnkctl(const struct pci_dev *dev)
+static inline bool pcie_cap_has_lnkctl(struct pci_dev *dev)
{
int type = pci_pcie_type(dev);
@@ -68,7 +68,7 @@
type == PCI_EXP_TYPE_LEG_END;
}
-static inline bool pcie_cap_has_sltctl(const struct pci_dev *dev)
+static inline bool pcie_cap_has_sltctl(struct pci_dev *dev)
{
int type = pci_pcie_type(dev);
@@ -78,7 +78,7 @@
pcie_flags_reg(dev) & PCI_EXP_FLAGS_SLOT);
}
-static inline bool pcie_cap_has_rtctl(const struct pci_dev *dev)
+static inline bool pcie_cap_has_rtctl(struct pci_dev *dev)
{
int type = pci_pcie_type(dev);
--- drivers/net/wireless/ath/ath5k/debug.c
+++ drivers/net/wireless/ath/ath5k/debug.c
@@ -58,6 +58,7 @@
* THE POSSIBILITY OF SUCH DAMAGES.
*/
+#undef pr_fmt
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/export.h>

View file

@ -1,120 +0,0 @@
diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk /usr/src/compat-wireless-2.6.35-rc2/config.mk
--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk 2010-06-12 01:28:31.000000000 -0400
+++ /usr/src/compat-wireless-2.6.35-rc2/config.mk 2010-06-12 01:35:32.000000000 -0400
@@ -172,7 +172,7 @@
ifneq ($(CONFIG_PCI),)
CONFIG_ATH5K=m
-# CONFIG_ATH5K_DEBUG=y
+CONFIG_ATH5K_DEBUG=y
CONFIG_ATH9K_HW=m
CONFIG_ATH9K=m
# Note: once ath9k_htc is added we'll have to move
@@ -183,7 +183,7 @@
CONFIG_IWLWIFI=m
-# CONFIG_IWLWIFI_DEBUG=y
+CONFIG_IWLWIFI_DEBUG=y
# CONFIG_IWLWIFI_DEBUGFS=y
# CONFIG_IWLWIFI_DEVICE_TRACING=y
CONFIG_IWLAGN=m
@@ -202,30 +202,30 @@
CONFIG_B43_PHY_LP=y
CONFIG_B43_NPHY=y
# CONFIG_B43_FORCE_PIO=y
-# CONFIG_B43_DEBUG=y
+CONFIG_B43_DEBUG=y
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
-# CONFIG_B43LEGACY_DEBUG=y
+CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
# The Intel ipws
CONFIG_LIBIPW=m
-# CONFIG_LIBIPW_DEBUG=y
+CONFIG_LIBIPW_DEBUG=y
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
-# CONFIG_IPW2100_DEBUG=y
+CONFIG_IPW2100_DEBUG=y
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
-# CONFIG_IPW2200_DEBUG=y
+CONFIG_IPW2200_DEBUG=y
# The above enables use a second interface prefixed 'rtap'.
# Example usage:
#
@@ -242,7 +242,7 @@
ifneq ($(CONFIG_SSB),)
# Sonics Silicon Backplane
CONFIG_SSB_SPROM=y
-# CONFIG_SSB_DEBUG=y
+CONFIG_SSB_DEBUG=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST=y
@@ -250,7 +250,7 @@
ifneq ($(CONFIG_PCMCIA),)
CONFIG_SSB_PCMCIAHOST=y
endif
-# CONFIG_SSB_DEBUG=y
+CONFIG_SSB_DEBUG=y
CONFIG_SSB_DRIVER_PCICORE=y
endif
@@ -327,7 +327,7 @@
# USB Drivers
ifneq ($(CONFIG_USB),)
CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG=y
+CONFIG_ZD1211RW_DEBUG=y
# Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat...
@@ -433,7 +433,7 @@
# iwmc3200wifi uses new netdev_ops api no supported by old kernel.
ifndef CONFIG_COMPAT_KERNEL_29
CONFIG_IWM=m
-# CONFIG_IWM_DEBUG=y
+CONFIG_IWM_DEBUG=y
endif
endif # end of SDIO driver list
@@ -447,7 +447,7 @@
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG=y
+CONFIG_RT2X00_DEBUG=y
# CONFIG_RT2X00_LIB_DEBUGFS
endif
@@ -461,7 +461,7 @@
# Atheros
CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG=y
+CONFIG_ATH_DEBUG=y
CONFIG_WL12XX=y
CONFIG_WL1251=m
@@ -476,7 +476,7 @@
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_MESH=y
-# CONFIG_LIBERTAS_DEBUG=y
+CONFIG_LIBERTAS_DEBUG=y
endif
endif

View file

@ -1,152 +0,0 @@
diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c
--- linux-2.6.28/drivers/net/wireless/ath5k/base.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.c 2009-02-06 21:38:43.000000000 -0500
@@ -272,7 +272,7 @@
static void ath5k_detach(struct pci_dev *pdev,
struct ieee80211_hw *hw);
/* Channel/mode setup */
-static inline short ath5k_ieee2mhz(short chan);
+static inline short ath5k_ieee2mhz(int chan, unsigned int chfreq);
static unsigned int ath5k_copy_channels(struct ath5k_hw *ah,
struct ieee80211_channel *channels,
unsigned int mode,
@@ -848,12 +848,16 @@
* Convert IEEE channel number to MHz frequency.
*/
static inline short
-ath5k_ieee2mhz(short chan)
+ath5k_ieee2mhz(int chan, unsigned int chfreq)
{
- if (chan <= 14 || chan >= 27)
- return ieee80211chan2mhz(chan);
+ if (chfreq == CHANNEL_5GHZ)
+ return (chan + 1000) * 5;
else
- return 2212 + chan * 20;
+// XXX: This part needs to be fixed
+ if (chan <= 14 || chan >= 27)
+ return ieee80211chan2mhz(chan);
+ else
+ return 2212 + chan * 20;
}
static unsigned int
@@ -862,22 +866,25 @@
unsigned int mode,
unsigned int max)
{
- unsigned int i, count, size, chfreq, freq, ch;
+ unsigned int i, count, size, chfreq, freq;
+ int ch;
if (!test_bit(mode, ah->ah_modes))
return 0;
switch (mode) {
+ /* I don't even like channel numbers */
case AR5K_MODE_11A:
case AR5K_MODE_11A_TURBO:
- /* 1..220, but 2GHz frequencies are filtered by check_channel */
- size = 220 ;
+ size = 241 ; // going over 6.0GHz may be dangerous so I am limiting it
+ ch = -40; // might be able to push this to -201 or so, needs more testing
chfreq = CHANNEL_5GHZ;
break;
case AR5K_MODE_11B:
case AR5K_MODE_11G:
case AR5K_MODE_11G_TURBO:
- size = 26;
+ size = 70;
+ ch = -43;
chfreq = CHANNEL_2GHZ;
break;
default:
@@ -885,9 +892,8 @@
return 0;
}
- for (i = 0, count = 0; i < size && max > 0; i++) {
- ch = i + 1 ;
- freq = ath5k_ieee2mhz(ch);
+ for (i = 0, count = 0; i < size && max > 0; i++,ch++) {
+ freq = ath5k_ieee2mhz(ch,chfreq);
/* Check if channel is supported by the chipset */
if (!ath5k_channel_ok(ah, freq, chfreq))
diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/base.h linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.h
--- linux-2.6.28/drivers/net/wireless/ath5k/base.h 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/base.h 2009-02-06 21:38:43.000000000 -0500
@@ -93,11 +93,7 @@
};
-#if CHAN_DEBUG
-#define ATH_CHAN_MAX (26+26+26+200+200)
-#else
-#define ATH_CHAN_MAX (14+14+14+252+20)
-#endif
+#define ATH_CHAN_MAX (70+70+70+240+240) // b+g+gT+a+aT XXX: This is probably excessive
/* Software Carrier, keeps track of the driver state
* associated with an instance of a device */
diff -Naur linux-2.6.28/drivers/net/wireless/ath5k/caps.c linux-2.6.28-chaos/drivers/net/wireless/ath5k/caps.c
--- linux-2.6.28/drivers/net/wireless/ath5k/caps.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-chaos/drivers/net/wireless/ath5k/caps.c 2009-02-06 21:38:43.000000000 -0500
@@ -69,9 +69,9 @@
if (AR5K_EEPROM_HDR_11A(ee_header)) {
/* 4920 */
- ah->ah_capabilities.cap_range.range_5ghz_min = 5005;
- ah->ah_capabilities.cap_range.range_5ghz_max = 6100;
-
+ ah->ah_capabilities.cap_range.range_5ghz_min = 4800;
+ ah->ah_capabilities.cap_range.range_5ghz_max = 6000; /* 6100 is what the code said but */
+ /* it fried my Ubiquiti SRC */
/* Set supported modes */
__set_bit(AR5K_MODE_11A,
ah->ah_capabilities.cap_mode);
@@ -87,7 +87,7 @@
if (AR5K_EEPROM_HDR_11B(ee_header) ||
AR5K_EEPROM_HDR_11G(ee_header)) {
/* 2312 */
- ah->ah_capabilities.cap_range.range_2ghz_min = 2412;
+ ah->ah_capabilities.cap_range.range_2ghz_min = 2192; /* this is the bottom of the registers */
ah->ah_capabilities.cap_range.range_2ghz_max = 2732;
if (AR5K_EEPROM_HDR_11B(ee_header))
diff -Naur linux-2.6.28/net/mac80211/tx.c linux-2.6.28-chaos/net/mac80211/tx.c
--- linux-2.6.28/net/mac80211/tx.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-chaos/net/mac80211/tx.c 2009-02-06 21:38:53.000000000 -0500
@@ -1378,10 +1378,32 @@
struct net_device *dev)
{
struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
+ struct ieee80211_channel *chan = local->hw.conf.channel;
struct ieee80211_radiotap_header *prthdr =
(struct ieee80211_radiotap_header *)skb->data;
u16 len_rthdr;
+ /*
+ * Frame injection is not allowed if beaconing is not allowed
+ * or if we need radar detection. Beaconing is usually not allowed when
+ * the mode or operation (Adhoc, AP, Mesh) does not support DFS.
+ * Passive scan is also used in world regulatory domains where
+ * your country is not known and as such it should be treated as
+ * NO TX unless the channel is explicitly allowed in which case
+ * your current regulatory domain would not have the passive scan
+ * flag.
+ *
+ * Since AP mode uses monitor interfaces to inject/TX management
+ * frames we can make AP mode the exception to this rule once it
+ * supports radar detection as its implementation can deal with
+ * radar detection by itself. We can do that later by adding a
+ * monitor flag interfaces used for AP support.
+ */
+ if ((chan->flags & (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_RADAR |
+ IEEE80211_CHAN_PASSIVE_SCAN)))
+ return TX_DROP;
+ /* This was intended for the kernel patch but it didn't work; goto fail; */
+
/* check for not even having the fixed radiotap header part */
if (unlikely(skb->len < sizeof(struct ieee80211_radiotap_header)))
goto fail; /* too short to be possibly valid */

View file

@ -1,26 +0,0 @@
--- linux-2.6.23_orig/net/ieee80211/ieee80211_tx.c 2007-10-09 22:31:38.000000000 +0200
+++ linux-2.6.23/net/ieee80211/ieee80211_tx.c 2007-10-14 19:39:49.000000000 +0200
@@ -293,6 +293,23 @@
ether_type = ntohs(((struct ethhdr *)skb->data)->h_proto);
+ if(ieee->iw_mode == IW_MODE_MONITOR)
+ {
+ txb = ieee80211_alloc_txb(1, skb->len,
+ ieee->tx_headroom, GFP_ATOMIC);
+ if (unlikely(!txb)) {
+ printk(KERN_WARNING "%s: Could not allocate TXB\n",
+ ieee->dev->name);
+ goto failed;
+ }
+
+ txb->encrypted = 0;
+ txb->payload_size = skb->len;
+ skb_copy_from_linear_data(skb, skb_put(txb->fragments[0],skb->len), skb->len);
+
+ goto success;
+ }
+
crypt = ieee->crypt[ieee->tx_keyidx];
encrypt = !(ether_type == ETH_P_PAE && ieee->ieee802_1x) &&

View file

@ -1,299 +0,0 @@
diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x.c
--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x.c 2009-04-04 22:53:46.000000000 -0400
@@ -1873,8 +1873,16 @@
DBFENTER;
- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
- HFA384x_CMD_AINFO_SET(enable);
+// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
+// HFA384x_CMD_AINFO_SET(enable);
+ if (enable == HFA384x_MONITOR_ENABLE) {
+ // KoreK: get into test mode 0x0a
+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
+ HFA384x_CMD_AINFO_SET(0x0a);
+ } else {
+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
+ HFA384x_CMD_AINFO_SET(enable);
+ }
cmd.parm0 = 0;
cmd.parm1 = 0;
cmd.parm2 = 0;
@@ -3114,11 +3122,32 @@
#endif
/* if we're using host WEP, increase size by IV+ICV */
- if (p80211_wep->data) {
- txdesc.data_len = host2hfa384x_16(skb->len+8);
- // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1);
- } else {
- txdesc.data_len = host2hfa384x_16(skb->len);
+// if (p80211_wep->data) {
+// txdesc.data_len = host2hfa384x_16(skb->len+8);
+// // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1);
+// } else {
+// txdesc.data_len = host2hfa384x_16(skb->len);
+// }
+
+ if (skb->protocol != htons(ETH_P_80211_RAW)) {
+ /* if we're using host WEP, increase size by IV+ICV */
+ if (p80211_wep->data) {
+ txdesc.data_len = host2hfa384x_16(skb->len+8);
+ // txdesc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1);
+ } else {
+ txdesc.data_len = host2hfa384x_16(skb->len);
+ }
+ } else {
+ /* KoreK: raw injection (monitor mode): pull the rest of
+ the header and ssanity check on txdesc.data_len */
+ memcpy(&(txdesc.data_len), skb->data, 16);
+ skb_pull(skb,16);
+ if (txdesc.data_len != host2hfa384x_16(skb->len)) {
+ printk(KERN_DEBUG "mismatch frame_len, drop frame\n");
+ return 0;
+ }
+
+ txdesc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1);
}
txdesc.tx_control = host2hfa384x_16(txdesc.tx_control);
@@ -3142,7 +3171,8 @@
spin_lock(&hw->cmdlock);
/* Copy descriptor+payload to FID */
- if (p80211_wep->data) {
+// if (p80211_wep->data) {
+ if (p80211_wep->data && (skb->protocol != htons(ETH_P_80211_RAW))) {
result = hfa384x_copy_to_bap4(hw, HFA384x_BAP_PROC, fid, 0,
&txdesc, sizeof(txdesc),
p80211_wep->iv, sizeof(p80211_wep->iv),
@@ -3588,6 +3618,17 @@
{
case 0:
+ /* KoreK: this testmode uses macport 0 */
+ if ((wlandev->netdev->type == ARPHRD_IEEE80211) ||
+ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) {
+ if ( ! HFA384x_RXSTATUS_ISFCSERR(rxdesc.status) ) {
+ hfa384x_int_rxmonitor( wlandev, rxfid, &rxdesc);
+ } else {
+ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n");
+ }
+ goto done;
+ }
+
fc = ieee2host16(rxdesc.frame_control);
/* If exclude and we receive an unencrypted, drop it */
diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x_usb.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x_usb.c
--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/hfa384x_usb.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/hfa384x_usb.c 2009-04-04 23:13:53.000000000 -0400
@@ -1430,8 +1430,17 @@
DBFENTER;
- cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
- HFA384x_CMD_AINFO_SET(enable);
+// cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
+// HFA384x_CMD_AINFO_SET(enable);
+ if (enable == HFA384x_MONITOR_ENABLE) {
+ // KoreK: get into test mode 0x0a
+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
+ HFA384x_CMD_AINFO_SET(0x0a);
+ } else {
+ cmd.cmd = HFA384x_CMD_CMDCODE_SET(HFA384x_CMDCODE_MONITOR) |
+ HFA384x_CMD_AINFO_SET(enable);
+ }
+
cmd.parm0 = 0;
cmd.parm1 = 0;
cmd.parm2 = 0;
@@ -3431,37 +3440,71 @@
HFA384x_TX_MACPORT_SET(0) | HFA384x_TX_STRUCTYPE_SET(1) |
HFA384x_TX_TXEX_SET(0) | HFA384x_TX_TXOK_SET(0);
#endif
- hw->txbuff.txfrm.desc.tx_control =
- host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control);
+// hw->txbuff.txfrm.desc.tx_control =
+// host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control);
- /* copy the header over to the txdesc */
- memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t));
-
- /* if we're using host WEP, increase size by IV+ICV */
- if (p80211_wep->data) {
- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8);
- // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1);
- usbpktlen+=8;
- } else {
- hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len);
+// /* copy the header over to the txdesc */
+// memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr, sizeof(p80211_hdr_t));
+ if (skb->protocol != htons(ETH_P_80211_RAW)) {
+ hw->txbuff.txfrm.desc.tx_control =
+ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control);
+
+ /* copy the header over to the txdesc */
+ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr,
+ sizeof(p80211_hdr_t));
+
+ /* if we're using host WEP, increase size by IV+ICV */
+ if (p80211_wep->data) {
+ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8);
+ // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1);
+ usbpktlen+=8;
+ } else {
+ hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len);
+ }
+ } else {
+ /* KoreK: raw injection (monitor mode): pull the rest of
+ the header and ssanity check on txdesc.data_len */
+ memcpy(&(hw->txbuff.txfrm.desc.data_len), skb->data, 16);
+ skb_pull(skb,16);
+ if (hw->txbuff.txfrm.desc.data_len != host2hfa384x_16(skb->len)) {
+ printk(KERN_DEBUG "mismatch frame_len, drop frame\n");
+ return 0;
+ }
+// /* if we're using host WEP, increase size by IV+ICV */
+// if (p80211_wep->data) {
+// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len+8);
+// // hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_NOENCRYPT_SET(1);
+// usbpktlen+=8;
+// } else {
+// hw->txbuff.txfrm.desc.data_len = host2hfa384x_16(skb->len);
+ hw->txbuff.txfrm.desc.tx_control |= HFA384x_TX_RETRYSTRAT_SET(1);
+ hw->txbuff.txfrm.desc.tx_control =
+ host2hfa384x_16(hw->txbuff.txfrm.desc.tx_control);
+
+ /* copy the header over to the txdesc */
+ memcpy(&(hw->txbuff.txfrm.desc.frame_control), p80211_hdr,
+ sizeof(p80211_hdr_t));
}
usbpktlen += skb->len;
/* copy over the WEP IV if we are using host WEP */
ptr = hw->txbuff.txfrm.data;
- if (p80211_wep->data) {
+// if (p80211_wep->data) {
+ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) {
memcpy(ptr, p80211_wep->iv, sizeof(p80211_wep->iv));
ptr+= sizeof(p80211_wep->iv);
memcpy(ptr, p80211_wep->data, skb->len);
} else {
memcpy(ptr, skb->data, skb->len);
}
+
/* copy over the packet data */
ptr+= skb->len;
/* copy over the WEP ICV if we are using host WEP */
- if (p80211_wep->data) {
+// if (p80211_wep->data) {
+ if (p80211_wep->data && skb->protocol != htons(ETH_P_80211_RAW)) {
memcpy(ptr, p80211_wep->icv, sizeof(p80211_wep->icv));
}
@@ -4223,6 +4266,17 @@
switch( HFA384x_RXSTATUS_MACPORT_GET(usbin->rxfrm.desc.status) )
{
case 0:
+ /* KoreK: this testmode uses macport 0 */
+ if ((wlandev->netdev->type == ARPHRD_IEEE80211) ||
+ (wlandev->netdev->type == ARPHRD_IEEE80211_PRISM)) {
+ if ( ! HFA384x_RXSTATUS_ISFCSERR(usbin->rxfrm.desc.status) ) {
+ hfa384x_int_rxmonitor(wlandev, &usbin->rxfrm);
+ } else {
+ WLAN_LOG_DEBUG(3,"Received monitor frame: FCSerr set\n");
+ }
+ goto done;
+ }
+
fc = ieee2host16(usbin->rxfrm.desc.frame_control);
/* If exclude and we receive an unencrypted, drop it */
diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/p80211netdev.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/p80211netdev.c
--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/p80211netdev.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/p80211netdev.c 2009-04-04 22:42:15.000000000 -0400
@@ -512,7 +512,7 @@
* and return success .
* TODO: we need a saner way to handle this
*/
- if(skb->protocol != ETH_P_80211_RAW) {
+ if(skb->protocol != htons(ETH_P_80211_RAW)) {
p80211netdev_start_queue(wlandev);
WLAN_LOG_NOTICE(
"Tx attempt prior to association, frame dropped.\n");
@@ -524,7 +524,7 @@
}
/* Check for raw transmits */
- if(skb->protocol == ETH_P_80211_RAW) {
+ if(skb->protocol == htons(ETH_P_80211_RAW)) {
if (!capable(CAP_NET_ADMIN)) {
result = 1;
goto failed;
@@ -952,8 +952,9 @@
dev->set_mac_address = p80211knetdev_set_mac_address;
#endif
#ifdef HAVE_TX_TIMEOUT
- dev->tx_timeout = &p80211knetdev_tx_timeout;
- dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000;
+// korek: still not implemented (XXX: Why exactly do we remove this???)
+// dev->tx_timeout = &p80211knetdev_tx_timeout;
+// dev->watchdog_timeo = (wlan_watchdog * HZ) / 1000;
#endif
netif_carrier_off(dev);
}
diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2mgmt.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2mgmt.c
--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2mgmt.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2mgmt.c 2009-04-04 23:18:35.000000000 -0400
@@ -2860,9 +2860,12 @@
}
/* Now if we're already sniffing, we can skip the rest */
- if (wlandev->netdev->type != ARPHRD_ETHER) {
+// if (wlandev->netdev->type != ARPHRD_ETHER) {
+ if ((wlandev->netdev->type != ARPHRD_IEEE80211) &&
+ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) {
/* Set the port type to pIbss */
- word = HFA384x_PORTTYPE_PSUEDOIBSS;
+// word = HFA384x_PORTTYPE_PSUEDOIBSS;
+ word = 5; // HFA384x_PORTTYPE_PSUEDOIBSS;
result = hfa384x_drvr_setconfig16(hw,
HFA384x_RID_CNFPORTTYPE, word);
if ( result ) {
@@ -2874,6 +2877,8 @@
}
if ((msg->keepwepflags.status == P80211ENUM_msgitem_status_data_ok) && (msg->keepwepflags.data != P80211ENUM_truth_true)) {
/* Set the wepflags for no decryption */
+ /* doesn't work - done from the CLI */
+ /* Fix? KoreK */
word = HFA384x_WEPFLAGS_DISABLE_TXCRYPT |
HFA384x_WEPFLAGS_DISABLE_RXCRYPT;
result = hfa384x_drvr_setconfig16(hw, HFA384x_RID_CNFWEPFLAGS, word);
@@ -2919,7 +2924,9 @@
goto failed;
}
- if (wlandev->netdev->type == ARPHRD_ETHER) {
+// if (wlandev->netdev->type == ARPHRD_ETHER) {
+ if ((wlandev->netdev->type != ARPHRD_IEEE80211) &&
+ (wlandev->netdev->type != ARPHRD_IEEE80211_PRISM)) {
WLAN_LOG_INFO("monitor mode enabled\n");
}
diff -Naur linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2sta.c linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2sta.c
--- linux-2.6.28-pentoo-r4/drivers/staging/wlan-ng/prism2sta.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-pentoo-r4-fauxpas/drivers/staging/wlan-ng/prism2sta.c 2009-04-04 23:20:58.000000000 -0400
@@ -411,7 +411,9 @@
DBFENTER;
/* If necessary, set the 802.11 WEP bit */
- if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) {
+// if ((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED) {
+ if (((wlandev->hostwep & (HOSTWEP_PRIVACYINVOKED | HOSTWEP_ENCRYPT)) == HOSTWEP_PRIVACYINVOKED)
+ && (skb->protocol != htons(ETH_P_80211_RAW))) {
p80211_hdr->a3.fc |= host2ieee16(WLAN_SET_FC_ISWEP(1));
}

View file

@ -1,80 +0,0 @@
diff -Naur linux-2.6.28-pentoo-r4/drivers/net/wireless/orinoco_cs.c linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/orinoco_cs.c
--- linux-2.6.28-pentoo-r4/drivers/net/wireless/orinoco_cs.c 2008-12-24 18:26:37.000000000 -0500
+++ linux-2.6.28-pentoo-r4-patched/drivers/net/wireless/orinoco_cs.c 2009-04-08 00:22:05.000000000 -0400
@@ -418,33 +418,21 @@
"Pavel Roskin <proski@gnu.org>, et al)";
static struct pcmcia_device_id orinoco_cs_ids[] = {
- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */
- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */
PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */
- PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */
- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */
PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */
PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */
PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */
- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */
PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */
PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */
PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */
- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */
- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */
- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
- PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */
PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x3021), /* SpeedStream Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */
- PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */
PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */
PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */
- PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */
- PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */
PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */
PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9),
PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
@@ -453,31 +441,25 @@
PCMCIA_DEVICE_PROD_ID123("AIRVAST", "IEEE 802.11b Wireless PCMCIA Card", "HFA3863", 0xea569531, 0x4bcb9645, 0x355cb092),
PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f),
PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842),
- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e),
PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb),
PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18),
PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
- PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b),
PCMCIA_DEVICE_PROD_ID123("corega", "WL PCCL-11", "ISL37300P", 0x0a21501a, 0x59868926, 0xc9049a39),
PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584),
PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9),
PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae),
PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac),
- PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab),
PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916),
PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146),
PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077),
- PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18),
PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77),
PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf),
PCMCIA_DEVICE_PROD_ID123("Intersil", "PRISM Freedom PCMCIA Adapter", "ISL37100P", 0x4b801a17, 0xf222ec2d, 0x630d52b2),
PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92),
- PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395),
PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
@@ -495,10 +477,8 @@
PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757),
- PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a),
PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e),
PCMCIA_DEVICE_PROD_ID123("The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", 0xa5f472c2, 0x590eb502, 0xc9049a39),
- PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee),
PCMCIA_DEVICE_NULL,
};
MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids);

View file

@ -1,24 +0,0 @@
commit e96ac45542ab5f02d2b13981df3a9c34d990afbf
Author: Rick Farina <sidhayn@gmail.com>
Date: Mon Jun 14 00:40:03 2010 -0400
[PATCH]compat: trivial fix for typo in config.mk
In config.mk we find "# CONFIG_RT2X00_LIB_DEBUGFS" which clearly
should have an "=y" at the end like ever other config line.
Signed-off-by: Rick Farina <sidhayn@gmail.com>
diff --git a/config.mk b/config.mk
index 0001a7d..adebbbf 100644
--- a/config.mk
+++ b/config.mk
@@ -453,7 +453,7 @@ CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
# CONFIG_RT2X00_DEBUG=y
-# CONFIG_RT2X00_LIB_DEBUGFS
+# CONFIG_RT2X00_LIB_DEBUGFS=y
endif
ifeq ($(NEED_RT2X00_FIRMWARE),y)

View file

@ -1,12 +0,0 @@
diff -Naur compat-wireless-2.6.36-rc5-2-s/config.mk compat-wireless-2.6.36-rc5-2-s-untypoed/config.mk
--- compat-wireless-2.6.36-rc5-2-s/config.mk 2010-09-27 19:54:28.000000000 -0400
+++ compat-wireless-2.6.36-rc5-2-s-untypoed/config.mk 2010-10-02 22:17:31.000000000 -0400
@@ -501,7 +501,7 @@
CONFIG_RT2X00_LIB_LEDS=y
endif #CONFIG_COMPAT_KERNEL_25
# CONFIG_RT2X00_DEBUG=y
-# CONFIG_RT2X00_LIB_DEBUGFS
+# CONFIG_RT2X00_LIB_DEBUGFS=y
endif
ifeq ($(NEED_RT2X00_FIRMWARE),y)

View file

@ -1,25 +0,0 @@
diff -Naur compat-wireless-2.6.38-rc3-2-orig/config.mk compat-wireless-2.6.38-rc3-2/config.mk
--- compat-wireless-2.6.38-rc3-2-orig/config.mk 2011-02-04 16:42:10.000000000 -0500
+++ compat-wireless-2.6.38-rc3-2/config.mk 2011-02-04 19:25:58.000000000 -0500
@@ -323,8 +323,8 @@
CONFIG_RT2500PCI=m
ifdef CONFIG_CRC_CCITT
CONFIG_RT2800PCI=m
-# CONFIG_RT2800PCI_RT33XX=y
-# CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT33XX=y
+CONFIG_RT2800PCI_RT35XX=y
endif #CONFIG_CRC_CCITT
NEED_RT2X00=y
@@ -452,8 +452,8 @@
CONFIG_RT2500USB=m
ifdef CONFIG_CRC_CCITT
CONFIG_RT2800USB=m
-# CONFIG_RT2800USB_RT33XX=y
-# CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
CONFIG_RT2800USB_UNKNOWN=y
endif #CONFIG_CRC_CCITT
CONFIG_RT2X00_LIB_USB=m

View file

@ -1,14 +0,0 @@
diff -Naur compat-wireless-2.6.36-rc5-2-s/config.mk compat-wireless-2.6.36-rc5-2-s-rt2800pci/config.mk
--- compat-wireless-2.6.36-rc5-2-s/config.mk 2010-09-27 19:54:28.000000000 -0400
+++ compat-wireless-2.6.36-rc5-2-s-rt2800pci/config.mk 2010-10-02 22:20:59.000000000 -0400
@@ -301,8 +301,8 @@
ifneq ($(CONFIG_CRC_CCITT),)
CONFIG_RT2800PCI=m
CONFIG_RT2800PCI_PCI=y
-# CONFIG_RT2800PCI_RT30XX=y
-# CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
# CONFIG_RT2800PCI_SOC=y
endif
NEED_RT2X00=y

View file

@ -1,16 +0,0 @@
diff --git a/config.mk b/config.mk
index 0001a7d..169a99c 100644
--- a/config.mk
+++ b/config.mk
@@ -270,8 +270,8 @@ CONFIG_RT2500PCI=m
ifneq ($(CONFIG_CRC_CCITT),)
CONFIG_RT2800PCI=m
CONFIG_RT2800PCI_PCI=y
-# CONFIG_RT2800PCI_RT30XX=y
-# CONFIG_RT2800PCI_RT35XX=y
+CONFIG_RT2800PCI_RT30XX=y
+CONFIG_RT2800PCI_RT35XX=y
# CONFIG_RT2800PCI_SOC=y
endif
NEED_RT2X00=y

View file

@ -1,16 +0,0 @@
diff -Naur compat-wireless-2.6.35-rc1/config.mk compat-wireless-2.6.35-rc1-fixed/config.mk
--- compat-wireless-2.6.35-rc1/config.mk 2010-05-31 18:30:39.000000000 -0400
+++ compat-wireless-2.6.35-rc1-fixed/config.mk 2010-06-05 23:48:50.000000000 -0400
@@ -366,9 +366,9 @@
CONFIG_RT2500USB=m
ifneq ($(CONFIG_CRC_CCITT),)
CONFIG_RT2800USB=m
-# CONFIG_RT2800USB_RT30XX=y
-# CONFIG_RT2800USB_RT35XX=y
-# CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800USB_RT30XX=y
+CONFIG_RT2800USB_RT35XX=y
+CONFIG_RT2800USB_UNKNOWN=y
endif
CONFIG_RT2X00_LIB_USB=m
NEED_RT2X00=y

View file

@ -1,116 +0,0 @@
diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c
--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c 2010-10-21 04:30:22.000000000 +0800
+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c 2010-12-08 22:22:41.937999976 +0800
@@ -206,6 +206,7 @@
static int ipw_queue_tx_hcmd(struct ipw_priv *priv, int hcmd, void *buf,
int len, int sync);
+static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, int pri);
static void ipw_tx_queue_free(struct ipw_priv *);
static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *);
@@ -1906,6 +1907,63 @@
static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO,
show_net_stats, store_net_stats);
+/* SYSFS INJECT */
+static ssize_t store_inject(struct device *d,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct ipw_priv *priv = dev_get_drvdata(d);
+ struct libipw_device *ieee = priv->ieee;
+ struct libipw_txb *txb;
+ struct sk_buff *skb_frag;
+ unsigned char *newbuf;
+ unsigned long flags;
+
+ // should test (ieee->is_queue_full)
+
+ // Fw only accepts data, so avoid accidental fw errors.
+ if ( (buf[0]&0x0c) != '\x08') {
+ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]);
+ return count;
+ }
+
+ if (count>1500) {
+ count=1500;
+ printk("ipw2200: inject: cutting down frame to 1500 bytes\n");
+ }
+
+ spin_lock_irqsave(&priv->lock, flags);
+
+ // Create a txb with one skb
+ txb = kmalloc(sizeof(struct libipw_txb) + sizeof(u8 *), GFP_ATOMIC);
+ if (!txb)
+ goto nosepuede;
+ txb->nr_frags=1;
+ txb->frag_size = ieee->tx_headroom;
+ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC);
+ if (!txb->fragments[0]) {
+ kfree(txb);
+ goto nosepuede;
+ }
+ skb_reserve(txb->fragments[0], ieee->tx_headroom);
+ txb->encrypted=0;
+ txb->payload_size=count;
+ skb_frag = txb->fragments[0];
+ newbuf=skb_put(skb_frag, count);
+
+ // copy data into txb->skb and send it
+ memcpy(newbuf, buf, count);
+
+ ipw_tx_skb(priv, txb, 0);
+
+nosepuede:
+ spin_unlock_irqrestore(&priv->lock, flags);
+ return count;
+}
+
+
+static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject);
+
static ssize_t show_channels(struct device *d,
struct device_attribute *attr,
char *buf)
@@ -10212,7 +10270,6 @@
modify to send one tfd per fragment instead of using chunking. otherwise
we need to heavily modify the libipw_skb_to_txb.
*/
-
static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb,
int pri)
{
@@ -10542,6 +10599,8 @@
mutex_lock(&priv->mutex);
priv->config |= CFG_CUSTOM_MAC;
memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN);
+ if (rtap_iface)
+ memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN);
printk(KERN_INFO "%s: Setting MAC to %pM\n",
priv->net_dev->name, priv->mac_addr);
queue_work(priv->workqueue, &priv->adapter_restart);
@@ -11599,6 +11658,7 @@
#ifdef CONFIG_IPW2200_PROMISCUOUS
&dev_attr_rtap_iface.attr,
&dev_attr_rtap_filter.attr,
+ &dev_attr_inject.attr,
#endif
NULL
};
diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h
--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h 2010-10-21 04:30:22.000000000 +0800
+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h 2010-12-08 22:20:01.561000000 +0800
@@ -2014,4 +2014,12 @@
#define IPW_MAX_CONFIG_RETRIES 10
+/*
+ * Hhack to get code compiling on new kernels, the define below
+ * seem to be removed from the linux headers.
+ */
+#ifndef MAC_ARG
+#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5]
+#endif
+
#endif /* __ipw2200_h__ */

View file

@ -1,120 +0,0 @@
diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c
--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.c 2010-10-21 04:30:22.000000000 +0800
+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.c 2010-12-08 22:22:41.937999976 +0800
@@ -216,6 +216,7 @@
static int ipw_queue_tx_hcmd(struct ipw_priv *priv, int hcmd, void *buf,
int len, int sync);
+static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb, int pri);
static void ipw_tx_queue_free(struct ipw_priv *);
static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *);
@@ -1911,6 +1912,63 @@
static DEVICE_ATTR(net_stats, S_IWUSR | S_IRUGO,
show_net_stats, store_net_stats);
+/* SYSFS INJECT */
+static ssize_t store_inject(struct device *d,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct ipw_priv *priv = dev_get_drvdata(d);
+ struct libipw_device *ieee = priv->ieee;
+ struct libipw_txb *txb;
+ struct sk_buff *skb_frag;
+ unsigned char *newbuf;
+ unsigned long flags;
+
+ // should test (ieee->is_queue_full)
+
+ // Fw only accepts data, so avoid accidental fw errors.
+ if ( (buf[0]&0x0c) != '\x08') {
+ //printk("ipw2200: inject: discarding non-data frame (type=%02X)\n",(int)(unsigned char)buf[0]);
+ return count;
+ }
+
+ if (count>1500) {
+ count=1500;
+ printk("ipw2200: inject: cutting down frame to 1500 bytes\n");
+ }
+
+ spin_lock_irqsave(&priv->lock, flags);
+
+ // Create a txb with one skb
+ txb = kmalloc(sizeof(struct libipw_txb) + sizeof(u8 *), GFP_ATOMIC);
+ if (!txb)
+ goto nosepuede;
+ txb->nr_frags=1;
+ txb->frag_size = ieee->tx_headroom;
+ txb->fragments[0]=__dev_alloc_skb(count + ieee->tx_headroom, GFP_ATOMIC);
+ if (!txb->fragments[0]) {
+ kfree(txb);
+ goto nosepuede;
+ }
+ skb_reserve(txb->fragments[0], ieee->tx_headroom);
+ txb->encrypted=0;
+ txb->payload_size=count;
+ skb_frag = txb->fragments[0];
+ newbuf=skb_put(skb_frag, count);
+
+ // copy data into txb->skb and send it
+ memcpy(newbuf, buf, count);
+
+ ipw_tx_skb(priv, txb, 0);
+
+nosepuede:
+ spin_unlock_irqrestore(&priv->lock, flags);
+ return count;
+}
+
+
+static DEVICE_ATTR(inject, S_IWUSR, NULL, store_inject);
+
static ssize_t show_channels(struct device *d,
struct device_attribute *attr,
char *buf)
@@ -10214,7 +10272,6 @@
modify to send one tfd per fragment instead of using chunking. otherwise
we need to heavily modify the libipw_skb_to_txb.
*/
-
static int ipw_tx_skb(struct ipw_priv *priv, struct libipw_txb *txb,
int pri)
{
@@ -10544,6 +10601,12 @@
mutex_lock(&priv->mutex);
priv->config |= CFG_CUSTOM_MAC;
memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN);
+
+#ifdef CONFIG_IPW2200_PROMISCUOUS
+ if (rtap_iface)
+ memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN);
+#endif
+
printk(KERN_INFO "%s: Setting MAC to %pM\n",
priv->net_dev->name, priv->mac_addr);
schedule_work(&priv->adapter_restart);
@@ -11597,6 +11660,7 @@
#ifdef CONFIG_IPW2200_PROMISCUOUS
&dev_attr_rtap_iface.attr,
&dev_attr_rtap_filter.attr,
+ &dev_attr_inject.attr,
#endif
NULL
};
diff -urN linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h
--- linux-2.6.36-gentoo.orig/drivers/net/wireless/ipw2x00/ipw2200.h 2010-10-21 04:30:22.000000000 +0800
+++ linux-2.6.36-gentoo/drivers/net/wireless/ipw2x00/ipw2200.h 2010-12-08 22:20:01.561000000 +0800
@@ -2014,4 +2014,12 @@
#define IPW_MAX_CONFIG_RETRIES 10
+/*
+ * Hhack to get code compiling on new kernels, the define below
+ * seem to be removed from the linux headers.
+ */
+#ifndef MAC_ARG
+#define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5]
+#endif
+
#endif /* __ipw2200_h__ */

View file

@ -1,13 +0,0 @@
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

View file

@ -1,75 +0,0 @@
diff -ur compat-wireless-3.2-rc1-1/include/net/cfg80211.h compat-wireless-3.2-rc1-1-new/include/net/cfg80211.h
--- compat-wireless-3.2-rc1-1/include/net/cfg80211.h 2011-11-15 00:44:56.000000000 +0400
+++ compat-wireless-3.2-rc1-1-new/include/net/cfg80211.h 2011-11-27 09:48:41.000000000 +0400
@@ -1338,6 +1338,9 @@
* doesn't verify much. Note, however, that the passed netdev may be
* %NULL as well if the user requested changing the channel for the
* device itself, or for a monitor interface.
+ * @get_channel: Get the current operating channel, should return %NULL if
+ * there's no single defined operating channel if for example the
+ * device implements channel hopping for multi-channel virtual interfaces.
*
* @scan: Request to do a scan. If returning zero, the scan request is given
* the driver, and will be valid until passed to cfg80211_scan_done().
@@ -1617,6 +1620,8 @@
u16 status_code, const u8 *buf, size_t len);
int (*tdls_oper)(struct wiphy *wiphy, struct net_device *dev,
u8 *peer, enum nl80211_tdls_operation oper);
+
+ struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy);
};
/*
diff -ur compat-wireless-3.2-rc1-1/net/mac80211/cfg.c compat-wireless-3.2-rc1-1-new/net/mac80211/cfg.c
--- compat-wireless-3.2-rc1-1/net/mac80211/cfg.c 2011-11-15 00:44:54.000000000 +0400
+++ compat-wireless-3.2-rc1-1-new/net/mac80211/cfg.c 2011-11-27 09:49:48.000000000 +0400
@@ -2488,6 +2488,14 @@
return 0;
}
+static struct ieee80211_channel *
+ieee80211_wiphy_get_channel(struct wiphy *wiphy)
+{
+ struct ieee80211_local *local = wiphy_priv(wiphy);
+
+ return local->oper_channel;
+}
+
struct cfg80211_ops mac80211_config_ops = {
.add_virtual_intf = ieee80211_add_iface,
.del_virtual_intf = ieee80211_del_iface,
@@ -2553,4 +2561,5 @@
.set_rekey_data = ieee80211_set_rekey_data,
.tdls_oper = ieee80211_tdls_oper,
.tdls_mgmt = ieee80211_tdls_mgmt,
+ .get_channel = ieee80211_wiphy_get_channel,
};
diff -ur compat-wireless-3.2-rc1-1/net/wireless/wext-compat.c compat-wireless-3.2-rc1-1-new/net/wireless/wext-compat.c
--- compat-wireless-3.2-rc1-1/net/wireless/wext-compat.c 2011-11-15 00:44:54.000000000 +0400
+++ compat-wireless-3.2-rc1-1-new/net/wireless/wext-compat.c 2011-11-27 09:47:10.000000000 +0400
@@ -819,12 +819,24 @@
struct iw_freq *freq, char *extra)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
+ struct cfg80211_registered_device *rdev = wiphy_to_dev(wdev->wiphy);
+ struct ieee80211_channel *chan;
switch (wdev->iftype) {
case NL80211_IFTYPE_STATION:
return cfg80211_mgd_wext_giwfreq(dev, info, freq, extra);
case NL80211_IFTYPE_ADHOC:
return cfg80211_ibss_wext_giwfreq(dev, info, freq, extra);
+ case NL80211_IFTYPE_MONITOR:
+ if (!rdev->ops->get_channel)
+ return -EINVAL;
+
+ chan = rdev->ops->get_channel(wdev->wiphy);
+ if (!chan)
+ return -EINVAL;
+ freq->m = chan->center_freq;
+ freq->e = 6;
+ return 0;
default:
if (!wdev->channel)
return -EINVAL;

View file

@ -1,84 +0,0 @@
From: Johannes Berg <johannes.berg@intel.com>
Just add API to get the channel & report it. Trivial really.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
So trivial it didn't even work ;-)
include/net/cfg80211.h | 5 +++++
net/mac80211/cfg.c | 9 +++++++++
net/wireless/wext-compat.c | 12 ++++++++++++
3 files changed, 26 insertions(+)
--- a/include/net/cfg80211.h 2011-11-09 10:13:05.000000000 +0100
+++ b/include/net/cfg80211.h 2011-11-09 10:27:47.000000000 +0100
@@ -1342,6 +1342,9 @@ struct cfg80211_gtk_rekey_data {
* doesn't verify much. Note, however, that the passed netdev may be
* %NULL as well if the user requested changing the channel for the
* device itself, or for a monitor interface.
+ * @get_channel: Get the current operating channel, should return %NULL if
+ * there's no single defined operating channel if for example the
+ * device implements channel hopping for multi-channel virtual interfaces.
*
* @scan: Request to do a scan. If returning zero, the scan request is given
* the driver, and will be valid until passed to cfg80211_scan_done().
@@ -1627,6 +1630,8 @@ struct cfg80211_ops {
int (*probe_client)(struct wiphy *wiphy, struct net_device *dev,
const u8 *peer, u64 *cookie);
+
+ struct ieee80211_channel *(*get_channel)(struct wiphy *wiphy);
};
/*
--- a/net/wireless/wext-compat.c 2011-11-09 10:07:35.000000000 +0100
+++ b/net/wireless/wext-compat.c 2011-11-09 10:13:18.000000000 +0100
@@ -819,12 +819,24 @@ static int cfg80211_wext_giwfreq(struct
struct iw_freq *freq, char *extra)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
+ struct cfg80211_registered_device *rdev = wiphy_to_dev(wdev->wiphy);
+ struct ieee80211_channel *chan;
switch (wdev->iftype) {
case NL80211_IFTYPE_STATION:
return cfg80211_mgd_wext_giwfreq(dev, info, freq, extra);
case NL80211_IFTYPE_ADHOC:
return cfg80211_ibss_wext_giwfreq(dev, info, freq, extra);
+ case NL80211_IFTYPE_MONITOR:
+ if (!rdev->ops->get_channel)
+ return -EINVAL;
+
+ chan = rdev->ops->get_channel(wdev->wiphy);
+ if (!chan)
+ return -EINVAL;
+ freq->m = chan->center_freq;
+ freq->e = 6;
+ return 0;
default:
if (!wdev->channel)
return -EINVAL;
--- a/net/mac80211/cfg.c 2011-11-09 10:10:56.000000000 +0100
+++ b/net/mac80211/cfg.c 2011-11-09 10:29:40.000000000 +0100
@@ -2579,6 +2579,14 @@ static int ieee80211_probe_client(struct
return 0;
}
+static struct ieee80211_channel *
+ieee80211_wiphy_get_channel(struct wiphy *wiphy)
+{
+ struct ieee80211_local *local = wiphy_priv(wiphy);
+
+ return local->oper_channel;
+}
+
struct cfg80211_ops mac80211_config_ops = {
.add_virtual_intf = ieee80211_add_iface,
.del_virtual_intf = ieee80211_del_iface,
@@ -2645,4 +2653,5 @@ struct cfg80211_ops mac80211_config_ops
.tdls_oper = ieee80211_tdls_oper,
.tdls_mgmt = ieee80211_tdls_mgmt,
.probe_client = ieee80211_probe_client,
+ .get_channel = ieee80211_wiphy_get_channel,
};

View file

@ -1,22 +0,0 @@
Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187_leds.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_leds.c
+++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187_leds.c
@@ -210,10 +210,10 @@ void rtl8187_leds_exit(struct ieee80211_
/* turn the LED off before exiting */
ieee80211_queue_delayed_work(dev, &priv->led_off, 0);
- cancel_delayed_work_sync(&priv->led_off);
- cancel_delayed_work_sync(&priv->led_on);
rtl8187_unregister_led(&priv->led_rx);
rtl8187_unregister_led(&priv->led_tx);
+ cancel_delayed_work_sync(&priv->led_off);
+ cancel_delayed_work_sync(&priv->led_on);
}
#endif /* def CONFIG_RTL8187_LED */

View file

@ -1,30 +0,0 @@
--- drivers/net/wireless/rt2x00/rt2x00leds.c
+++ drivers/net/wireless/rt2x00/rt2x00leds.c
@@ -29,6 +29,7 @@
#include "rt2x00.h"
#include "rt2x00lib.h"
+#ifdef CONFIG_RT2X00_LIB_LEDS
void rt2x00leds_led_quality(struct rt2x00_dev *rt2x00dev, int rssi)
{
struct rt2x00_led *led = &rt2x00dev->led_qual;
@@ -244,3 +245,4 @@
if (rt2x00dev->led_qual.flags & LED_REGISTERED)
rt2x00leds_resume_led(&rt2x00dev->led_qual);
}
+#endif /* CONFIG_RT2X00_LIB_LEDS */
--- net/mac80211/led.c
+++ net/mac80211/led.c
@@ -12,6 +12,7 @@
#include <linux/export.h>
#include "led.h"
+#ifdef CONFIG_MAC80211_LEDS
void ieee80211_led_rx(struct ieee80211_local *local)
{
if (unlikely(!local->rx_led))
@@ -307,3 +308,4 @@
else
ieee80211_start_tpt_led_trig(local);
}
+#endif /* CONFIG_MAC80211_LEDS */

View file

@ -1,64 +0,0 @@
diff -Naur /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk /usr/src/compat-wireless-2.6.35-rc2/config.mk
--- /var/tmp/portage/net-wireless/compat-wireless-2.6.35_rc2-r1/work/compat-wireless-2.6.35-rc2/config.mk 2010-06-11 15:32:27.000000000 -0400
+++ /usr/src/compat-wireless-2.6.35-rc2/config.mk 2010-06-11 15:34:16.000000000 -0400
@@ -130,7 +130,7 @@
CONFIG_COMPAT_MAC80211_RC_DEFAULT=minstrel
CONFIG_MAC80211_RC_PID=y
CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_LEDS=y
+CONFIG_MAC80211_LEDS=n
# enable mesh networking too
CONFIG_MAC80211_MESH=y
@@ -198,7 +198,7 @@
ifneq ($(CONFIG_PCMCIA),)
CONFIG_B43_PCMCIA=y
endif
-CONFIG_B43_LEDS=y
+CONFIG_B43_LEDS=n
CONFIG_B43_PHY_LP=y
CONFIG_B43_NPHY=y
# CONFIG_B43_FORCE_PIO=y
@@ -207,7 +207,7 @@
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_LEDS=n
# CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
@@ -351,13 +351,13 @@
CONFIG_P54_USB=m
CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
+CONFIG_RTL8187_LEDS=n
CONFIG_AT76C50X_USB=m
ifndef CONFIG_COMPAT_KERNEL_28
CONFIG_AR9170_USB=m
-CONFIG_AR9170_LEDS=y
+CONFIG_AR9170_LEDS=n
endif
CONFIG_ATH9K_HTC=m
@@ -446,7 +446,7 @@
CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
+CONFIG_RT2X00_LIB_LEDS=n
# CONFIG_RT2X00_DEBUG=y
# CONFIG_RT2X00_LIB_DEBUGFS
endif
@@ -457,7 +457,7 @@
# p54
CONFIG_P54_COMMON=m
-CONFIG_P54_LEDS=y
+CONFIG_P54_LEDS=n
# Atheros
CONFIG_ATH_COMMON=m

View file

@ -1,56 +0,0 @@
diff -Naur compat-wireless-2.6.35-rc2/config.mk /usr/src/patch_create/config.mk
--- compat-wireless-2.6.35-rc2/config.mk 2010-06-11 13:42:35.000000000 -0400
+++ /usr/src/patch_create/config.mk 2010-06-11 13:41:23.000000000 -0400
@@ -198,7 +198,7 @@
ifneq ($(CONFIG_PCMCIA),)
CONFIG_B43_PCMCIA=y
endif
-CONFIG_B43_LEDS=y
+CONFIG_B43_LEDS=n
CONFIG_B43_PHY_LP=y
CONFIG_B43_NPHY=y
# CONFIG_B43_FORCE_PIO=y
@@ -207,7 +207,7 @@
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-CONFIG_B43LEGACY_LEDS=y
+CONFIG_B43LEGACY_LEDS=n
# CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
@@ -351,13 +351,13 @@
CONFIG_P54_USB=m
CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
+CONFIG_RTL8187_LEDS=n
CONFIG_AT76C50X_USB=m
ifndef CONFIG_COMPAT_KERNEL_28
CONFIG_AR9170_USB=m
-CONFIG_AR9170_LEDS=y
+CONFIG_AR9170_LEDS=n
endif
CONFIG_ATH9K_HTC=m
@@ -446,7 +446,7 @@
CONFIG_RT2X00_LIB_HT=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
+CONFIG_RT2X00_LIB_LEDS=n
# CONFIG_RT2X00_DEBUG=y
# CONFIG_RT2X00_LIB_DEBUGFS
endif
@@ -457,7 +457,7 @@
# p54
CONFIG_P54_COMMON=m
-CONFIG_P54_LEDS=y
+CONFIG_P54_LEDS=n
# Atheros
CONFIG_ATH_COMMON=m

View file

@ -1,61 +0,0 @@
This is the latest attempt to address the long-standing complaint from
the aircrack-ng folks about being unable to change the channel on
monitor interfaces. This version checks for the existance of other
"active" interfaces and refuses the channel change if they are present.
https://bugzilla.redhat.com/show_bug.cgi?id=654344
Signed-off-by: John W. Linville <linville@tuxdriver.com>
---
net/wireless/chan.c | 29 +++++++++++++++++++++++++++--
1 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/net/wireless/chan.c b/net/wireless/chan.c
index 17cd0c0..d4add34 100644
--- a/net/wireless/chan.c
+++ b/net/wireless/chan.c
@@ -81,10 +81,32 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
enum nl80211_channel_type channel_type)
{
struct ieee80211_channel *chan;
- int result;
+ int result, active_intf_present = 0;
+ struct wireless_dev *mon_wdev = NULL;
+
+ if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR) {
+ mon_wdev = wdev;
+
+ ASSERT_RDEV_LOCK(rdev);
+
+ /* rdev->devlist_mtx locked by callers */
+ list_for_each_entry(wdev, &rdev->netdev_list, list) {
+ if (wdev && wdev != mon_wdev &&
+ (wdev->iftype == NL80211_IFTYPE_ADHOC ||
+ wdev->iftype == NL80211_IFTYPE_AP ||
+ wdev->iftype == NL80211_IFTYPE_AP_VLAN ||
+ wdev->iftype == NL80211_IFTYPE_MESH_POINT ||
+ wdev->iftype == NL80211_IFTYPE_P2P_GO)) {
+ active_intf_present = 1;
+ break;
+ }
+ }
+
+ if (active_intf_present)
+ return -EINVAL;
- if (wdev && wdev->iftype == NL80211_IFTYPE_MONITOR)
wdev = NULL;
+ }
if (wdev) {
ASSERT_WDEV_LOCK(wdev);
@@ -131,5 +153,8 @@ int cfg80211_set_freq(struct cfg80211_registered_device *rdev,
if (wdev)
wdev->channel = chan;
+ if (mon_wdev)
+ mon_wdev->channel = chan;
+
return 0;
}

View file

@ -1,27 +0,0 @@
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;

View file

@ -1,12 +0,0 @@
diff -Naur compat-wireless-3.0-rc4-1-orig/Makefile compat-wireless-3.0-rc4-1/Makefile
--- compat-wireless-3.0-rc4-1-orig/Makefile 2011-06-24 01:20:08.000000000 -0400
+++ compat-wireless-3.0-rc4-1/Makefile 2011-06-24 01:20:34.000000000 -0400
@@ -154,7 +154,7 @@
@echo
btclean:
- make -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean
+ $(MAKE) -C /lib/modules/$(shell uname -r)/build M=$(PWD) BT=TRUE clean
@rm -f $(CREL_PRE)*
install: uninstall install-modules install-scripts

View file

@ -1,191 +0,0 @@
The hostap driver provides better support for Prism chipset.
Signed-off-by: Pavel Roskin <proski@gnu.org>
---
drivers/net/wireless/orinoco/Kconfig | 13 ++++-
drivers/net/wireless/orinoco/hw.c | 7 +++
drivers/net/wireless/orinoco/orinoco_cs.c | 79 +++++++++++++++--------------
3 files changed, 60 insertions(+), 39 deletions(-)
diff --git a/drivers/net/wireless/orinoco/Kconfig b/drivers/net/wireless/orinoco/Kconfig
index e2a2c18..6116b54 100644
--- a/drivers/net/wireless/orinoco/Kconfig
+++ b/drivers/net/wireless/orinoco/Kconfig
@@ -27,6 +27,17 @@ config HERMES
configure your card and that /etc/pcmcia/wireless.opts works :
<http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>
+config HERMES_PRISM
+ bool "Support Prism 2/2.5 chipset"
+ depends on HERMES
+ ---help---
+
+ Say Y to enable support for Prism 2 and 2.5 chipsets. These
+ chipsets are better handled by the hostap driver. This driver
+ would not support WPA or firmware download for Prism chipset.
+
+ If you are not sure, say N.
+
config HERMES_CACHE_FW_ON_INIT
bool "Cache Hermes firmware on driver initialisation"
depends on HERMES
@@ -86,7 +97,7 @@ config NORTEL_HERMES
config PCI_HERMES
tristate "Prism 2.5 PCI 802.11b adaptor support"
- depends on PCI && HERMES
+ depends on PCI && HERMES && HERMES_PRISM
help
Enable support for PCI and mini-PCI 802.11b wireless NICs based on
the Prism 2.5 chipset. These are true PCI cards, not the 802.11b
diff --git a/drivers/net/wireless/orinoco/hw.c b/drivers/net/wireless/orinoco/hw.c
index e636924..883b8f8 100644
--- a/drivers/net/wireless/orinoco/hw.c
+++ b/drivers/net/wireless/orinoco/hw.c
@@ -262,6 +262,13 @@ int determine_fw_capabilities(struct orinoco_private *priv,
if (fw_name)
dev_info(dev, "Firmware determined as %s\n", fw_name);
+#ifndef CONFIG_HERMES_PRISM
+ if (priv->firmware_type == FIRMWARE_TYPE_INTERSIL) {
+ dev_err(dev, "Support for Prism chipset is not enabled\n");
+ return -ENODEV;
+ }
+#endif
+
return 0;
}
diff --git a/drivers/net/wireless/orinoco/orinoco_cs.c b/drivers/net/wireless/orinoco/orinoco_cs.c
index 1d4ada1..fdc9613 100644
--- a/drivers/net/wireless/orinoco/orinoco_cs.c
+++ b/drivers/net/wireless/orinoco/orinoco_cs.c
@@ -374,87 +374,90 @@ static char version[] __initdata = DRIVER_NAME " " DRIVER_VERSION
"Pavel Roskin <proski@gnu.org>, et al)";
static struct pcmcia_device_id orinoco_cs_ids[] = {
- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */
- PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */
- PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */
PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */
- PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */
- PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */
PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */
PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */
- PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */
- PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */
PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */
PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */
PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0003), /* ARtem Onair Comcard 11 */
PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */
- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */
- PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */
- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */
- PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */
PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x3021), /* SpeedStream Wireless Adapter */
PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */
+ PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
+ PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f),
+ PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e),
+ PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842),
+ PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
+ PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb),
+ PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
+ PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916),
+ PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
+ PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
+ PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077),
+ PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92),
+ PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
+ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
+ PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
+ PCMCIA_DEVICE_PROD_ID12("NCR", "WaveLAN/IEEE", 0x24358cd4, 0xc562e72a),
+ PCMCIA_DEVICE_PROD_ID12("Nortel Networks", "emobility 802.11 Wireless LAN PC Card", 0x2d617ea0, 0x88cd5767),
+ PCMCIA_DEVICE_PROD_ID12("OTC", "Wireless AirEZY 2411-PCC WLAN Card", 0x4ac44287, 0x235a6bed),
+ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PC CARD HARMONY 80211B", 0xc6536a5e, 0x090c3cd9),
+ PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
+ PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
+ PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e),
+#ifdef CONFIG_HERMES_PRISM
+ /* Only entries that certainly identify Prism chipset */
+ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */
+ PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */
+ PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */
+ PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */
+ PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */
+ PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */
+ PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */
+ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */
+ PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */
+ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */
+ PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */
PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */
PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */
PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */
PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */
PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */
- PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9),
- PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
+ PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5),
PCMCIA_DEVICE_PROD_ID12("Addtron", "AWP-100 Wireless PCMCIA", 0xe6ec52ce, 0x08649af2),
- PCMCIA_DEVICE_PROD_ID12("Allied Telesyn", "AT-WCL452 Wireless PCMCIA Radio", 0x5cd01705, 0x4271660f),
- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11b_PC_CARD_25", 0x78fc06ee, 0xdb9aa842),
- PCMCIA_DEVICE_PROD_ID12("ASUS", "802_11B_CF_CARD_25", 0x78fc06ee, 0x45a50c1e),
- PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
- PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb),
- PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18),
- PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
+ PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b),
PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584),
PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9),
PCMCIA_DEVICE_PROD_ID12("corega_K.K.", "Wireless_LAN_PCCB-11", 0x29e33311, 0xee7a27ae),
+ PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146),
PCMCIA_DEVICE_PROD_ID12("D", "Link DRC-650 11Mbps WLAN Card", 0x71b18589, 0xf144e3ac),
PCMCIA_DEVICE_PROD_ID12("D", "Link DWL-650 11Mbps WLAN Card", 0x71b18589, 0xb6f1b0ab),
- PCMCIA_DEVICE_PROD_ID12("D-Link Corporation", "D-Link DWL-650H 11Mbps WLAN Adapter", 0xef544d24, 0xcd8ea916),
- PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146),
- PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
- PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
- PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
- PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077),
+ PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9),
PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18),
PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77),
PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf),
- PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92),
PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395),
- PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
- PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
- PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
PCMCIA_DEVICE_PROD_ID12("Microsoft", "Wireless Notebook Adapter MN-520", 0x5961bf85, 0x6eec8c01),
- PCMCIA_DEVICE_PROD_ID12("NCR", "WaveLAN/IEEE", 0x24358cd4, 0xc562e72a),
- PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401 Wireless PC", "Card", 0xa37434e9, 0x9762e8f1),
PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401RA Wireless PC", "Card", 0x0306467f, 0x9762e8f1),
- PCMCIA_DEVICE_PROD_ID12("Nortel Networks", "emobility 802.11 Wireless LAN PC Card", 0x2d617ea0, 0x88cd5767),
+ PCMCIA_DEVICE_PROD_ID12("NETGEAR MA401 Wireless PC", "Card", 0xa37434e9, 0x9762e8f1),
PCMCIA_DEVICE_PROD_ID12("OEM", "PRISM2 IEEE 802.11 PC-Card", 0xfea54c90, 0x48f2bdd6),
- PCMCIA_DEVICE_PROD_ID12("OTC", "Wireless AirEZY 2411-PCC WLAN Card", 0x4ac44287, 0x235a6bed),
PCMCIA_DEVICE_PROD_ID12("PLANEX", "GeoWave/GW-CF110", 0x209f40ab, 0xd9715264),
PCMCIA_DEVICE_PROD_ID12("PLANEX", "GeoWave/GW-NS110", 0x209f40ab, 0x46263178),
- PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PC CARD HARMONY 80211B", 0xc6536a5e, 0x090c3cd9),
- PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
- PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757),
PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a),
- PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e),
PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee),
PCMCIA_DEVICE_PROD_ID3("HFA3863", 0x355cb092),
PCMCIA_DEVICE_PROD_ID3("ISL37100P", 0x630d52b2),
PCMCIA_DEVICE_PROD_ID3("ISL37101P-10", 0xdd97a26b),
PCMCIA_DEVICE_PROD_ID3("ISL37300P", 0xc9049a39),
+#endif
PCMCIA_DEVICE_NULL,
};
MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids);

View file

@ -1,36 +0,0 @@
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
index 0f292a2..2815ee7 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
@@ -613,7 +613,8 @@ void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority)
}
spin_unlock_irqrestore(&rxq->lock, flags);
- if (rxq->free_count > RX_LOW_WATERMARK)
+ if ((priority == GFP_ATOMIC) ||
+ (rxq->free_count > RX_LOW_WATERMARK / 4))
gfp_mask |= __GFP_NOWARN;
if (priv->hw_params.rx_page_order > 0)
@@ -627,7 +628,7 @@ void iwlagn_rx_allocate(struct iwl_priv *priv, gfp_t priority)
"order: %d\n",
priv->hw_params.rx_page_order);
- if ((rxq->free_count <= RX_LOW_WATERMARK) &&
+ if ((rxq->free_count <= RX_LOW_WATERMARK / 4) &&
net_ratelimit())
IWL_CRIT(priv, "Failed to alloc_pages with %s. Only %u free buffers remaining.\n",
priority == GFP_ATOMIC ? "GFP_ATOMIC" : "GFP_KERNEL",
diff --git a/drivers/net/wireless/iwlwifi/iwl-fh.h b/drivers/net/wireless/iwlwifi/iwl-fh.h
index 113c366..431bc58 100644
--- a/drivers/net/wireless/iwlwifi/iwl-fh.h
+++ b/drivers/net/wireless/iwlwifi/iwl-fh.h
@@ -426,7 +426,7 @@
* RX related structures and functions
*/
#define RX_FREE_BUFFERS 64
-#define RX_LOW_WATERMARK 8
+#define RX_LOW_WATERMARK 128
/* Size of one Rx buffer in host DRAM */
#define IWL_RX_BUF_SIZE_3K (3 * 1000) /* 3945 only */

View file

@ -1,30 +0,0 @@
diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c
index 9212cea..08d04a3 100644
--- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -258,7 +258,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
hdr->flags = cpu_to_le32(flags);
hdr->len = 0;
hdr->rts_duration = rts_dur;
- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
+ hdr->retry =
+ cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ else
+ hdr->retry = 0;
buf = hdr;
ep = 2;
@@ -276,7 +280,11 @@ static int rtl8187_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
memset(hdr, 0, sizeof(*hdr));
hdr->flags = cpu_to_le32(flags);
hdr->rts_duration = rts_dur;
- hdr->retry = cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
+ hdr->retry =
+ cpu_to_le32((info->control.rates[0].count - 1) << 8);
+ else
+ hdr->retry = 0;
hdr->tx_duration =
ieee80211_generic_frame_duration(dev, priv->vif,
skb->len, txrate);

View file

@ -1,453 +0,0 @@
From: Benoit Papillault <benoit.papillault@free.fr>
Date: Thu, 8 Apr 2010 21:53:39 +0000 (+0200)
Subject: ath5k & ath9k: Add the ability to disable physical & virtual carrier sense.
X-Git-Url: http://git.popipo.fr/?p=rt2x00.git;a=commitdiff_plain;h=6e617aef04e78aa09fdaf029ff2095bda8509606
ath5k & ath9k: Add the ability to disable physical & virtual carrier sense.
This patch adds 2 debugfs file in ath5k and ath9k debugfs directory, called :
- physical_carrier_sense : when set to 1, physical carrier sense is disabled.
- virtual_carrier_sense : when set to 1, virtual carrier sense is disabled
Carrier sense settings are restored after a hardware reset.
---
diff --git a/drivers/net/wireless/ath/ath5k/ath5k.h b/drivers/net/wireless/ath/ath5k/ath5k.h
index ac67f02..1f90dde 100644
--- a/drivers/net/wireless/ath/ath5k/ath5k.h
+++ b/drivers/net/wireless/ath/ath5k/ath5k.h
@@ -1135,6 +1135,10 @@ struct ath5k_hw {
/* Software interrupt mask */
u8 ah_swi_mask;
+ /* Saved values of physical & virtual carrier sense */
+ int saved_phy_cs;
+ int saved_virt_cs;
+
/*
* Function pointers
*/
@@ -1310,6 +1314,11 @@ extern unsigned int ath5k_hw_get_def_antenna(struct ath5k_hw *ah);
/* TX power setup */
extern int ath5k_hw_txpower(struct ath5k_hw *ah, struct ieee80211_channel *channel, u8 ee_mode, u8 txpower);
extern int ath5k_hw_set_txpower_limit(struct ath5k_hw *ah, u8 txpower);
+/* physical & virtual carrier sense get/set methods */
+int ath5k_hw_get_phy_cs(struct ath5k_hw *ah);
+void ath5k_hw_set_phy_cs(struct ath5k_hw *ah, int val);
+int ath5k_hw_get_virt_cs(struct ath5k_hw *ah);
+void ath5k_hw_set_virt_cs(struct ath5k_hw *ah, int val);
/*
* Functions used internaly
diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c
index 747508c..246c62d 100644
--- a/drivers/net/wireless/ath/ath5k/debug.c
+++ b/drivers/net/wireless/ath/ath5k/debug.c
@@ -363,6 +363,90 @@ static const struct file_operations fops_debug = {
.owner = THIS_MODULE,
};
+static ssize_t read_file_phy_cs(struct file *file, char __user *user_buf,
+ size_t count, loff_t *ppos)
+{
+ struct ath5k_softc *sc = file->private_data;
+ struct ath5k_hw *ah = sc->ah;
+ char buf[32];
+ unsigned int len;
+ int val;
+
+ val = ath5k_hw_get_phy_cs(ah);
+ len = snprintf(buf, sizeof(buf), "%d\n", val);
+ return simple_read_from_buffer(user_buf, count, ppos, buf, len);
+}
+
+static ssize_t write_file_phy_cs(struct file *file, const char __user *user_buf,
+ size_t count, loff_t *ppos)
+{
+ struct ath5k_softc *sc = file->private_data;
+ struct ath5k_hw *ah = sc->ah;
+ unsigned long val;
+ char buf[32];
+ ssize_t len;
+
+ len = min(count, sizeof(buf) - 1);
+ if (copy_from_user(buf, user_buf, len))
+ return -EINVAL;
+
+ buf[len] = '\0';
+ if (strict_strtoul(buf, 0, &val))
+ return -EINVAL;
+
+ ath5k_hw_set_phy_cs(ah, val);
+ return count;
+}
+
+static const struct file_operations fops_phy_cs = {
+ .read = read_file_phy_cs,
+ .write = write_file_phy_cs,
+ .open = ath5k_debugfs_open,
+ .owner = THIS_MODULE
+};
+
+static ssize_t read_file_virt_cs(struct file *file, char __user *user_buf,
+ size_t count, loff_t *ppos)
+{
+ struct ath5k_softc *sc = file->private_data;
+ struct ath5k_hw *ah = sc->ah;
+ char buf[32];
+ unsigned int len;
+ int val;
+
+ val = ath5k_hw_get_virt_cs(ah);
+ len = snprintf(buf, sizeof(buf), "%d\n",val);
+ return simple_read_from_buffer(user_buf, count, ppos, buf, len);
+}
+
+static ssize_t write_file_virt_cs(struct file *file, const char __user *user_buf,
+ size_t count, loff_t *ppos)
+{
+ struct ath5k_softc *sc = file->private_data;
+ struct ath5k_hw *ah = sc->ah;
+ unsigned long val;
+ char buf[32];
+ ssize_t len;
+
+ len = min(count, sizeof(buf) - 1);
+ if (copy_from_user(buf, user_buf, len))
+ return -EINVAL;
+
+ buf[len] = '\0';
+ if (strict_strtoul(buf, 0, &val))
+ return -EINVAL;
+
+ ath5k_hw_set_virt_cs(ah, val);
+
+ return count;
+}
+
+static const struct file_operations fops_virt_cs = {
+ .read = read_file_virt_cs,
+ .write = write_file_virt_cs,
+ .open = ath5k_debugfs_open,
+ .owner = THIS_MODULE
+};
/* init */
@@ -393,6 +477,14 @@ ath5k_debug_init_device(struct ath5k_softc *sc)
sc->debug.debugfs_reset = debugfs_create_file("reset", S_IWUSR,
sc->debug.debugfs_phydir, sc, &fops_reset);
+
+ sc->debug.debugfs_phy_cs = debugfs_create_file("physical_carrier_sense",
+ S_IRUSR|S_IWUSR,
+ sc->debug.debugfs_phydir, sc, &fops_phy_cs);
+
+ sc->debug.debugfs_virt_cs = debugfs_create_file("virtual_carrier_sense",
+ S_IRUSR|S_IWUSR,
+ sc->debug.debugfs_phydir, sc, &fops_virt_cs);
}
void
@@ -404,6 +496,8 @@ ath5k_debug_finish(void)
void
ath5k_debug_finish_device(struct ath5k_softc *sc)
{
+ debugfs_remove(sc->debug.debugfs_virt_cs);
+ debugfs_remove(sc->debug.debugfs_phy_cs);
debugfs_remove(sc->debug.debugfs_debug);
debugfs_remove(sc->debug.debugfs_registers);
debugfs_remove(sc->debug.debugfs_beacon);
diff --git a/drivers/net/wireless/ath/ath5k/debug.h b/drivers/net/wireless/ath/ath5k/debug.h
index 66f69f0..070226c 100644
--- a/drivers/net/wireless/ath/ath5k/debug.h
+++ b/drivers/net/wireless/ath/ath5k/debug.h
@@ -74,6 +74,8 @@ struct ath5k_dbg_info {
struct dentry *debugfs_registers;
struct dentry *debugfs_beacon;
struct dentry *debugfs_reset;
+ struct dentry *debugfs_phy_cs;
+ struct dentry *debugfs_virt_cs;
};
/**
diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c
index eff3323..4604e8f 100644
--- a/drivers/net/wireless/ath/ath5k/phy.c
+++ b/drivers/net/wireless/ath/ath5k/phy.c
@@ -3145,3 +3145,41 @@ int ath5k_hw_set_txpower_limit(struct ath5k_hw *ah, u8 txpower)
}
#undef _ATH5K_PHY
+int ath5k_hw_get_phy_cs(struct ath5k_hw *ah)
+{
+ u32 regval;
+
+ regval = ath5k_hw_reg_read(ah, AR5K_DIAG_SW);
+ return !!(regval & AR5K_DIAG_SW_RX_CLEAR_HIGH);
+}
+
+void ath5k_hw_set_phy_cs(struct ath5k_hw *ah, int val)
+{
+ if (val)
+ AR5K_REG_ENABLE_BITS(ah, AR5K_DIAG_SW,
+ AR5K_DIAG_SW_RX_CLEAR_HIGH);
+ else
+ AR5K_REG_DISABLE_BITS(ah, AR5K_DIAG_SW,
+ AR5K_DIAG_SW_RX_CLEAR_HIGH);
+ ah->saved_phy_cs = val;
+}
+
+int ath5k_hw_get_virt_cs(struct ath5k_hw *ah)
+{
+ u32 regval;
+
+ regval = ath5k_hw_reg_read(ah, AR5K_DIAG_SW);
+ return !!(regval & AR5K_DIAG_SW_IGNORE_CARR_SENSE);
+}
+
+void ath5k_hw_set_virt_cs(struct ath5k_hw *ah, int val)
+{
+ if (val)
+ AR5K_REG_ENABLE_BITS(ah, AR5K_DIAG_SW,
+ AR5K_DIAG_SW_IGNORE_CARR_SENSE);
+ else
+ AR5K_REG_DISABLE_BITS(ah, AR5K_DIAG_SW,
+ AR5K_DIAG_SW_IGNORE_CARR_SENSE);
+ ah->saved_virt_cs = val;
+}
+
diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c
index cbf28e3..7d337f3 100644
--- a/drivers/net/wireless/ath/ath5k/reset.c
+++ b/drivers/net/wireless/ath/ath5k/reset.c
@@ -1386,6 +1386,9 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
*/
AR5K_REG_DISABLE_BITS(ah, AR5K_BEACON, AR5K_BEACON_ENABLE);
ath5k_hw_reset_tsf(ah);
+
+ ath5k_hw_set_phy_cs(ah, ah->saved_phy_cs);
+ ath5k_hw_set_virt_cs(ah, ah->saved_virt_cs);
return 0;
}
diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c
index 42d2a50..a65d9fc 100644
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
@@ -699,6 +699,75 @@ static const struct file_operations fops_recv = {
.owner = THIS_MODULE
};
+static ssize_t write_file_phy_cs(struct file *file, const char __user *user_buf,
+ size_t count, loff_t *ppos)
+{
+ struct ath_softc *sc = file->private_data;
+ unsigned long val;
+ char buf[32];
+ ssize_t len;
+
+ len = min(count, sizeof(buf) - 1);
+ if (copy_from_user(buf, user_buf, len))
+ return -EINVAL;
+
+ buf[len] = '\0';
+ if (strict_strtoul(buf, 0, &val))
+ return -EINVAL;
+
+ ath9k_hw_set_phy_cs(sc->sc_ah, val);
+
+ return count;
+}
+
+static const struct file_operations fops_phy_cs = {
+ .read = read_file_phy_cs,
+ .write = write_file_phy_cs,
+ .open = ath9k_debugfs_open,
+ .owner = THIS_MODULE
+};
+
+static ssize_t read_file_virt_cs(struct file *file, char __user *user_buf,
+ size_t count, loff_t *ppos)
+{
+ struct ath_softc *sc = file->private_data;
+ char buf[32];
+ unsigned int len;
+ int val;
+
+ val = ath9k_hw_get_virt_cs(sc->sc_ah);
+ len = snprintf(buf, sizeof(buf), "%d\n", val);
+ return simple_read_from_buffer(user_buf, count, ppos, buf, len);
+}
+
+static ssize_t write_file_virt_cs(struct file *file, const char __user *user_buf,
+ size_t count, loff_t *ppos)
+{
+ struct ath_softc *sc = file->private_data;
+ unsigned long val;
+ char buf[32];
+ ssize_t len;
+
+ len = min(count, sizeof(buf) - 1);
+ if (copy_from_user(buf, user_buf, len))
+ return -EINVAL;
+
+ buf[len] = '\0';
+ if (strict_strtoul(buf, 0, &val))
+ return -EINVAL;
+
+ ath9k_hw_set_virt_cs(sc->sc_ah, val);
+
+ return count;
+}
+
+static const struct file_operations fops_virt_cs = {
+ .read = read_file_virt_cs,
+ .write = write_file_virt_cs,
+ .open = ath9k_debugfs_open,
+ .owner = THIS_MODULE
+};
+
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
@@ -758,6 +827,20 @@ int ath9k_init_debug(struct ath_hw *ah)
if (!sc->debug.debugfs_recv)
goto err;
+ sc->debug.debugfs_phy_cs = debugfs_create_file("physical_carrier_sense",
+ S_IRUSR|S_IWUSR,
+ sc->debug.debugfs_phy,
+ sc, &fops_phy_cs);
+ if (!sc->debug.debugfs_phy_cs)
+ goto err;
+
+ sc->debug.debugfs_virt_cs = debugfs_create_file("virtual_carrier_sense",
+ S_IRUSR|S_IWUSR,
+ sc->debug.debugfs_phy,
+ sc, &fops_virt_cs);
+ if (!sc->debug.debugfs_virt_cs)
+ goto err;
+
return 0;
err:
ath9k_exit_debug(ah);
@@ -769,6 +852,8 @@ void ath9k_exit_debug(struct ath_hw *ah)
struct ath_common *common = ath9k_hw_common(ah);
struct ath_softc *sc = (struct ath_softc *) common->priv;
+ debugfs_remove(sc->debug.debugfs_virt_cs);
+ debugfs_remove(sc->debug.debugfs_phy_cs);
debugfs_remove(sc->debug.debugfs_recv);
debugfs_remove(sc->debug.debugfs_xmit);
debugfs_remove(sc->debug.debugfs_wiphy);
diff --git a/drivers/net/wireless/ath/ath9k/debug.h b/drivers/net/wireless/ath/ath9k/debug.h
index 86780e6..d86bbe5 100644
--- a/drivers/net/wireless/ath/ath9k/debug.h
+++ b/drivers/net/wireless/ath/ath9k/debug.h
@@ -156,6 +156,8 @@ struct ath9k_debug {
struct dentry *debugfs_wiphy;
struct dentry *debugfs_xmit;
struct dentry *debugfs_recv;
+ struct dentry *debugfs_phy_cs;
+ struct dentry *debugfs_virt_cs;
struct ath_stats stats;
};
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 2e767cf..aef52aa 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -954,6 +954,10 @@ int ath9k_hw_init(struct ath_hw *ah)
common->state = ATH_HW_INITIALIZED;
+ /* Initially, physical and virtual carrier sense are enabled */
+ ah->saved_phy_cs = 0;
+ ah->saved_virt_cs = 0;
+
return 0;
}
@@ -1913,6 +1917,44 @@ static void ath9k_enable_rfkill(struct ath_hw *ah)
REG_SET_BIT(ah, AR_PHY_TEST, RFSILENT_BB);
}
+int ath9k_hw_get_phy_cs(struct ath_hw *ah)
+{
+ u32 regval;
+
+ regval = REG_READ(ah, AR_DIAG_SW);
+ return !!(regval & AR_DIAG_FORCE_RX_CLEAR);
+}
+EXPORT_SYMBOL(ath9k_hw_get_phy_cs);
+
+void ath9k_hw_set_phy_cs(struct ath_hw *ah, int val)
+{
+ if (val)
+ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_RX_CLEAR);
+ else
+ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_FORCE_RX_CLEAR);
+ ah->saved_phy_cs = val;
+}
+EXPORT_SYMBOL(ath9k_hw_set_phy_cs);
+
+int ath9k_hw_get_virt_cs(struct ath_hw *ah)
+{
+ u32 regval;
+
+ regval = REG_READ(ah, AR_DIAG_SW);
+ return !!(regval & AR_DIAG_IGNORE_VIRT_CS);
+}
+EXPORT_SYMBOL(ath9k_hw_get_virt_cs);
+
+void ath9k_hw_set_virt_cs(struct ath_hw *ah, int val)
+{
+ if (val)
+ REG_SET_BIT(ah, AR_DIAG_SW, AR_DIAG_IGNORE_VIRT_CS);
+ else
+ REG_CLR_BIT(ah, AR_DIAG_SW, AR_DIAG_IGNORE_VIRT_CS);
+ ah->saved_virt_cs = val;
+}
+EXPORT_SYMBOL(ath9k_hw_set_virt_cs);
+
int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
bool bChannelChange)
{
@@ -2142,6 +2184,9 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
if (ah->btcoex_hw.enabled)
ath9k_hw_btcoex_enable(ah);
+ ath9k_hw_set_phy_cs(ah, ah->saved_phy_cs);
+ ath9k_hw_set_virt_cs(ah, ah->saved_virt_cs);
+
return 0;
}
EXPORT_SYMBOL(ath9k_hw_reset);
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
index dbbf7ca..2c1dac4 100644
--- a/drivers/net/wireless/ath/ath9k/hw.h
+++ b/drivers/net/wireless/ath/ath9k/hw.h
@@ -602,6 +602,10 @@ struct ath_hw {
u32 intr_gen_timer_trigger;
u32 intr_gen_timer_thresh;
struct ath_gen_timer_table hw_gen_timers;
+
+ /* Saved values of physical & virtual carrier sense */
+ int saved_phy_cs;
+ int saved_virt_cs;
};
static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah)
@@ -618,6 +622,10 @@ static inline struct ath_regulatory *ath9k_hw_regulatory(struct ath_hw *ah)
const char *ath9k_hw_probe(u16 vendorid, u16 devid);
void ath9k_hw_deinit(struct ath_hw *ah);
int ath9k_hw_init(struct ath_hw *ah);
+int ath9k_hw_get_phy_cs(struct ath_hw *ah);
+void ath9k_hw_set_phy_cs(struct ath_hw *ah, int val);
+int ath9k_hw_get_virt_cs(struct ath_hw *ah);
+void ath9k_hw_set_virt_cs(struct ath_hw *ah, int val);
int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
bool bChannelChange);
int ath9k_hw_fill_cap_info(struct ath_hw *ah);

View file

@ -1,20 +0,0 @@
commit 452d7dd816744efb5d0c22c2b038f2ffa5c7ec14
Author: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Date: Mon Dec 13 07:39:32 2010 +0530
ath9k_htc: Add Ubiquiti wifistation ext to supported devices
Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff -Naur compat-wireless-2.6.37-4-sn-orig/drivers/net/wireless/ath/ath9k/hif_usb.c compat-wireless-2.6.37-4-sn/drivers/net/wireless/ath/ath9k/hif_usb.c
--- compat-wireless-2.6.37-4-sn-orig/drivers/net/wireless/ath/ath9k/hif_usb.c 2011-02-07 21:07:16.000000000 -0500
+++ compat-wireless-2.6.37-4-sn/drivers/net/wireless/ath/ath9k/hif_usb.c 2011-02-07 21:07:56.000000000 -0500
@@ -42,6 +42,7 @@
{ USB_DEVICE(0x04CA, 0x4605) }, /* Liteon */
{ USB_DEVICE(0x083A, 0xA704) }, /* SMC Networks */
{ USB_DEVICE(0x040D, 0x3801) }, /* VIA */
+ { USB_DEVICE(0x0cf3, 0xb003) }, /* Ubiquiti WifiStation Ext */
{ USB_DEVICE(0x1668, 0x1200) }, /* Verizon */
{ },
};

View file

@ -1,129 +0,0 @@
diff -Naur compat-wireless-2.6.31-rc4-orig/Makefile compat-wireless-2.6.31-rc4/Makefile
--- compat-wireless-2.6.31-rc4-orig/Makefile 2009-07-22 17:27:26.000000000 -0400
+++ compat-wireless-2.6.31-rc4/Makefile 2009-07-30 16:35:59.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)
ifneq ($(KERNELRELEASE),)
@@ -62,34 +58,19 @@
$(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \
modules_install
@# All the scripts we can use
- @mkdir -p /usr/lib/compat-wireless/
- @install scripts/modlib.sh /usr/lib/compat-wireless/
- @install scripts/madwifi-unload /usr/sbin/
+ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/
+ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/
+ @mkdir -p $(DESTDIR)/usr/sbin/
+ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/
+
@# This is to allow switching between drivers without blacklisting
- @install scripts/athenable /usr/sbin/
- @install scripts/b43enable /usr/sbin/
- @install scripts/iwl-enable /usr/sbin/
- @install scripts/athload /usr/sbin/
- @install scripts/b43load /usr/sbin/
- @install scripts/iwl-load /usr/sbin/
- @if [ ! -z $(MADWIFI) ]; then \
- echo ;\
- echo -n "Note: madwifi detected, we're going to disable it. " ;\
- echo "If you would like to enable it later you can run:" ;\
- echo " sudo athenable madwifi" ;\
- echo ;\
- echo Running athenable ath5k...;\
- /usr/sbin/athenable ath5k ;\
- fi
- @if [ ! -z $(OLD_IWL) ]; then \
- echo ;\
- echo -n "Note: iwl4965 detected, we're going to disable it. " ;\
- echo "If you would like to enable it later you can run:" ;\
- echo " sudo iwl-load iwl4965" ;\
- echo ;\
- echo Running iwl-enable iwlagn...;\
- /usr/sbin/iwl-enable iwlagn ;\
- fi
+ @install scripts/athenable ${DESTDIR}/usr/sbin/
+ @install scripts/b43enable ${DESTDIR}/usr/sbin/
+ @install scripts/iwl-enable ${DESTDIR}/usr/sbin/
+ @install scripts/athload ${DESTDIR}/usr/sbin/
+ @install scripts/b43load ${DESTDIR}/usr/sbin/
+ @install scripts/iwl-load ${DESTDIR}/usr/sbin/
+
@# If on distributions like Mandriva which like to
@# compress their modules this will find out and do
@# it for you. Reason is some old version of modutils
@@ -100,62 +81,7 @@
@# the updates/ dir which is what we use so we add one for it
@# (or any other distribution that doens't have this).
@./scripts/check_depmod
- @/sbin/depmod -ae
- @echo
- @echo "Currently detected wireless subsystem modules:"
- @echo
- @$(MODPROBE) -l mac80211
- @$(MODPROBE) -l cfg80211
- @$(MODPROBE) -l lib80211
- @$(MODPROBE) -l adm8211
- @$(MODPROBE) -l ar9170usb
- @$(MODPROBE) -l at76c50x-usb
- @$(MODPROBE) -l ath
- @$(MODPROBE) -l ath5k
- @$(MODPROBE) -l ath9k
- @$(MODPROBE) -l b43
- @$(MODPROBE) -l b43legacy
- @$(MODPROBE) -l b44
- @$(MODPROBE) -l cdc_ether
- @$(MODPROBE) -l eeprom_93cx6
- @$(MODPROBE) -l ipw2100
- @$(MODPROBE) -l ipw2200
- @$(MODPROBE) -l iwl3945
- @$(MODPROBE) -l iwlagn
- @$(MODPROBE) -l iwlcore
- @$(MODPROBE) -l lib80211_crypt_ccmp
- @$(MODPROBE) -l lib80211_crypt_tkip
- @$(MODPROBE) -l lib80211_crypt_wep
- @$(MODPROBE) -l libertas
- @$(MODPROBE) -l libertas_cs
- @$(MODPROBE) -l libertas_sdio
- @$(MODPROBE) -l libertas_spi
- @$(MODPROBE) -l libertas_tf
- @$(MODPROBE) -l libertas_tf_usb
- @$(MODPROBE) -l libipw
- @$(MODPROBE) -l mac80211_hwsim
- @$(MODPROBE) -l mwl8k
- @$(MODPROBE) -l p54common
- @$(MODPROBE) -l p54pci
- @$(MODPROBE) -l p54spi
- @$(MODPROBE) -l p54usb
- @$(MODPROBE) -l rndis_host
- @$(MODPROBE) -l rndis_wlan
- @$(MODPROBE) -l rt2400pci
- @$(MODPROBE) -l rt2500pci
- @$(MODPROBE) -l rt2500usb
- @$(MODPROBE) -l rt2x00lib
- @$(MODPROBE) -l rt2x00pci
- @$(MODPROBE) -l rt2x00usb
- @$(MODPROBE) -l rt61pci
- @$(MODPROBE) -l rt73usb
- @$(MODPROBE) -l rtl8180
- @$(MODPROBE) -l rtl8187
- @$(MODPROBE) -l ssb
- @$(MODPROBE) -l usb8xxx
- @$(MODPROBE) -l usbnet
- @$(MODPROBE) -l zd1211rw
- @echo
+
@echo Now run:
@echo
@echo make unload

View file

@ -1,18 +0,0 @@
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?=

View file

@ -1,122 +0,0 @@
diff -Naur compat-wireless-2.6.30-rc6.orig/Makefile compat-wireless-2.6.30-rc6/Makefile
--- compat-wireless-2.6.30-rc6.orig/Makefile 2009-05-17 21:48:36.000000000 +0000
+++ compat-wireless-2.6.30-rc6/Makefile 2009-05-27 12:21:51.000000000 +0000
@@ -3,13 +3,10 @@
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)
ifneq ($(KERNELRELEASE),)
@@ -59,92 +56,26 @@
@md5sum $(COMPAT_CONFIG) > $(CONFIG_CHECK)
install: uninstall modules
- $(MAKE) -C $(KLIB_BUILD) M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \
+ $(MAKE) -C /lib/modules/$(KVER)/build M=$(PWD) $(KMODDIR_ARG) $(KMODPATH_ARG) \
modules_install
@# All the scripts we can use
- @mkdir -p /usr/lib/compat-wireless/
- @install scripts/modlib.sh /usr/lib/compat-wireless/
- @install scripts/madwifi-unload /usr/sbin/
+ @mkdir -p $(DESTDIR)/usr/lib/compat-wireless/
+ @install scripts/modlib.sh $(DESTDIR)/usr/lib/compat-wireless/
+ @mkdir -p $(DESTDIR)/usr/sbin/
+ @install scripts/madwifi-unload $(DESTDIR)/usr/sbin/
@# This is to allow switching between drivers without blacklisting
- @install scripts/athenable /usr/sbin/
- @install scripts/b43enable /usr/sbin/
- @install scripts/iwl-enable /usr/sbin/
- @install scripts/athload /usr/sbin/
- @install scripts/b43load /usr/sbin/
- @install scripts/iwl-load /usr/sbin/
- @if [ ! -z $(MADWIFI) ]; then \
- echo ;\
- echo -n "Note: madwifi detected, we're going to disable it. " ;\
- echo "If you would like to enable it later you can run:" ;\
- echo " sudo athenable madwifi" ;\
- echo ;\
- echo Running athenable ath5k...;\
- /usr/sbin/athenable ath5k ;\
- fi
- @if [ ! -z $(OLD_IWL) ]; then \
- echo ;\
- echo -n "Note: iwl4965 detected, we're going to disable it. " ;\
- echo "If you would like to enable it later you can run:" ;\
- echo " sudo iwl-load iwl4965" ;\
- echo ;\
- echo Running iwl-enable iwlagn...;\
- /usr/sbin/iwl-enable iwlagn ;\
- fi
+ @install scripts/athenable $(DESTDIR)/usr/sbin/
+ @install scripts/b43enable $(DESTDIR)/usr/sbin/
+ @install scripts/iwl-enable $(DESTDIR)/usr/sbin/
+ @install scripts/athload $(DESTDIR)/usr/sbin/
+ @install scripts/b43load $(DESTDIR)/usr/sbin/
+ @install scripts/iwl-load $(DESTDIR)/usr/sbin/
@# If on distributions like Mandriva which like to
@# compress their modules this will find out and do
@# it for you. Reason is some old version of modutils
@# won't know mac80211.ko should be used instead of
@# mac80211.ko.gz
@./scripts/compress_modules
- @/sbin/depmod -ae
- @echo
- @echo "Currently detected wireless subsystem modules:"
- @echo
- @$(MODPROBE) -l mac80211
- @$(MODPROBE) -l cfg80211
- @$(MODPROBE) -l lib80211
- @$(MODPROBE) -l adm8211
- @$(MODPROBE) -l at76c50x-usb
- @$(MODPROBE) -l ath5k
- @$(MODPROBE) -l ath9k
- @$(MODPROBE) -l b43
- @$(MODPROBE) -l b43legacy
- @$(MODPROBE) -l b44
- @$(MODPROBE) -l ssb
- @$(MODPROBE) -l rc80211_simple
- @$(MODPROBE) -l iwlcore
- @$(MODPROBE) -l iwl3945
- @$(MODPROBE) -l iwlagn
- @$(MODPROBE) -l ipw2100
- @$(MODPROBE) -l ipw2200
- @$(MODPROBE) -l libipw
- @$(MODPROBE) -l lib80211
- @$(MODPROBE) -l lib80211_crypt
- @$(MODPROBE) -l libertas_cs
- @$(MODPROBE) -l libertas_tf
- @$(MODPROBE) -l libertas_tf_usb
- @$(MODPROBE) -l ub8xxx
- @$(MODPROBE) -l p54pci
- @$(MODPROBE) -l p54usb
- @$(MODPROBE) -l rt2400pci
- @$(MODPROBE) -l rt2500pci
- @$(MODPROBE) -l rt2500usb
- @$(MODPROBE) -l rt61pci
- @$(MODPROBE) -l rt73usb
- @$(MODPROBE) -l usbnet
- @$(MODPROBE) -l cdc_ether
- @$(MODPROBE) -l rndis_host
- @$(MODPROBE) -l rndis_wlan
- @$(MODPROBE) -l rtl8180
- @$(MODPROBE) -l rtl8187
- @$(MODPROBE) -l zd1211rw
- @echo
- @echo Now run:
- @echo
- @echo make unload
- @echo
- @echo And then load the wireless module you need. If unsure reboot.
- @echo
uninstall:
@# New location, matches upstream

File diff suppressed because it is too large Load diff

View file

@ -1,7 +0,0 @@
<?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>
</use>
</pkgmetadata>

View file

@ -1,26 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit linux-info linux-mod git-2
DESCRIPTION="Linux kernel module for ASUS USB-AC56"
HOMEPAGE="https://github.com/codeworkx/rtl8812au_asus/commits/master"
EGIT_REPO_URI="https://github.com/codeworkx/rtl8812au_asus.git"
EGIT_COMMIT="fc3150e6535ca496890aef19bb9b9bd749d79738"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
#IUSE="pax_kernel"
ARCH=x86_64
MODULE_NAMES="8812au(net/wireless:)"
BUILD_TARGETS="clean modules"
#src_prepare() {
# use pax_kernel && epatch "${FILESDIR}"/rtl8812au_p2014_grsecurity.patch
#}

View file

@ -1,26 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit linux-info linux-mod git-2
DESCRIPTION="Linux kernel module for ASUS USB-AC56"
HOMEPAGE="https://github.com/codeworkx/rtl8812au_asus/commits/master"
EGIT_REPO_URI="https://github.com/codeworkx/rtl8812au_asus.git"
EGIT_COMMIT="ca337ee95a5310fbd9c645bdb9a6d5fbe5af7919"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
#IUSE="pax_kernel"
ARCH=x86_64
MODULE_NAMES="8812au(net/wireless:)"
BUILD_TARGETS="clean modules"
#src_prepare() {
# use pax_kernel && epatch "${FILESDIR}"/rtl8812au_p2014_grsecurity.patch
#}

View file

@ -1,21 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit linux-info linux-mod git-r3
DESCRIPTION="Linux kernel module for ASUS USB-AC56"
HOMEPAGE="https://github.com/codeworkx/rtl8812au_asus/commits/master"
EGIT_REPO_URI="https://github.com/codeworkx/rtl8812au_asus.git"
EGIT_COMMIT="b098b2b0d1fa7ff515f95bf2f237fd698d1cd71f"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
#IUSE="pax_kernel"
ARCH=x86_64
MODULE_NAMES="8812au(net/wireless:)"
BUILD_TARGETS="clean modules"

View file

@ -3,11 +3,11 @@ app-emulation/open-vm-tools-kmod
# required by app-emulation/open-vm-tools
=dev-libs/xml-security-c-1.7*
=app-emulation/virtualbox-additions-6.0*
=app-emulation/virtualbox-modules-6.0*
=app-emulation/virtualbox-6.0*
=app-emulation/virtualbox-extpack-oracle-6.0*
=app-emulation/virtualbox-guest-additions-6.0*
=app-emulation/virtualbox-additions-6.1*
=app-emulation/virtualbox-modules-6.1*
=app-emulation/virtualbox-6.1*
=app-emulation/virtualbox-extpack-oracle-6.1*
=app-emulation/virtualbox-guest-additions-6.1*
#required by Mobile-Security-Framework-MobSF
=app-emulation/genymotion-bin-3.0*

View file

@ -10,10 +10,14 @@ DIST genpatches-5.3-21.extras.tar.xz 1736 BLAKE2B f3269248772d7f436a86b810740928
DIST genpatches-5.4-15.base.tar.xz 586668 BLAKE2B 6e363fc484e94c2903ea94d5966d311f7bc99dba2395b47075f4e553dcb437184036b4651f97d943d3ddb6016a74d9692723fd4b86c4b0272f2c9dd3ae657cfd SHA512 ff31fbb8e71b2bccb4e99a15127b2392d4e4f3452a522cd49b1b9aaa0916e35e32ae41c62a2cb896951312d756cda89533b2a4c79da8bff53a8d448919fb9ecd
DIST genpatches-5.4-15.experimental.tar.xz 6140 BLAKE2B 03408c287c90b7e77ee132ae7d0dbbbc6791bc26ed75dd1eb88009e7892c02db5621b98b40013c9da420577b5a6eada7b4cd49b43a4d41c0bb69bbd15b34ce8a SHA512 8039f604515a57207a69464d9dd12d4481daeb089532208cbce0fb9d0722e67ba940433af52d6ebe0e5b701ddff964f03fc142b273d29626afe87233e40db6dc
DIST genpatches-5.4-15.extras.tar.xz 1744 BLAKE2B bca6af0367819405e5d11c46bcd45187ea16b0de7793e546d4be294a3c87e5e00313873d356c3139881f619fa6e64da0c99f8a8b788ec14e17c1ca192276c543 SHA512 2f783d62403997d724ff4e124f9365dbddd3f139438b6bec608829762a3b2ef29dc8c488b10a4069a501de70512cff15dbb187d44c8ec90ff0604bc63a713420
DIST genpatches-5.5-4.base.tar.xz 28264 BLAKE2B cc90dae1eb42bdd23e3e2b3e3fabebd10d6e0e990af091dca0c96400f20a951169c565eaeb341973bac849308cc7ebc0f425b79bfeed2c52862bdb6508dac48e SHA512 7c480076841873d1cee12bfec769f3da4bd63b51c228e5bc8e85e40335ab147b94d35a86647b0ed15c9843c86edd4c080aeeb2d5791c494e78bed2cb95ac3de9
DIST genpatches-5.5-4.experimental.tar.xz 5596 BLAKE2B 5fc39d80c6c13562aaef20f00be71aebf180dfea5093ac31b8a541d0dc86800f6b9721f168a5f712e22eb2a1d722fd2751d61cc4884da9d8be603b469297e9ee SHA512 a3a587d564fdc22ae78429186a8da1823faa6b0e6b6f9601f054367bdb9fa340969995e2400962d5a639c6dec7292e35b21e77c92542ca736ab9f06b458e58af
DIST genpatches-5.5-4.extras.tar.xz 1740 BLAKE2B 5b45ff8942b4f62c415b18ef6ce76ea34bf62049f56884af8c830fa3ebb92f082139395eb1c82fd7967ecd71f1efb0d94f3c31fe79dfb45e440958c8c0dde783 SHA512 1b10e3455e9adf7435595781a15f1c67c249d3fcbf763c949721eced1f05713e60c68b21277af2cbd757f64791c35788ea96d1c59f6c55921d8b4d558be74959
DIST linux-5.1.tar.xz 106244476 BLAKE2B ae3c63ced819737e34f8ec3a78138f87704a2f2956454411e3a4830ec8c0aaf2c288af6ca080f1892540e50f4a422482360010be8641afdeeeaf7231e7d8da97 SHA512 ae96f347badc95f1f3acf506c52b6cc23c0bd09ce8f4ce6705d4b4058b62593059bba1bc603c8d8b00a2f19131e7e56c31ac62b45883a346fa61d655e178f236
DIST linux-5.2.tar.xz 107029708 BLAKE2B f0cf6e3a15a4bd019edbfa33cb4556d0672e807f7d139eff3ab053d0ad7649198b229475955a1f51eb90d0e9f8268cafb782f6312793fdf38472f3c6d7c2d7ee SHA512 5a28f8a34c4e0470617f5638b7112e6252109b78f23b1eed484a228530970c7ef5c130d6e5a09cf25ea2f6a0329602dcc1ec66ce893182e15b27d99bd228789c
DIST linux-5.3.tar.xz 108558876 BLAKE2B 0d08eed879d05734e4542f0c93823d43f8dc042a54ba5268064c4bbebd7a9d59c03abf3ad5dee8280e784ae148a3b0c56181eaf2d5b3c079b6fe9f5191544df6 SHA512 6b5edef47c319a3fa7f6c20a3e0903a5acd89ec75e32dc5f99adcb60c9fe118ea312722d9c3d27e2e3900afa2455afb86e83a8b6bb131009bc79ddbe6fb0595d
DIST linux-5.4.tar.xz 109441440 BLAKE2B 193bc4a3147e147d5529956164ec4912fad5d5c6fb07f909ff1056e57235834173194afc686993ccd785c1ff15804de0961b625f3008cca0e27493efc8f27b13 SHA512 9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f
DIST linux-5.5.tar.xz 110713660 BLAKE2B 36b990d3650c409652206c319c93c0cf68885334050bc286b479c8b844bc47354547e19eebb58caafb026b96d134f39f0c7ce38b4eebe9da7ea6d1610a1e2af2 SHA512 fa74fdabb5e63384a39e54da05b86a9ae9ea16179524b041fbbdffc7177e80b53600ae98d76be127ba216148f9dc55fe07ab20637e22c6d6030cb4aa09eb2f86
DIST penpatches-4.13.8-1.tar.xz 16424 BLAKE2B 005e83f5e667bd851c21a52929fd6ffa9458692eda285fd82fd145f91de7a49f1a7ed750b08979be230349435d07e23939b804b509849bb545de3a7631e11ee7 SHA512 b6d83edc0e97202dd4332eedf734a2024057fa9acd111394cc95a85d648bcc9d4f4d9ae9d84f3a63265146d9ba45f2470c0962c06c911be86da4dc7034b03dda
DIST penpatches-5.2.1-1.tar.xz 16748 BLAKE2B 69f72d23eefd1e54ed27d0fdbabd558e3d7811941f04fd0970465ddcf612cdb3286e3c515399e325cd78fe883effe1ba27ae305753c69fc0469d477054b2b705 SHA512 27027697dcc2d9af18bfe0fc0280edaae124a0827103b7199d04a578c0682252222cad3489b995613959a58afef953dfb95871b97f4634b77bd73abb1b9d01f6
DIST penpatches-5.3.8-1.tar.xz 19384 BLAKE2B 77317f4eeb6813bd0c5e517c4af4e3c2d9705019feb3ee64a8f3f4f4de148b0313db91273da5495020b6dbf2d9ca9031447568060a66c033b207be36dc067a1b SHA512 d1b0888f3c73afed2e188277846144368a4a49069d4fc9143c5322af4020c6942b56f92e0ccef9f6835551c21a460d4090d96ce5154684e1f441fea332f99455