mirror of
https://github.com/pentoo/pentoo-overlay
synced 2026-04-21 06:10:56 +02:00
drop a bunch of old stuff which needed git-r2
This commit is contained in:
parent
5d66750737
commit
de3075af22
93 changed files with 9 additions and 36554 deletions
|
|
@ -1 +0,0 @@
|
|||
DIST redsocks-0.5.tar.gz 496403 SHA256 bbeb531d7f1986d7102f1bd6733dacce41d3f3ba7d604f1aab61c63e0ba2ee62 SHA512 678faca95b3570f793754abfe752b3d3580ea125aac8615ca2a1fce92cd50e7919832afe7cf5d1cc40b700045fca08f86ea1697d062ac8e7be706d166e69ff70 WHIRLPOOL aed4e6922f556696568d299767aaa917b90007359bfa37919112cb74bb6e91bb823bba585ef9dd878fe289c401dcc5df897b303861e882e7b5d105b2515054db
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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;
|
||||
|
|
@ -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)) {
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
|
|
@ -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)) ||
|
||||
|
|
@ -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",
|
||||
|
|
@ -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;
|
||||
|
|
@ -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,
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
|
|
@ -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))
|
||||
/*
|
||||
|
|
@ -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;
|
||||
|
|
@ -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;
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -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;
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -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>
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -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
|
||||
|
||||
|
|
@ -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 */
|
||||
|
|
@ -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) &&
|
||||
|
|
@ -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));
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
@ -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)
|
||||
|
|
@ -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)
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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__ */
|
||||
|
|
@ -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__ */
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
@ -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,
|
||||
};
|
||||
|
|
@ -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 */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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 */
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
@ -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;
|
||||
|
|
@ -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
|
||||
|
|
@ -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);
|
||||
|
|
@ -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 */
|
||||
|
|
@ -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);
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
@ -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 */
|
||||
{ },
|
||||
};
|
||||
|
|
@ -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
|
||||
|
|
@ -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?=
|
||||
|
||||
|
|
@ -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
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
#}
|
||||
|
|
@ -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
|
||||
#}
|
||||
|
|
@ -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"
|
||||
|
|
@ -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*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue